{"id":1025,"name":"@commitlint/cli","ecosystem":"npm","repository_url":"https://github.com/conventional-changelog/commitlint","issues_count":9066,"created_at":"2025-06-06T15:01:39.830Z","updated_at":"2025-06-06T15:01:39.830Z","purl":"pkg:npm/@commitlint/cli","metadata":{"id":872312,"name":"@commitlint/cli","ecosystem":"npm","description":"Lint your commit messages","homepage":"https://commitlint.js.org/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/conventional-changelog/commitlint","keywords_array":["conventional-changelog","commitlint","cli"],"namespace":"commitlint","versions_count":146,"first_release_published_at":"2017-07-10T18:11:04.175Z","latest_release_published_at":"2025-05-08T03:55:34.368Z","latest_release_number":"19.8.1","last_synced_at":"2025-06-06T03:30:34.284Z","created_at":"2022-04-07T15:05:05.210Z","updated_at":"2025-06-06T03:30:34.284Z","registry_url":"https://www.npmjs.com/package/@commitlint/cli","install_command":"npm install @commitlint/cli","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"19.8.1"}},"repo_metadata":{"id":37422642,"uuid":"51575745","full_name":"conventional-changelog/commitlint","owner":"conventional-changelog","description":"📓 Lint commit messages","archived":false,"fork":false,"pushed_at":"2024-10-24T09:24:58.000Z","size":17851,"stargazers_count":16822,"open_issues_count":176,"forks_count":906,"subscribers_count":69,"default_branch":"master","last_synced_at":"2024-10-29T22:12:20.044Z","etag":null,"topics":["commit","conventions","git","lint"],"latest_commit_sha":null,"homepage":"https://commitlint.js.org","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/conventional-changelog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"license.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/support/releases.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-12T08:37:56.000Z","updated_at":"2024-10-29T21:58:25.000Z","dependencies_parsed_at":"2022-07-14T07:00:40.325Z","dependency_job_id":"8ff2e1ee-5456-4a7e-b1d9-8420bc31c4fc","html_url":"https://github.com/conventional-changelog/commitlint","commit_stats":{"total_commits":2325,"total_committers":214,"mean_commits":10.86448598130841,"dds":0.5483870967741935,"last_synced_commit":"3b8099e6be97e35587acc08da8b404118f426e25"},"previous_names":["marionebl/conventional-changelog-lint"],"tags_count":192,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/conventional-changelog","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222130572,"owners_count":16936299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"conventional-changelog","name":"conventional-changelog","uuid":"16443515","kind":"organization","description":"Tools to generate changelogs and release notes from a project's commit messages and metadata.","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16443515?v=4","repositories_count":12,"last_synced_at":"2024-03-25T20:05:25.442Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/conventional-changelog","funding_links":[],"total_stars":31480,"followers":325,"following":0,"created_at":"2022-11-02T16:25:21.572Z","updated_at":"2024-03-25T20:05:26.809Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/conventional-changelog","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/conventional-changelog/repositories"},"tags":[{"name":"v19.3.1","sha":"feefc483b1a0042cd8f33053c5612bf55a37c7a6","kind":"tag","published_at":"2024-05-13T11:15:05.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.3.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.3.1/manifests"},{"name":"v19.3.0","sha":"447fd3b415d11cce15ec1af3b948a2c97cfdd8f5","kind":"tag","published_at":"2024-04-23T02:40:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.3.0/manifests"},{"name":"v19.2.2","sha":"66dd3a5cc222d7378fa051c81ef9a2ec65e1f645","kind":"tag","published_at":"2024-04-14T08:03:04.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.2.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.2/manifests"},{"name":"v19.2.1","sha":"172cb52844cdb0dd1af5a47f0101c48320d90500","kind":"tag","published_at":"2024-03-19T02:23:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.1/manifests"},{"name":"v19.2.0","sha":"a64b417b58b3b1e89f07ff529a29a4af223e9369","kind":"tag","published_at":"2024-03-15T02:49:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.2.0/manifests"},{"name":"v19.1.0","sha":"8d7a3d5d49ab77733e166cb5f195b1b7f277b4a7","kind":"tag","published_at":"2024-03-12T05:19:24.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.1.0/manifests"},{"name":"v18.6.3","sha":"5bf618c7fea9f0b00c4a8546dece834b4a2335d3","kind":"tag","published_at":"2024-03-11T06:31:19.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.6.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.3/manifests"},{"name":"v19.0.3","sha":"9b4ac34069e06cd327760ce37adbde8d537d8e3e","kind":"tag","published_at":"2024-02-28T12:02:21.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.0.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.3/manifests"},{"name":"v19.0.2","sha":"e5389241cbf379040c79efbc73a94c37ace840f0","kind":"tag","published_at":"2024-02-28T09:02:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.2/manifests"},{"name":"v19.0.1","sha":"9351b8e1f4e9fc1ff45e55dabcd2d887ac2a8070","kind":"tag","published_at":"2024-02-27T17:13:06.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.1/manifests"},{"name":"v19.0.0","sha":"f1ff12159d627ee63bf8982ab02e6cca8f10b09f","kind":"tag","published_at":"2024-02-27T11:09:31.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v19.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v19.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v19.0.0/manifests"},{"name":"v18.6.2","sha":"93fa15ee545ba2b0e3b6b83ed947bd143662a74c","kind":"tag","published_at":"2024-02-14T09:48:00.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.6.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.2/manifests"},{"name":"v18.6.1","sha":"89f5bf91d1c11b1f457a6f0d99b8ea34583a9311","kind":"tag","published_at":"2024-02-13T08:49:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.6.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.1/manifests"},{"name":"v18.6.0","sha":"daa8b1baa8732b3f1f937d2453608d47b4952bff","kind":"tag","published_at":"2024-01-25T10:47:12.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.6.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.6.0/manifests"},{"name":"v18.5.1","sha":"5706af23ef4901d13f8c751df19214098404f44b","kind":"tag","published_at":"2024-01-22T15:16:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.5.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.5.1/manifests"},{"name":"v18.5.0","sha":"7886d8b254eb09548f695c6032c68e6342299804","kind":"tag","published_at":"2024-01-22T09:42:59.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.5.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.5.0/manifests"},{"name":"v18.4.4","sha":"ad2637f3cf23c5579e600950594e4d8d47d79864","kind":"tag","published_at":"2024-01-04T15:04:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.4.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.4/manifests"},{"name":"v18.4.3","sha":"970b806bdd338e8b3e4529f21f20e795e66cd48f","kind":"tag","published_at":"2023-11-21T02:38:37.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.4.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.3/manifests"},{"name":"v18.4.2","sha":"0370a855dcc026dda4dd29122f49ed7db5657de3","kind":"tag","published_at":"2023-11-16T04:25:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.4.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.2/manifests"},{"name":"v18.4.1","sha":"74b2f82803dedc1c3ea880878e9f27e1d4bd9be6","kind":"tag","published_at":"2023-11-12T04:02:02.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.4.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.1/manifests"},{"name":"v18.4.0","sha":"0546cd735eceada6470c9d5c544c7f5c450b87e3","kind":"tag","published_at":"2023-11-10T05:11:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.4.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.4.0/manifests"},{"name":"v18.3.0","sha":"6ae5ab6aad7b8ce98c2c1f35125a302a1dd1c99c","kind":"tag","published_at":"2023-10-26T08:52:55.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.3.0/manifests"},{"name":"v18.2.0","sha":"9b80b6edfb724f385100f660879df3b45ab276f4","kind":"tag","published_at":"2023-10-26T07:56:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.2.0/manifests"},{"name":"v18.1.0","sha":"ab46d5340928b2e32ccbec995c9fbdac47eff87c","kind":"tag","published_at":"2023-10-25T09:00:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.1.0/manifests"},{"name":"v18.0.0","sha":"3cb66472996a12caa969f941dccd84d07355fb83","kind":"tag","published_at":"2023-10-20T13:32:23.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v18.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v18.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v18.0.0/manifests"},{"name":"v17.8.1","sha":"75b2a1264ac699dbaead2249282b6dca18ae3008","kind":"tag","published_at":"2023-10-20T12:08:54.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.8.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.8.1/manifests"},{"name":"v17.8.0","sha":"786ecb4037d343251f43f25957af563907db2634","kind":"tag","published_at":"2023-10-14T12:17:47.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.8.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.8.0/manifests"},{"name":"v17.7.2","sha":"16f65a071ca0d4a42ac7e10f9c6695e4795946eb","kind":"tag","published_at":"2023-09-28T17:45:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.7.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.2/manifests"},{"name":"v17.7.1","sha":"b73c8b4f27752724275a27c03a985adeee18ac25","kind":"tag","published_at":"2023-08-10T05:34:19.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.7.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.1/manifests"},{"name":"v17.7.0","sha":"b12ec06a3a20b8c343ffcaa7fc354ea5bc53e9f2","kind":"tag","published_at":"2023-08-09T08:23:59.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.7.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.7.0/manifests"},{"name":"v17.6.7","sha":"a90ffe98bc4abe16a353f836927d2f8867797080","kind":"tag","published_at":"2023-07-19T05:23:46.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.7","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.7/manifests"},{"name":"v17.6.6","sha":"890a9318d36143f7fce80af6e169c2f1958f1aa5","kind":"tag","published_at":"2023-06-24T08:47:20.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.6","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.6/manifests"},{"name":"v17.6.5","sha":"af2f3a82d38ea0272578c8066565a0e6cf5810b0","kind":"tag","published_at":"2023-05-30T07:51:17.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.5/manifests"},{"name":"v17.6.4","sha":"eea8da802d3efb40df5182ed22add20231b19faa","kind":"tag","published_at":"2023-05-07T11:55:52.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.4/manifests"},{"name":"v17.6.3","sha":"79897098cc356387555f42c63e22c2810e5b61f6","kind":"tag","published_at":"2023-05-04T09:21:03.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.3/manifests"},{"name":"v17.6.2","sha":"ab8266ce7ae04b22b5795bf359330bd018b65729","kind":"tag","published_at":"2023-05-03T13:53:37.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.2/manifests"},{"name":"v17.6.1","sha":"5da1048f87abfdab8419df88a69d8fe60016e60f","kind":"tag","published_at":"2023-04-14T08:24:00.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.1/manifests"},{"name":"v17.6.0","sha":"28bc4c77072cea7e97187cb8cf7e138428ece6b6","kind":"tag","published_at":"2023-04-13T10:30:40.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.6.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.6.0/manifests"},{"name":"v17.5.1","sha":"18fbed7ea86ac0ec9d5449b4979b762ec4305a92","kind":"tag","published_at":"2023-03-28T08:29:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.5.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.5.1/manifests"},{"name":"v17.5.0","sha":"665fbe436b093939dfed8fc0256963ba1a32b426","kind":"tag","published_at":"2023-03-22T10:54:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.5.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.5.0/manifests"},{"name":"v17.4.4","sha":"1aeec3c9b2c21cb8f0386398c24d8e7ed6eafbf0","kind":"tag","published_at":"2023-02-17T15:34:13.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.4.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.4/manifests"},{"name":"v17.4.3","sha":"e3e477594d44f90f4177a767aa7e857f50ab9dc8","kind":"tag","published_at":"2023-02-13T10:35:28.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.4.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.3/manifests"},{"name":"v17.4.2","sha":"3c691ad507293db4ecb7ddd3559afca871c1e0bc","kind":"tag","published_at":"2023-01-12T14:36:58.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.4.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.2/manifests"},{"name":"v17.4.1","sha":"317d0444d69a08ea0b6ec2f69ec495a4010fa9d9","kind":"tag","published_at":"2023-01-09T11:26:17.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.4.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.1/manifests"},{"name":"v17.4.0","sha":"7b0f7e805818944ab9fa42c52b6858211bbf2a66","kind":"tag","published_at":"2023-01-04T09:28:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.4.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.4.0/manifests"},{"name":"v17.3.0","sha":"618aee50a953ab06e736d985009f7182bd1a8ae1","kind":"tag","published_at":"2022-11-21T15:09:07.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.3.0/manifests"},{"name":"v17.2.1","sha":"9f74bfd48006d3d71e77c0a45a241f7aceaff159","kind":"tag","published_at":"2022-11-01T07:51:58.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.2.1/manifests"},{"name":"v17.2.0","sha":"a2fab85ec0668b112f43073c766a2a8545a55497","kind":"tag","published_at":"2022-10-31T15:01:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.2.0/manifests"},{"name":"v17.1.2","sha":"d218e5ba5ebbe3992df5d989a26f7e0df59cbb3b","kind":"tag","published_at":"2022-08-29T07:52:53.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.2/manifests"},{"name":"v17.1.1","sha":"a294222f48d808855cacefdf46f0e5f8b8ec0a6b","kind":"tag","published_at":"2022-08-27T07:55:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.1/manifests"},{"name":"v17.1.0","sha":"a2c25b93e34d37a950609fa4606849a55a1826b4","kind":"tag","published_at":"2022-08-27T06:25:08.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.1.0/manifests"},{"name":"v17.0.3","sha":"234e762ccfb4c89456dcfb050405a723ae762076","kind":"tag","published_at":"2022-06-25T06:36:56.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.0.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.3/manifests"},{"name":"v17.0.2","sha":"ab71044239cb7c451553e12b43f62e2f079f4da7","kind":"tag","published_at":"2022-06-01T01:56:47.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.2/manifests"},{"name":"v17.0.1","sha":"b0bc456903a9e74d0b0db1028b5265a8bf01d26f","kind":"tag","published_at":"2022-05-25T05:51:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.1/manifests"},{"name":"v17.0.0","sha":"ed437d29464ab1b239deecb84ce4d1f2a5e471c6","kind":"tag","published_at":"2022-05-16T10:31:45.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v17.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v17.0.0/manifests"},{"name":"v16.3.0","sha":"211f5140ab20c0513478d04b83fbd78ff3f6da80","kind":"tag","published_at":"2022-05-14T08:23:12.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.3.0/manifests"},{"name":"v16.2.4","sha":"62dd082f8f40c9d64ab76ef72ca8c03a3e219426","kind":"tag","published_at":"2022-04-28T01:49:45.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.2.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.4/manifests"},{"name":"v16.2.3","sha":"9128c3d5c9c9fedfb9969cc9ba4d38bdd883642f","kind":"tag","published_at":"2022-03-16T03:47:15.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.2.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.3/manifests"},{"name":"v16.2.2","sha":"010f6a0a1be35b16b45530f7735d93b3e5f16b83","kind":"tag","published_at":"2022-02-14T03:41:31.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.2.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.2/manifests"},{"name":"v16.2.1","sha":"071cce297f207ebcaf9cfa00e23542b7e0a550e8","kind":"tag","published_at":"2022-02-13T06:45:28.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.1/manifests"},{"name":"v16.2.0","sha":"66f722acb44482ac9e8409126215f2f42e930925","kind":"tag","published_at":"2022-01-25T04:20:34.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.2.0/manifests"},{"name":"v16.1.0","sha":"ddc727aeaa9a2b962abf30311687897596eff177","kind":"tag","published_at":"2022-01-20T07:21:09.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.1.0/manifests"},{"name":"v16.0.3","sha":"0a0848d2d44d28b1d1d350102546823b51070790","kind":"tag","published_at":"2022-01-19T10:46:16.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.0.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.3/manifests"},{"name":"v16.0.2","sha":"c07efe0b98e9e497792d0a3dcf1fe11e5a872212","kind":"tag","published_at":"2022-01-09T06:02:52.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.2/manifests"},{"name":"v16.0.1","sha":"69392f5a7770336489b63f101965bace4d4168f8","kind":"tag","published_at":"2021-12-28T06:03:57.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.1/manifests"},{"name":"v16.0.0","sha":"a6bacf60d7dccf969677cdef48fd22f8a92b5f08","kind":"tag","published_at":"2021-12-26T06:55:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v16.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v16.0.0/manifests"},{"name":"v15.0.0","sha":"399a0289356c670a87524387cc96d8fb0a33fdca","kind":"tag","published_at":"2021-11-17T06:51:46.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v15.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v15.0.0/manifests"},{"name":"v8.3.6","sha":"9ef77c205ce9338850b15374fd003f2052211803","kind":"tag","published_at":"2021-11-17T06:34:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.6","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.6/manifests"},{"name":"v14.2.0","sha":"bcbc9bfdf4cd892bff437a2b4f3ccbd5c4cb71c2","kind":"tag","published_at":"2021-11-06T05:37:22.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v14.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v14.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.2.0/manifests"},{"name":"v14.1.0","sha":"3882bd1680197f0ec4c40e4c9955911e20647488","kind":"tag","published_at":"2021-11-01T06:19:05.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v14.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v14.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.1.0/manifests"},{"name":"v14.0.0","sha":"0bb3487f8ca0cd8e67977c089f65037ea2c7788b","kind":"tag","published_at":"2021-10-26T04:55:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v14.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v14.0.0/manifests"},{"name":"v13.2.1","sha":"b2a552a9693cb27dd291f61ea736e0dd5c02a20f","kind":"tag","published_at":"2021-10-09T09:06:27.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v13.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v13.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.2.1/manifests"},{"name":"v13.2.0","sha":"65e45339c79e46d01e35ec067edf14d225a3528a","kind":"tag","published_at":"2021-09-28T02:12:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v13.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v13.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.2.0/manifests"},{"name":"v13.1.0","sha":"dfbb8c5e9481a5075458acad2e4666fd6b98f9a7","kind":"tag","published_at":"2021-07-24T06:54:54.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v13.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v13.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.1.0/manifests"},{"name":"v13.0.0","sha":"ca0ddf736a495fe6868cb9b4c43ae65476a5a6bf","kind":"tag","published_at":"2021-05-24T07:42:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v13.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v13.0.0/manifests"},{"name":"v12.1.4","sha":"dd15ea6a27f29f232b183acafdb672e9b3586912","kind":"tag","published_at":"2021-05-13T04:22:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.1.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.4/manifests"},{"name":"v12.1.3","sha":"81358f98b397b52250f118835cdcb5acebab2aba","kind":"tag","published_at":"2021-05-12T07:48:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.3/manifests"},{"name":"v12.1.2","sha":"9c6c793f63bb9c812a27721f9f13dc68e6c482f8","kind":"tag","published_at":"2021-04-29T06:13:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.2/manifests"},{"name":"v12.1.1","sha":"32daec2277f3db2855996db57264bed36ed5db21","kind":"tag","published_at":"2021-04-02T02:24:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.1/manifests"},{"name":"v12.1.0","sha":"70f7f4688b51774e7ac5e40e896cdaa3f132b2bc","kind":"tag","published_at":"2021-03-06T07:14:06.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.1.0/manifests"},{"name":"v12.0.1","sha":"610d2911bea066c87700155de3bf5bbecf266a8d","kind":"tag","published_at":"2021-02-23T02:15:20.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.0.1/manifests"},{"name":"v12.0.0","sha":"d829bf6260304ca8d6811f329fcdd1b6c50e9749","kind":"tag","published_at":"2021-01-18T01:56:48.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v12.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v12.0.0/manifests"},{"name":"v11.0.0","sha":"922317463f7c90c0fb319e075de533dd63343863","kind":"tag","published_at":"2020-09-05T06:00:39.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v11.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v11.0.0/manifests"},{"name":"v10.0.0","sha":"3982e5a6bf0c28e4b1109e8516d7fdcfad411eac","kind":"tag","published_at":"2020-08-16T06:35:50.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v10.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v10.0.0/manifests"},{"name":"v9.1.2","sha":"41d4f5851508be1421bd23e0424cacf043bc6a88","kind":"tag","published_at":"2020-07-13T03:45:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v9.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v9.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.2/manifests"},{"name":"v9.1.1","sha":"cb565dfcca3128380b9b3dc274aedbcae34ce5ca","kind":"tag","published_at":"2020-06-30T07:20:56.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v9.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.1/manifests"},{"name":"v9.1.0","sha":"c9f5c5cb3f995362c760308f114b6319c0e55ce3","kind":"tag","published_at":"2020-06-21T07:36:16.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v9.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.1.0/manifests"},{"name":"v9.0.1","sha":"7ff3f2902bcaa8b93b653a0af25c811d12ae0dc1","kind":"tag","published_at":"2020-05-26T04:22:39.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v9.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.0.1/manifests"},{"name":"v9.0.0","sha":"71f0194f33943954a8dac1c458be47e5049717cd","kind":"tag","published_at":"2020-05-21T09:21:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v9.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v9.0.0/manifests"},{"name":"v8.3.5","sha":"b39e1ade668e1560cdebc94c4fe18a6dba5e5dda","kind":"tag","published_at":"2020-01-15T15:33:20.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.5/manifests"},{"name":"v8.3.4","sha":"3fce33999e1e5f23b15545f1c6f3e7bd78e8d37b","kind":"tag","published_at":"2020-01-03T18:57:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.4/manifests"},{"name":"v8.3.3","sha":"9a1dd6fc3d08a6295b21e767ef54fd2182d962d6","kind":"tag","published_at":"2019-10-22T21:46:39.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.3/manifests"},{"name":"v8.3.2","sha":"0382070379cfc841da8dc57718d232d1649dac6f","kind":"tag","published_at":"2019-10-22T20:20:26.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.2/manifests"},{"name":"v8.3.1","sha":"fbf23899463abc4d87bfa9bc0b04790de693fd33","kind":"tag","published_at":"2019-10-16T21:38:04.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.1/manifests"},{"name":"v8.3.0","sha":"e2edc43219f5005cee5222133859bb0e839c4a05","kind":"tag","published_at":"2019-10-16T19:56:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.3.0/manifests"},{"name":"v8.2.0","sha":"78ef64994b33aa00668831c0bef11ddec75b74f0","kind":"tag","published_at":"2019-09-16T20:05:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.2.0/manifests"},{"name":"v8.1.0","sha":"c17420d67adafdf37f68d6861d29a0e85a4a3bd7","kind":"tag","published_at":"2019-07-15T18:49:21.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.1.0/manifests"},{"name":"v8.0.0","sha":"29d1cee10ee7734a85d97ef039c4ce2da633628c","kind":"tag","published_at":"2019-05-24T08:06:10.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v8.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v8.0.0/manifests"},{"name":"v7.6.1","sha":"dc5619dea62b7b8ac72dc7758d70b684e010557b","kind":"tag","published_at":"2019-05-09T12:24:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.6.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.6.1/manifests"},{"name":"v7.6.0","sha":"8dbad63291eda6780675e3540a6cc8c784eacc0c","kind":"tag","published_at":"2019-05-06T23:24:57.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.6.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.6.0/manifests"},{"name":"v7.5.2","sha":"d0507bd15b9f1eeeb209d60f02f20bbe0184d0ce","kind":"tag","published_at":"2019-02-11T22:43:41.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.5.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.2/manifests"},{"name":"v7.5.1","sha":"b9d06522a2611c5a7405938a3b5216a1de963c7b","kind":"tag","published_at":"2019-02-09T13:31:08.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.5.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.1/manifests"},{"name":"v7.5.0","sha":"be3947282fa31ee5a65cf100cac2d4eea3767952","kind":"tag","published_at":"2019-01-31T21:04:29.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.5.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.5.0/manifests"},{"name":"v7.4.0","sha":"058e83a45fc7d6bc03541028755a95236df3ef8c","kind":"tag","published_at":"2019-01-27T18:46:32.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.4.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.4.0/manifests"},{"name":"v7.3.2","sha":"f7866f32f3519801ae7acc968814a894fc5e70a0","kind":"tag","published_at":"2019-01-15T10:33:59.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.3.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.2/manifests"},{"name":"v7.3.1","sha":"a4810ea8963b5fa4ffa2036844946786248aeadd","kind":"tag","published_at":"2019-01-11T16:05:13.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.3.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.1/manifests"},{"name":"v7.3.0","sha":"35f2bbe388edc7ba30e39e95094dc34019697f7a","kind":"tag","published_at":"2019-01-11T15:57:21.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.3.0/manifests"},{"name":"v7.2.1","sha":"65a9b3e27668ba138ca78273d2e7a9bf0e286793","kind":"tag","published_at":"2018-10-11T18:49:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.2.1/manifests"},{"name":"v7.2.0","sha":"0cf1473d5b8a22c9fdd088c9051a80e025259c8f","kind":"tag","published_at":"2018-10-05T12:06:12.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.2.0/manifests"},{"name":"v7.1.2","sha":"ed2dc7f314dcd46edf6842532e537d370ab9b89a","kind":"tag","published_at":"2018-09-04T22:08:03.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.2/manifests"},{"name":"v7.1.1","sha":"8436a0616a19d06276c2a74551333aa28cefb515","kind":"tag","published_at":"2018-08-29T13:09:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.1/manifests"},{"name":"v7.1.0","sha":"bd5bd48a4e1a1508e2a8e3ca67badadee45c4dee","kind":"tag","published_at":"2018-08-29T08:54:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.1.0/manifests"},{"name":"v7.0.1","sha":"d636811b4537904231c483a05e91aaf96deb7f6e","kind":"tag","published_at":"2018-06-02T21:26:45.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"e5cb1b6525265be3a55daa0f9240e5f30e07732e","kind":"tag","published_at":"2018-06-02T12:42:49.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v7.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v7.0.0/manifests"},{"name":"v6.2.0","sha":"1e049021eb8f7550fa48a6e8cdd0348227273a39","kind":"tag","published_at":"2018-05-01T16:27:06.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.2.0/manifests"},{"name":"v6.1.3","sha":"8b00d72356621edcabe227bd902340285d824a3e","kind":"tag","published_at":"2018-03-02T14:54:19.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.3/manifests"},{"name":"v6.1.2","sha":"f5922069068ab189123e834f89cd2de640527582","kind":"tag","published_at":"2018-02-22T21:21:34.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.2/manifests"},{"name":"v6.1.1","sha":"b45e25f9bfd7effe2bd0de5b0e97a0767c0f23fd","kind":"tag","published_at":"2018-02-22T21:14:31.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.1/manifests"},{"name":"v6.1.0","sha":"8dbab0cb9cd2e3e06b8cc39740223dc9e8c9c77b","kind":"tag","published_at":"2018-02-03T11:52:45.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.1.0/manifests"},{"name":"v6.0.5","sha":"a46c8981a3b90971b2c741d488900f458b1d045e","kind":"tag","published_at":"2018-01-31T19:56:57.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.5/manifests"},{"name":"v6.0.4","sha":"ce05c39eebe519acb6522ff57da8033109baae7c","kind":"tag","published_at":"2018-01-31T19:47:50.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.4/manifests"},{"name":"v6.0.3","sha":"820c6c23715d26c4841418c149f0ea56fcb3818a","kind":"tag","published_at":"2018-01-31T18:11:28.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.3/manifests"},{"name":"v6.0.2","sha":"a40b6a8afb3a6e2082464278dbaebff677d14972","kind":"tag","published_at":"2018-01-12T08:47:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.2/manifests"},{"name":"v6.0.1","sha":"5a06c80b54d65b9589165331a8316ec23c71bb1f","kind":"tag","published_at":"2018-01-09T18:40:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.1/manifests"},{"name":"v6.0.0","sha":"19a18628f0010b3a46370e40313e7ef4b919b4f7","kind":"tag","published_at":"2018-01-09T18:29:26.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v6.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v6.0.0/manifests"},{"name":"v5.2.8","sha":"2d347c78f7a8981adb736623902c61c7c6310dfc","kind":"tag","published_at":"2017-12-26T19:00:13.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.8","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.8/manifests"},{"name":"v5.2.7","sha":"03c73882ef489ec888e684ecf144adf3cbddca9b","kind":"tag","published_at":"2017-12-26T18:55:50.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.7","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.7/manifests"},{"name":"v5.3.0-1","sha":"0837022e12f6ccc42664c261d254df005ea1d82d","kind":"tag","published_at":"2017-12-23T20:12:24.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.3.0-1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.3.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.3.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.3.0-1/manifests"},{"name":"v5.2.6","sha":"090c63f7411c52946abe323cd41af1390d99e140","kind":"tag","published_at":"2017-12-21T19:46:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.6","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.6/manifests"},{"name":"v5.2.5","sha":"6c4bf7939ba13512a4e6842ea982a4364c2c5596","kind":"tag","published_at":"2017-12-08T19:20:46.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.5/manifests"},{"name":"v5.2.4","sha":"8a44247343f6e166396f01308624d5d1c49a4521","kind":"tag","published_at":"2017-12-08T18:36:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.4/manifests"},{"name":"v5.2.3","sha":"2027526bce30e831476cc6e1e837b9393680517c","kind":"tag","published_at":"2017-12-05T13:42:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.3/manifests"},{"name":"v5.3.0-0","sha":"c7613ab8e78f003ddddaed6fddae48c4013f931f","kind":"tag","published_at":"2017-12-04T11:12:52.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.3.0-0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.3.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.3.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.3.0-0/manifests"},{"name":"v5.2.2","sha":"ea33884c624997af0d7e239783af9016e242b15a","kind":"tag","published_at":"2017-11-30T09:47:17.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.2/manifests"},{"name":"v5.2.1","sha":"da23140d775c5b8da933d08098712bbf2ba0c697","kind":"tag","published_at":"2017-11-30T08:57:56.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.1/manifests"},{"name":"v5.2.0","sha":"68ddfdd505f4ecc16b7089d7b62f4a5a68056f37","kind":"tag","published_at":"2017-11-30T08:34:13.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.2.0/manifests"},{"name":"v5.1.3","sha":"788bb80fe29628a02fa79ff98a81ec095db70ebf","kind":"tag","published_at":"2017-11-24T19:37:04.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.3/manifests"},{"name":"v5.1.2","sha":"0e10fe17d493d90e48c057a30fb9bf007f7ad58f","kind":"tag","published_at":"2017-11-24T16:42:39.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.2/manifests"},{"name":"v5.1.1","sha":"e08a3ce65aa10907f7c23a8d31d48a0c32da023c","kind":"tag","published_at":"2017-11-24T16:00:28.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"3a23426c6a8c1c9c8d10c1c0a74d0571407472a8","kind":"tag","published_at":"2017-11-24T15:55:42.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.1.0/manifests"},{"name":"v5.0.2","sha":"6f60f985c9971227fc87631dd4bb15536e95bf3f","kind":"commit","published_at":"2017-11-20T10:37:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.2/manifests"},{"name":"v5.0.1","sha":"6047966c46dd564f739ecd03dbf7ad79e6e833fa","kind":"tag","published_at":"2017-11-19T11:08:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.1/manifests"},{"name":"v5.0.0","sha":"25381b681b2bbaf054ab0638dcb6f06f41e4aaee","kind":"tag","published_at":"2017-11-18T16:13:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v5.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v5.0.0/manifests"},{"name":"v4.3.0","sha":"e2a49f6575555403858adc211e912b1fea9a2155","kind":"tag","published_at":"2017-11-08T20:26:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.3.0/manifests"},{"name":"v4.2.2","sha":"504bca28484bb3f837033daeedf50280c355aad7","kind":"tag","published_at":"2017-10-26T19:37:11.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.2.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.2/manifests"},{"name":"v4.2.1","sha":"310bdfa06068ee570456958006f775535043bae8","kind":"tag","published_at":"2017-10-18T20:52:52.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.2.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"ce4f7f9f08b4838ce1cbf2daca9a25393a0502d8","kind":"tag","published_at":"2017-10-14T09:40:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.2.0/manifests"},{"name":"v4.1.1","sha":"d60d9f8ffa107a7bc586aab7d25188c10f0695ef","kind":"tag","published_at":"2017-10-09T11:27:14.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"54318995b4d2089f76f67795d128b55f288e7071","kind":"tag","published_at":"2017-10-05T07:03:08.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"87d10361591e22a13b170b2b7e3982271d5f7e96","kind":"tag","published_at":"2017-10-04T18:46:22.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v4.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"e6ef0721a230b90fc17955b33983c8bea2767d7f","kind":"tag","published_at":"2017-09-05T09:16:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.2.0/manifests"},{"name":"v3.1.3","sha":"a077d8dacff355cca5ef08d71005e3b4fda8f7cb","kind":"tag","published_at":"2017-08-21T20:35:18.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.3/manifests"},{"name":"v3.1.2","sha":"fd56dff98926a730292053c4bf61f1064dc53b01","kind":"tag","published_at":"2017-08-07T10:28:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"0b3a5172856fc9143d77629aa3519439a26d71cc","kind":"tag","published_at":"2017-08-07T06:30:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.1.1/manifests"},{"name":"v3.0.4","sha":"407cc4c898e2a4b5ab326fafabfe0913288ee0cb","kind":"tag","published_at":"2017-08-04T06:13:58.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.0.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"ff1eff988185c7bfbee3ba483e01c9f8fb08814f","kind":"tag","published_at":"2017-07-16T21:55:57.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.0.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"3acafdf557ae909b5dbbd9cdd7310fed5f93b797","kind":"tag","published_at":"2017-07-11T09:14:51.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.0.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"5a41f163eddfd2060b4fb3b1c9d1fa71d80f150d","kind":"tag","published_at":"2017-07-11T07:20:50.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v3.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v3.0.1/manifests"},{"name":"v2.1.1","sha":"4e9a27e4eca6448b39193c16a7a7b6859d126df2","kind":"tag","published_at":"2017-07-10T17:14:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v2.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"c4ef5093613516bbbef16414927c3a3b9a52f5b7","kind":"tag","published_at":"2017-07-07T13:29:10.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v2.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"8f5eec0c713a39ed5928b838f186979b03fe79ed","kind":"tag","published_at":"2017-07-07T13:19:34.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v2.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v2.0.0/manifests"},{"name":"v1.1.10","sha":"627189fb62b22f81d4ef07718891cd878ec55d91","kind":"tag","published_at":"2017-07-07T13:06:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.10","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.10/manifests"},{"name":"v1.1.9","sha":"4659146f59c1e291e750ce6085c20987efe0b3d5","kind":"tag","published_at":"2017-04-05T16:32:34.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.9","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.9/manifests"},{"name":"v1.1.8","sha":"89afc0116d10dd65b8b8c68ea4d1254171862ed6","kind":"tag","published_at":"2017-03-31T11:50:42.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.8","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.8/manifests"},{"name":"v1.1.7","sha":"dcf27749519ce1b504116989a2f62b0adcb4c2f6","kind":"tag","published_at":"2017-03-12T21:26:26.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.7","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.7/manifests"},{"name":"v1.1.6","sha":"70f3ed757f648b672bd8608c7e0478a7653fac33","kind":"tag","published_at":"2017-03-12T21:21:35.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.6","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"f6a136171c072341c9b6a7f86fa159daec5b8b22","kind":"tag","published_at":"2017-03-12T21:18:24.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"9c6e0f4070d3797dc52e8c44dd7e9cab176ca468","kind":"tag","published_at":"2017-03-12T21:06:04.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"94a131854e243488f78d43966e78cea861923a73","kind":"tag","published_at":"2017-03-12T18:59:40.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"ee447ad015304d328ed2de270f382e02b2e73b10","kind":"tag","published_at":"2017-03-10T16:28:47.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"9271368eee6e95044d4f92385b21047ee2c8e679","kind":"tag","published_at":"2017-03-03T16:53:03.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"05c1f61abf860c39113b9bb8f9b1916e25b3c3b5","kind":"tag","published_at":"2016-11-01T19:13:42.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"875a77d66cf09f8106fc348e85b8a6ddcbcfa55d","kind":"tag","published_at":"2016-08-15T17:01:52.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.0.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"40583dd4ca5e706b8cbd2d1baa6a42c86358fe8a","kind":"tag","published_at":"2016-06-20T20:57:34.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v1.0.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v1.0.0/manifests"},{"name":"v0.3.4","sha":"ac29c8e4ca7caa1ddb2c21dbd8d83c8b6f70daf6","kind":"tag","published_at":"2016-04-15T09:44:13.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.3.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"ff37b34ee4ce10251c91e8a22fd82a01b04f146c","kind":"tag","published_at":"2016-03-03T10:54:43.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.3.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"6bc1f4f77fc6f7cb16d6cb3da6cf191472d5abd9","kind":"tag","published_at":"2016-03-03T10:49:59.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.3.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"3c33d9e7b53265c519ad976a296b3997e4702940","kind":"tag","published_at":"2016-02-25T16:23:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.3.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"22ac3de2e0cb1fae23e11d5ecb1fcb6ff5375446","kind":"tag","published_at":"2016-02-25T15:18:02.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.3.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"343d532a9349282169406f348269007a14e53a95","kind":"tag","published_at":"2016-02-25T10:55:44.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.2.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.2.0/manifests"},{"name":"v0.1.10","sha":"6e10a456cbc31f7b3002430fb24c3a29e0d6b400","kind":"tag","published_at":"2016-02-24T13:00:15.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.10","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.10/manifests"},{"name":"v0.1.9","sha":"199101d7e2f6905100c0d614e9f028149ab3bebc","kind":"tag","published_at":"2016-02-22T13:29:55.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.9","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"d507baa864aae6d8e8b8be6bb6dd65c1ac31f997","kind":"tag","published_at":"2016-02-22T11:00:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.8","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"d1a54ea5b2e5c3e9ea7b08eed94b1d718f59cc77","kind":"tag","published_at":"2016-02-14T15:45:23.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.7","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"5dcc922799a6cdb634556fabcadaf3dd5a0b8b9c","kind":"tag","published_at":"2016-02-14T15:32:38.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.6","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"065288ce79b9fd88a321418cc1c72994674f8b07","kind":"tag","published_at":"2016-02-14T15:07:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.5","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"5df94975d3c0eb1e825efef1353bf7260669b5f4","kind":"tag","published_at":"2016-02-14T14:12:26.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.4","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.4/manifests"},{"name":"v","sha":"5d3c2198b2840f75d395bbe271bf253f9d0b5692","kind":"commit","published_at":"2016-02-14T14:10:01.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v/manifests"},{"name":"v0.1.3","sha":"fb7d3a9fb16dd80021224b054e9c37503094876a","kind":"tag","published_at":"2016-02-14T14:06:29.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.3","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"6e14a354f2d9814472f86cb23b6d523c66cb0897","kind":"tag","published_at":"2016-02-14T14:04:30.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.2","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"ec6fa1c90300047c3991a5545d3980164f745679","kind":"tag","published_at":"2016-02-14T13:58:04.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.1","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"b4cee2177a36daf5407938135983c9e808ec9a10","kind":"tag","published_at":"2016-02-14T13:51:33.000Z","download_url":"https://codeload.github.com/conventional-changelog/commitlint/tar.gz/v0.1.0","html_url":"https://github.com/conventional-changelog/commitlint/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conventional-changelog%2Fcommitlint/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:54:51.870Z","dependent_packages_count":30958,"downloads":18635428,"downloads_period":"last-month","dependent_repos_count":173254,"rankings":{"downloads":0.09125480928829527,"dependent_repos_count":0.08363359124638885,"dependent_packages_count":0.0036250737502700964,"stargazers_count":0.8618826920425635,"forks_count":1.3339700523238007,"docker_downloads_count":0.2103399091790578,"average":0.43078435463839604},"purl":"pkg:npm/%40commitlint/cli","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@commitlint/cli","docker_dependents_count":543,"docker_downloads_count":75049992,"usage_url":"https://repos.ecosyste.ms/usage/npm/@commitlint/cli","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@commitlint/cli/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@commitlint%2Fcli/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@commitlint%2Fcli/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@commitlint%2Fcli/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@commitlint%2Fcli/related_packages","maintainers":[{"uuid":"marionebl","login":"marionebl","name":null,"email":"hello@mario-nebl.de","url":null,"packages_count":310,"html_url":"https://www.npmjs.com/~marionebl","role":null,"created_at":"2022-11-10T10:49:49.554Z","updated_at":"2022-11-10T10:49:49.554Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/marionebl/packages"},{"uuid":"bycedric","login":"bycedric","name":null,"email":"me@bycedric.com","url":null,"packages_count":573,"html_url":"https://www.npmjs.com/~bycedric","role":null,"created_at":"2022-11-10T10:49:49.562Z","updated_at":"2022-11-10T10:49:49.562Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/bycedric/packages"},{"uuid":"martinhelmut","login":"martinhelmut","name":null,"email":"info@martin-fieber.se","url":null,"packages_count":44,"html_url":"https://www.npmjs.com/~martinhelmut","role":null,"created_at":"2022-11-10T10:49:49.557Z","updated_at":"2022-11-10T10:49:49.557Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/martinhelmut/packages"},{"uuid":"escapedcat","login":"escapedcat","name":null,"email":"npm@htmlcss.de","url":null,"packages_count":56,"html_url":"https://www.npmjs.com/~escapedcat","role":null,"created_at":"2022-11-10T10:49:49.560Z","updated_at":"2022-11-10T10:49:49.560Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/escapedcat/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5006534,"maintainers_count":1012930,"namespaces_count":295512,"keywords_count":700181,"github":"npm","metadata":{"funded_packages_count":150239},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-06T05:58:05.971Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},"unique_repositories_count":3385,"unique_repositories_count_past_30_days":249,"recent_issues":[{"uuid":"4609241248","node_id":"PR_kwDOLF4Whs7jtyrD","number":66,"state":"open","title":"chore(deps-dev): bump the dev-deps group with 6 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["agrawal-rohit"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:34:47.000Z","updated_at":"2026-06-08T00:36:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-deps","update_count":6,"packages":[{"name":"@tailwindcss/vite","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tailwindcss","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tsdown","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-deps group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.2` | `4.3.0` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.3.0` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.1` |\n\nUpdates `@tailwindcss/vite` from 4.2.2 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-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\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5cb1efdf416a6d37012d31cc1306c41cb35bbdc1\"\u003e\u003ccode\u003e5cb1efd\u003c/code\u003e\u003c/a\u003e fix(vite): resolve tsconfig paths in CSS and JS resolvers (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\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.2 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59936c6cbb69eae114bc52d0a3c9315b18c70a94\"\u003e\u003ccode\u003e59936c6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/90a2373620200bf7e04d1d228a0d0a1c506e532a\"\u003e\u003ccode\u003e90a2373\u003c/code\u003e\u003c/a\u003e add \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e1ccf7f115732032d2b079073dcb0009baf82a0\"\u003e\u003ccode\u003e2e1ccf7\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/754e7512ca51db1f922dc67724cf85a0fde923a9\"\u003e\u003ccode\u003e754e751\u003c/code\u003e\u003c/a\u003e Use non-existing example in tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20021\"\u003e#20021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8c779899bbc94f9f642db47cafdd363dd094984a\"\u003e\u003ccode\u003e8c77989\u003c/code\u003e\u003c/a\u003e Ensure math operators are surrounded by whitespace in arbitrary values (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/b4db3b99d1bc6209a936df34914e0fc34b3e5095\"\u003e\u003ccode\u003eb4db3b9\u003c/code\u003e\u003c/a\u003e Add scrollbar-width and scrollbar-color utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19981\"\u003e#19981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/08cad84bbe2002398655d7f981eae47379e07fc3\"\u003e\u003ccode\u003e08cad84\u003c/code\u003e\u003c/a\u003e Support \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e to support fallbac...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsdown` from 0.22.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rolldown/tsdown/releases\"\u003etsdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edts\u003c/strong\u003e: Add \u003ccode\u003edeps.dts\u003c/code\u003e option to override dependency bundling for declaration files  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/881bf0d\"\u003e\u003c!-- raw HTML omitted --\u003e(881bf)\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\u003eImprove error handling for unsupported TypeScript syntax on Node.js  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/b93db6d\"\u003e\u003c!-- raw HTML omitted --\u003e(b93db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd extra space for emoji rendering in Windows Terminal  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/925cc87\"\u003e\u003c!-- raw HTML omitted --\u003e(925cc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eunbundle\u003c/strong\u003e: Add shims support for unbundled builds  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/fc9913d\"\u003e\u003c!-- raw HTML omitted --\u003e(fc991)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/rolldown/tsdown/compare/v0.22.0...v0.22.1\"\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/rolldown/tsdown/commit/0bddff16b6eabf64bd60f8ea5cebf988f9e1aa4d\"\u003e\u003ccode\u003e0bddff1\u003c/code\u003e\u003c/a\u003e chore: release v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/fc9913da92a79cb9ff6ffc1742d58e1991041959\"\u003e\u003ccode\u003efc9913d\u003c/code\u003e\u003c/a\u003e fix(unbundle): add shims support for unbundled builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/35041716a64ce3c49bbde31a4b2cd16c9b202e58\"\u003e\u003ccode\u003e3504171\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/881bf0d831f9774bdc4553af891c58e0d42e3bbc\"\u003e\u003ccode\u003e881bf0d\u003c/code\u003e\u003c/a\u003e feat(dts): add \u003ccode\u003edeps.dts\u003c/code\u003e option to override dependency bundling for declarat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/937f2535866cb3cf72b3de2b195ba20a167b0ecb\"\u003e\u003ccode\u003e937f253\u003c/code\u003e\u003c/a\u003e ci: use \u003ccode\u003eactionspack\u003c/code\u003e to bundle workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/6c92bcdd7594c94588bc81df9b400db400c9589c\"\u003e\u003ccode\u003e6c92bcd\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/6ac0214f55a1e518e293cf2796eda594d620d3a9\"\u003e\u003ccode\u003e6ac0214\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/5d6b0544711fbaf1f60b285ed4aa5208d922b25a\"\u003e\u003ccode\u003e5d6b054\u003c/code\u003e\u003c/a\u003e refactor: tsup \u003ccode\u003eoutExtension\u003c/code\u003e migration compatibility (\u003ca href=\"https://redirect.github.com/rolldown/tsdown/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/d424e0890d75245a8e8b8e067f8d15d8100a34eb\"\u003e\u003ccode\u003ed424e08\u003c/code\u003e\u003c/a\u003e docs: remove dts.cjsReexport and clarify Node.js requirement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/27dee935a0efe506d8dc72bb038190278ac75f95\"\u003e\u003ccode\u003e27dee93\u003c/code\u003e\u003c/a\u003e docs: clarify dts.cjsReexport outDir limitation and CJS maintenance status\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rolldown/tsdown/compare/v0.22.0...v0.22.1\"\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/agrawal-rohit/react-animated-waves/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrawal-rohit%2Freact-animated-waves/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"},{"uuid":"4609216524","node_id":"PR_kwDOO2Y8vc7jttqL","number":45,"state":"open","title":"deps: bump the pnpm-workspace group across 1 directory with 38 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:25:59.000Z","updated_at":"2026-06-08T00:27:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"pnpm-workspace","update_count":38,"packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"dependency-cruiser","old_version":"17.4.0","new_version":"17.4.3","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"knip","old_version":"6.11.0","new_version":"6.16.1","repository_url":"https://github.com/webpro-nl/knip"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@aws-sdk/client-s3","old_version":"3.1042.0","new_version":"3.1063.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.1042.0","new_version":"3.1063.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@nestjs/common","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-express","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-socket.io","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/swagger","old_version":"11.4.2","new_version":"11.4.4","repository_url":"https://github.com/nestjs/swagger"},{"name":"@nestjs/websockets","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"fit-file-parser","old_version":"2.3.3","new_version":"3.0.2","repository_url":"https://github.com/jimmykane/fit-parser"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"@nestjs/testing","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@swc/core","old_version":"1.15.33","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@radix-ui/react-select","old_version":"2.2.6","new_version":"2.3.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@tanstack/react-query","old_version":"5.100.9","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"lucide-react","old_version":"1.14.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"radix-ui","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"react","old_version":"19.2.5","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.5","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-router-dom","old_version":"7.14.2","new_version":"7.17.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"@tailwindcss/vite","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"shadcn","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"tailwindcss","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"framer-motion","old_version":"12.38.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"}],"path":null,"ecosystem":"npm"},"body":"Bumps the pnpm-workspace group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.5.3` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.0.2` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `17.4.0` | `17.4.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.11.0` | `6.16.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.60.1` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.1042.0` | `3.1063.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.1042.0` | `3.1063.0` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.19` | `11.1.24` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.19` | `11.1.24` |\n| [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) | `11.1.19` | `11.1.24` |\n| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io) | `11.1.19` | `11.1.24` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.2` | `11.4.4` |\n| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets) | `11.1.19` | `11.1.24` |\n| [fit-file-parser](https://github.com/jimmykane/fit-parser) | `2.3.3` | `3.0.2` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing) | `11.1.19` | `11.1.24` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.15.33` | `1.15.40` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [@radix-ui/react-select](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/select) | `2.2.6` | `2.3.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.9` | `5.101.0` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.14.0` | `1.17.0` |\n| [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.4.3` | `1.5.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.17` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.17.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.4` | `4.3.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.6.0` | `4.10.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.4` | `4.3.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [framer-motion](https://github.com/motiondivision/motion) | `12.38.0` | `12.40.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.8` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n\n\nUpdates `@commitlint/cli` from 20.5.3 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.5.3 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.59.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-cruiser` from 17.4.0 to 17.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sverweij/dependency-cruiser/releases\"\u003edependency-cruiser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.4.3\u003c/h2\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efbea056c build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.4.2\u003c/h2\u003e\n\u003ch2\u003e📖 documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eae0fcd40 doc: corrects typos\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eccef0faf chore(npm): sets ignore-scripts on ci\u003c/li\u003e\n\u003cli\u003eca1fe64a chore(npm): makes publishing staged only\u003c/li\u003e\n\u003cli\u003ed4dad0e9/ 1d1bc84a/ ca1fe64a build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.4.1\u003c/h2\u003e\n\u003cp\u003eThis release was created on github, but not published to npmjs\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/sverweij/dependency-cruiser/commit/2584d9e13418d000c587390bacb534352605f8e3\"\u003e\u003ccode\u003e2584d9e\u003c/code\u003e\u003c/a\u003e 17.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/fbea056c8337fa560fa17d336c078b49b34f5752\"\u003e\u003ccode\u003efbea056\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/643462527f7a57ebf0ebc6277b4f47e4cf5180ab\"\u003e\u003ccode\u003e6434625\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/17595296667bdf8fb0c352042621dd84dce7f4b2\"\u003e\u003ccode\u003e1759529\u003c/code\u003e\u003c/a\u003e chore(ci): simplifies release flow again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/56e501fd13e44fad8377997edf183f6930f6afa9\"\u003e\u003ccode\u003e56e501f\u003c/code\u003e\u003c/a\u003e 17.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ccef0fafbb4f7ef740f74477a97c2b7bc54606ca\"\u003e\u003ccode\u003eccef0fa\u003c/code\u003e\u003c/a\u003e chore(npm): sets ignore-scripts on ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ca1fe64a4eef04e7a9177fd7c70ddf73ce0a903c\"\u003e\u003ccode\u003eca1fe64\u003c/code\u003e\u003c/a\u003e chore(npm): makes publishing staged only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/b5b2c36b0bd0120f949ac1d0b7e74babeca3f8c5\"\u003e\u003ccode\u003eb5b2c36\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/1d1bc84a22d1020c275b9e6408096bac1ac795bb\"\u003e\u003ccode\u003e1d1bc84\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ae0fcd40b90ecf03be2b471b7608c602d744fd58\"\u003e\u003ccode\u003eae0fcd4\u003c/code\u003e\u003c/a\u003e doc: corrects typos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sverweij/dependency-cruiser/compare/v17.4.0...v17.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.3.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.11.0 to 6.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.16.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve SvelteKit ./$types in monorepos (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1778\"\u003e#1778\u003c/a\u003e) (370ef4cefec6540ee7d58249cc402f479ec76405)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.16.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate sponsors data + fix sponsors layout on narrow screen (fadf13aad5ebc36f7bc2fbc7615bfa77681d3660)\u003c/li\u003e\n\u003cli\u003eDetect binaries and entry files in node:child_process calls (fc3598cfac640a2ae53b0113883574bf15bc5d47)\u003c/li\u003e\n\u003cli\u003eIt works™ (2d9ce845121484ef3ff84e4a761cfd98891d6c09)\u003c/li\u003e\n\u003cli\u003eExtend known issues doc w/ workaround (close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1763\"\u003e#1763\u003c/a\u003e) (fcd444bf4c6b2ddc5d7bb0ebfd6f3991cf5d0be2)\u003c/li\u003e\n\u003cli\u003eSupport ignoreExportsUsedInFile per workspace (close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1495\"\u003e#1495\u003c/a\u003e) (4b898a971105d865d86d4dc81bc694721bff8793)\u003c/li\u003e\n\u003cli\u003efeat(vscode): add \u003ccode\u003eworkspaceRoot\u003c/code\u003e config option to enable use in a VSCode workspace that does not have package.json at the workspace root (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1667\"\u003e#1667\u003c/a\u003e) (7c1ebef6ab6d1c5a7f2f920d4243241246b53f4b) - thanks \u003ca href=\"https://github.com/anmilleriii\"\u003e\u003ccode\u003e@​anmilleriii\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReplace minimist with node:util.parseArgs (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1492\"\u003e#1492\u003c/a\u003e) (b360c5ce1acfbb2cbd5f4e92ecca6c9b461ae094)\u003c/li\u003e\n\u003cli\u003ePreserve minimist numeric coercion and --no-x negation (c12153ce0601378354421e454a6b6bbab74ae9fb)\u003c/li\u003e\n\u003cli\u003eSimplify parseArgs adapter (ba15e413be7515620e4224b21483a1a87659dc34)\u003c/li\u003e\n\u003cli\u003eDetect and credit registered custom elements (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1394\"\u003e#1394\u003c/a\u003e) (62dcda5fa46ccf6bdd94175b725fd38678049319)\u003c/li\u003e\n\u003cli\u003eAdd Lit and FAST plugins to detect \u003ca href=\"https://github.com/customElement\"\u003e\u003ccode\u003e@​customElement\u003c/code\u003e\u003c/a\u003e classes (348d2c9decf09bb61ab47477bc6cc57e4b089ec3)\u003c/li\u003e\n\u003cli\u003eAdd new testimonials (77fd7ed7dffaccfa8bc024105fe81dbe09b70671)\u003c/li\u003e\n\u003cli\u003eScope custom path aliases per workspace (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1775\"\u003e#1775\u003c/a\u003e) (d908099b52e4fd93b7947bafecbabeddfc7847f3)\u003c/li\u003e\n\u003cli\u003eRestructure tests (ec4c77941d42aef54bed9e4dd1cae8e8784aa147)\u003c/li\u003e\n\u003cli\u003eSimplify boolean check in parseArgs adapter (ba6865de03785eb49b2adf833f7f769eece78d49)\u003c/li\u003e\n\u003cli\u003eScope static custom-element define detection to the FAST plugin (94632cddd15f75eadd204cb480b3df6c1f2a842d)\u003c/li\u003e\n\u003cli\u003eAdd Custom Elements feature docs page (230bd734652f3a269b70da09cd26ac7e80a210cd)\u003c/li\u003e\n\u003cli\u003eUpdate known-issues.md (f1f4c1bceef9a6575d7b31cc1340538ea894f824)\u003c/li\u003e\n\u003cli\u003eFix crash on backtick string literals in plugin config (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e) (f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7)\u003c/li\u003e\n\u003cli\u003eFormat (e4720cab435be48e1a40afa8c548e21bdb74b14e)\u003c/li\u003e\n\u003cli\u003eFix backtick string literals in require() and plugin-name config arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e) (d14eb053331daaaeaec89c3c8e04cfeeba7580af)\u003c/li\u003e\n\u003cli\u003eCredit custom elements via aliases, scoped registries, and static blocks (d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524)\u003c/li\u003e\n\u003cli\u003eImprove Stencil plugin: credit \u003ca href=\"https://github.com/Component\"\u003e\u003ccode\u003e@​Component\u003c/code\u003e\u003c/a\u003e and recognize test files (152d73052f87f29b348abbab90e117cfb97dd69b)\u003c/li\u003e\n\u003cli\u003eAdd Catalyst plugin to credit bare \u003ca href=\"https://github.com/controller\"\u003e\u003ccode\u003e@​controller\u003c/code\u003e\u003c/a\u003e custom elements (8a37f8c25b03cd4e55bd18ba822906be35fcd97b)\u003c/li\u003e\n\u003cli\u003eDocument Stencil, Catalyst, static-block custom el reg. (105fba3a829f1cf4cf871035dbc9c170b0de7bc1)\u003c/li\u003e\n\u003cli\u003eAuto-format md (f4fcf4e1c6a399d761151fc367125416e7741675)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.15.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport exported type used only in inferred-return function body (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1765\"\u003e#1765\u003c/a\u003e) (2413408753f7abc7a9dfdba520990afd18c53ee0)\u003c/li\u003e\n\u003cli\u003eWork that EXPORTS.md again (7e13451fab7ad85362fb63a4715ea450690aedef)\u003c/li\u003e\n\u003cli\u003eUpdate npmx ecosystem snapshot (dfc401145a880f156c66eb83ea1622a99540304a)\u003c/li\u003e\n\u003cli\u003eLink \u003ccode\u003edependencies\u003c/code\u003e key with notes (closes \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1764\"\u003e#1764\u003c/a\u003e) (e3e66cea9e946558940bf8705129efea3f23b3ba)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths when loading plugin configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1762\"\u003e#1762\u003c/a\u003e) (0177c7466559e2ae99b5e1cd1e3a8043ca494edc) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAvoid caching failed plugin config loads (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1768\"\u003e#1768\u003c/a\u003e) (5e201cde9b1ba2568ead2ae790ab888c966828ae) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve extensionless .sass imports in SCSS compiler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1770\"\u003e#1770\u003c/a\u003e) (30c22835383b2355787cc2a871b22de80ff75544) - thanks \u003ca href=\"https://github.com/sebacardello\"\u003e\u003ccode\u003e@​sebacardello\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): detect inline module script entry points in index.html (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1772\"\u003e#1772\u003c/a\u003e) (51f4eddc9e1b2fed1ba25e81fc596e9fb514ce01) - thanks \u003ca href=\"https://github.com/lucas-spin\"\u003e\u003ccode\u003e@​lucas-spin\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHarden vite inline module script import detection (b8abcfd2f4f5486aea08a934514bc55de86be030)\u003c/li\u003e\n\u003cli\u003eUse RecordableHistogram for timerified function stats (d575c6905704af1b0b4620edd874fc09bc86ed28)\u003c/li\u003e\n\u003cli\u003eAdd orval plugin (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1751\"\u003e#1751\u003c/a\u003e) (4c82aa82c2a02fbda27a316389f210d11621f8cb)\u003c/li\u003e\n\u003cli\u003eAdd treatTagHintsAsErrors and --no-tag-hints (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1767\"\u003e#1767\u003c/a\u003e) (4b6a573e0c1e0daf65c76c32f7336ea71db6bb64)\u003c/li\u003e\n\u003cli\u003eAdd nano-spawn plugin (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1769\"\u003e#1769\u003c/a\u003e) (b2cad06dfd9958485537c5545c6c497fc8823ac3)\u003c/li\u003e\n\u003cli\u003eSimplify glob cache validation and ignore-list assembly (df1a9603a5ea8ed7bad9588bf13672cedf37c90e)\u003c/li\u003e\n\u003cli\u003eDedupe ignore-pattern collection and dependency fixing (d49b626ad6736d7123d44568ef8c42a3e1d28aa3)\u003c/li\u003e\n\u003cli\u003eSimplify installed-binaries collection in manifest metadata (55143941eebbc8dac12c79b77c1f65a8b61dfbef)\u003c/li\u003e\n\u003cli\u003eFlatten control flow in ConfigurationChief (010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5)\u003c/li\u003e\n\u003cli\u003eInline trivial installed-binaries and types-included accessors (b5afb9f29e3474eee4bf276c1de83cb0682a5663)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a3169ec99b4708d7199ed9c38682a7f5f0639b1c\"\u003e\u003ccode\u003ea3169ec\u003c/code\u003e\u003c/a\u003e Release knip@6.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/370ef4cefec6540ee7d58249cc402f479ec76405\"\u003e\u003ccode\u003e370ef4c\u003c/code\u003e\u003c/a\u003e Resolve SvelteKit ./$types in monorepos (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1778\"\u003e#1778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e9a5a64f6d551ceef0bb6667e2c2582b94a77c4f\"\u003e\u003ccode\u003ee9a5a64\u003c/code\u003e\u003c/a\u003e Release knip@6.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a37f8c25b03cd4e55bd18ba822906be35fcd97b\"\u003e\u003ccode\u003e8a37f8c\u003c/code\u003e\u003c/a\u003e Add Catalyst plugin to credit bare \u003ca href=\"https://github.com/controller\"\u003e\u003ccode\u003e@​controller\u003c/code\u003e\u003c/a\u003e custom elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/152d73052f87f29b348abbab90e117cfb97dd69b\"\u003e\u003ccode\u003e152d730\u003c/code\u003e\u003c/a\u003e Improve Stencil plugin: credit \u003ca href=\"https://github.com/Component\"\u003e\u003ccode\u003e@​Component\u003c/code\u003e\u003c/a\u003e and recognize test files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524\"\u003e\u003ccode\u003ed7cbe12\u003c/code\u003e\u003c/a\u003e Credit custom elements via aliases, scoped registries, and static blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d14eb053331daaaeaec89c3c8e04cfeeba7580af\"\u003e\u003ccode\u003ed14eb05\u003c/code\u003e\u003c/a\u003e Fix backtick string literals in require() and plugin-name config arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7\"\u003e\u003ccode\u003ef1adc7f\u003c/code\u003e\u003c/a\u003e Fix crash on backtick string literals in plugin config (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/94632cddd15f75eadd204cb480b3df6c1f2a842d\"\u003e\u003ccode\u003e94632cd\u003c/code\u003e\u003c/a\u003e Scope static custom-element define detection to the FAST plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ba6865de03785eb49b2adf833f7f769eece78d49\"\u003e\u003ccode\u003eba6865d\u003c/code\u003e\u003c/a\u003e Simplify boolean check in parseArgs adapter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.16.1/packages/knip\"\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.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.60.1 (2026-06-01)\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.60.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.60.0 (2026-05-25)\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.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/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.60.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 `@aws-sdk/client-s3` from 3.1042.0 to 3.1063.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@​aws-sdk/client-s3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1063.0\u003c/h2\u003e\n\u003ch4\u003e3.1063.0(2026-06-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eupdate author URL in package.json (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8080\"\u003e#8080\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9bd1a86b9bec0f69c58dcfdda481c9e1797dd73f\"\u003e9bd1a86b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecrt-loader:\u003c/strong\u003e  update to latest aws-crt (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8079\"\u003e#8079\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c2bdabd5826c8914eb1904880eade3c81ca6be4\"\u003e8c2bdabd\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-06-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/fe9a398fbfb3d324e4b67c7677fc63f62933f283\"\u003efe9a398f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  This release adds support for MLflow experiment tracking in SageMaker inference optimization. CreateAIRecommendationJob and CreateAIBenchmarkJob now accept an optional OutputConfig.MlflowConfig (MLflow App ARN, experiment, run name) to stream benchmark metrics and artifacts to your own MLflow App. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/394304420ef42ed5c8918990273788bfd69d5f5a\"\u003e39430442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-emr-serverless:\u003c/strong\u003e  Adds support for updating max capacity and custom fields while application is started (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6c9cce08f51a2b91ca5c7fc9dca2bfd293980546\"\u003e6c9cce08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-dynamodb:\u003c/strong\u003e  Adding new BDD representation of endpoint ruleset (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/416005d46847152ba1a24e4ce3297f47469f685c\"\u003e416005d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediaconvert:\u003c/strong\u003e  Adds support for configurable number of Clear Lead segments at the beginning of encrypted output. Adds support for multiple trickplay variants. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/40eb4c6b527bb508bc7bdb2402528cff5ed49198\"\u003e40eb4c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-payment-cryptography:\u003c/strong\u003e  Adds CloudFormation support for resource-based policies on AWS Payment Cryptography keys. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c32019a8ffa7be444993d1ee8288d2c43c8a3f89\"\u003ec32019a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-quicksight:\u003c/strong\u003e  Adds support for Knowledge Base APIs and Index Capacity API (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8205152f535d2a38e0f0ea5e2d516ab8b484650d\"\u003e8205152f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecore/httpAuthSchemes:\u003c/strong\u003e  fix concurrent skew correction (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8078\"\u003e#8078\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/83e48928b9f31c78c6c10adc2127d663837ddd2a\"\u003e83e48928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-endpoint-discovery:\u003c/strong\u003e  remove integration tests (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8077\"\u003e#8077\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/02363831ab1c4cae1b254efe92ab49fa71f20700\"\u003e02363831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  add client error deserialization tests (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8075\"\u003e#8075\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/0dfa4ad150e0283cf787cd231600aeb7d75695f0\"\u003e0dfa4ad1\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.1063.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1062.0\u003c/h2\u003e\n\u003ch4\u003e3.1062.0(2026-06-04)\u003c/h...\n\n_Description has been truncated_","html_url":"https://github.com/nerdchanii/mastersrunners/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdchanii%2Fmastersrunners/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"},{"uuid":"4609207444","node_id":"PR_kwDOQg61Ys7jtrz5","number":293,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 35 updates","user":"dependabot[bot]","labels":["type: chore","size: XL","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:22:40.000Z","updated_at":"2026-06-08T00:24:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":35,"packages":[{"name":"@chromatic-com/storybook","old_version":"5.1.2","new_version":"5.2.1","repository_url":"https://github.com/chromaui/addon-visual-tests"},{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.2","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@next/bundle-analyzer","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@next/eslint-plugin-next","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@storybook/addon-a11y","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-docs","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-onboarding","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-vitest","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/nextjs-vite","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/react","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@tailwindcss/postcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.0.3","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/browser-playwright","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"9.39.3","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-import-resolver-typescript","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/import-js/eslint-import-resolver-typescript"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"eslint-plugin-storybook","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"eslint-plugin-unicorn","old_version":"64.0.0","new_version":"65.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"msw","old_version":"2.14.3","new_version":"2.14.6","repository_url":"https://github.com/mswjs/msw"},{"name":"playwright","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"storybook","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"tailwindcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 35 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@chromatic-com/storybook](https://github.com/chromaui/addon-visual-tests) | `5.1.2` | `5.2.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.5.3` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.0.2` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.2` | `10.0.1` |\n| [@next/bundle-analyzer](https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer) | `16.2.4` | `16.2.7` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.2.4` | `16.2.7` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/docs) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-onboarding](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/onboarding) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-vitest](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/vitest) | `10.3.6` | `10.4.2` |\n| [@storybook/nextjs-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/nextjs) | `10.3.6` | `10.4.2` |\n| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `10.3.6` | `10.4.2` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.18` | `4.3.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.3` | `25.9.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@vitest/browser-playwright](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright) | `4.1.5` | `4.1.8` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.8` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.3` | `10.4.1` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.4` | `16.2.7` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [eslint-plugin-storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin) | `10.3.6` | `10.4.2` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `64.0.0` | `65.0.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.7` |\n| [msw](https://github.com/mswjs/msw) | `2.14.3` | `2.14.6` |\n| [playwright](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `10.3.6` | `10.4.2` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.18` | `4.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.8` |\n\n\nUpdates `@chromatic-com/storybook` from 5.1.2 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/chromaui/addon-visual-tests/releases\"\u003e@​chromatic-com/storybook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.1-next.0\u003c/h2\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch4\u003e🚀 Enhancement\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eChromaticTypes\u003c/code\u003e export to support composite mode \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/410\"\u003e#410\u003c/a\u003e (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Share tool to quickly publish a Storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/418\"\u003e#418\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd refresh-token auth flow and harden HTML injection paths \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/425\"\u003e#425\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003edevice_code\u003c/code\u003e OAuth flow with \u003ccode\u003eauthorization_code\u003c/code\u003e flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/424\"\u003e#424\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh auth preemptively before token expiry \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/431\"\u003e#431\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge remote-tracking branch 'origin/valentin/viral-sharing-2' into valentin/viral-sharing-2 \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/429\"\u003e#429\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsolidate auth state into a single AuthStore \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/430\"\u003e#430\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow share expiry based on \u003ccode\u003edaysToExpire\u003c/code\u003e from CLI \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/428\"\u003e#428\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix OAuth authorization_code flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/427\"\u003e#427\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 5\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoshua Daniel Pratt Nielsen (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKyle Gach (\u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePiotr Wysocki (\u003ca href=\"https://github.com/piwysocki\"\u003e\u003ccode\u003e@​piwysocki\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.0-next.5\u003c/h2\u003e\n\u003ch4\u003e⚠️ Pushed to \u003ccode\u003enext\u003c/code\u003e\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix TS error (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\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/chromaui/addon-visual-tests/blob/v5.2.1/CHANGELOG.md\"\u003e@​chromatic-com/storybook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev5.2.1 (Thu May 14 2026)\u003c/h1\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch1\u003ev5.2.0 (Thu May 14 2026)\u003c/h1\u003e\n\u003ch4\u003e🚀 Enhancement\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eChromaticTypes\u003c/code\u003e export to support composite mode \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/410\"\u003e#410\u003c/a\u003e (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Share tool to quickly publish a Storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/418\"\u003e#418\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd refresh-token auth flow and harden HTML injection paths \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/425\"\u003e#425\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003edevice_code\u003c/code\u003e OAuth flow with \u003ccode\u003eauthorization_code\u003c/code\u003e flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/424\"\u003e#424\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh auth preemptively before token expiry \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/431\"\u003e#431\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge remote-tracking branch 'origin/valentin/viral-sharing-2' into valentin/viral-sharing-2 \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/429\"\u003e#429\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsolidate auth state into a single AuthStore \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/430\"\u003e#430\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow share expiry based on \u003ccode\u003edaysToExpire\u003c/code\u003e from CLI \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/428\"\u003e#428\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix OAuth authorization_code flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/427\"\u003e#427\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 5\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoshua Daniel Pratt Nielsen (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKyle Gach (\u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePiotr Wysocki (\u003ca href=\"https://github.com/piwysocki\"\u003e\u003ccode\u003e@​piwysocki\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/55bdb73cfd232fce9385eaba14bf9784cfeede7c\"\u003e\u003ccode\u003e55bdb73\u003c/code\u003e\u003c/a\u003e Bump version to: 5.2.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/59b814675674f4c6c0a676be0e2ef159c8843687\"\u003e\u003ccode\u003e59b8146\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/0fe1587e60594a596509fbd57cdcb9ccd5d9b87b\"\u003e\u003ccode\u003e0fe1587\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/435\"\u003e#435\u003c/a\u003e from chromaui/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/2c8182d45b48a23e22fc927baa8955c4b92cc175\"\u003e\u003ccode\u003e2c8182d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/434\"\u003e#434\u003c/a\u003e from chromaui/valentin/widen-peer-deps-range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/e1d4e267dbb11fd80f493a1a740556e71fa44d3e\"\u003e\u003ccode\u003ee1d4e26\u003c/code\u003e\u003c/a\u003e Widen peer-dependency range for storybook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/652b6d0bc49554feb6ce5ffb6437567d325abebb\"\u003e\u003ccode\u003e652b6d0\u003c/code\u003e\u003c/a\u003e Bump version to: 5.2.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/a16a328ccaee19b20b7bdf59001599685d792eac\"\u003e\u003ccode\u003ea16a328\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/0e8f7456c855714bda8fd45986ba856f91e9aef8\"\u003e\u003ccode\u003e0e8f745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/432\"\u003e#432\u003c/a\u003e from chromaui/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/9ba520e471f5df6e4487dc7311a71cf9ef4218a3\"\u003e\u003ccode\u003e9ba520e\u003c/code\u003e\u003c/a\u003e Fix TS error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/f03b35ee7ac1a520551fda5613c4e909b27d78c3\"\u003e\u003ccode\u003ef03b35e\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into next\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chromaui/addon-visual-tests/compare/v5.1.2...v5.2.1\"\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.5.3 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.5.3 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.2 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\"\u003e@​eslint/js'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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/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://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\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://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/bundle-analyzer` from 16.2.4 to 16.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003e@​next/bundle-analyzer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.7\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 documentation fixes for v16.2 (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93804\"\u003e#93804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Patch \u003ccode\u003eplaywright-core\u003c/code\u003e to resolve \u003ccode\u003e_finishedPromise\u003c/code\u003e on \u003ccode\u003erequestFailed\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93920\"\u003e#93920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix dev mode hydration failure when page is served from HTTP cache (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93492\"\u003e#93492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + \u003ccode\u003erewrites\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93917\"\u003e#93917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapters (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94284\"\u003e#94284\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/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\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/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/timneutkens\"\u003e\u003ccode\u003e@​timneutkens\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.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9bd3c26a733901956549889f28c0047553bba622\"\u003e\u003ccode\u003e9bd3c26\u003c/code\u003e\u003c/a\u003e v16.2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.7/packages/next-bundle-analyzer\"\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@​next/bundle-analyzer\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/eslint-plugin-next` from 16.2.4 to 16.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003e@​next/eslint-plugin-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.7\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 documentation fixes for v16.2 (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93804\"\u003e#93804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Patch \u003ccode\u003eplaywright-core\u003c/code\u003e to resolve \u003ccode\u003e_finishedPromise\u003c/code\u003e on \u003ccode\u003erequestFailed\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93920\"\u003e#93920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix dev mode hydration failure when page is served from HTTP cache (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93492\"\u003e#93492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + \u003ccode\u003erewrites\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93917\"\u003e#93917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapters (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94284\"\u003e#94284\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/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\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/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/timneutkens\"\u003e\u003ccode\u003e@​timneutkens\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.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9bd3c26a733901956549889f28c0047553bba622\"\u003e\u003ccode\u003e9bd3c26\u003c/code\u003e\u003c/a\u003e v16.2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.7/packages/eslint-plugin-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​next/eslint-plugin-next\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.g...\n\n_Description has been truncated_","html_url":"https://github.com/gajaedev/jagalchi-client/pull/293","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajaedev%2Fjagalchi-client/issues/293","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/293/packages"},{"uuid":"4593797602","node_id":"PR_kwDOREpqq87i8GDv","number":125,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-05T03:04:36.000Z","updated_at":"2026-06-05T03:09:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/arch-playground/ai-workflow-runner/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/arch-playground%2Fai-workflow-runner/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"},{"uuid":"4592917271","node_id":"PR_kwDOHC8Bls7i5Ohd","number":16,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 18.6.1 to 21.0.2","user":"dependabot[bot]","labels":["area/docs","type/security"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T23:38:22.000Z","updated_at":"2026-06-05T04:22:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"18.6.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 18.6.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/mss-boot-io/mss-boot-docs/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mss-boot-io%2Fmss-boot-docs/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4584932918","node_id":"PR_kwDOSQFFMs7ie118","number":27,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.2","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-06-04T01:17:30.000Z","updated_at":"2026-06-04T01:17:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.8.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=19.8.1\u0026new-version=21.0.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/scramjetio/flight-log/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetio%2Fflight-log/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4584888751","node_id":"PR_kwDOSpkB0M7iesof","number":12,"state":"open","title":"chore(deps-dev): bump the dev-deps group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T01:07:40.000Z","updated_at":"2026-06-04T01:10:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-deps","update_count":5,"packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@vitest/coverage-v8","old_version":"3.2.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"promptfoo","old_version":"0.121.12","new_version":"0.121.14","repository_url":"https://github.com/promptfoo/promptfoo"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-deps group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `19.8.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `19.8.1` | `21.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `3.2.4` | `4.1.8` |\n| [promptfoo](https://github.com/promptfoo/promptfoo) | `0.121.12` | `0.121.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.8` |\n\n\nUpdates `@commitlint/cli` from 19.8.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 19.8.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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 3.2.4 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  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/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\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.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\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/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/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/coverage-v8\"\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@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `promptfoo` from 0.121.12 to 0.121.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/promptfoo/promptfoo/releases\"\u003epromptfoo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.14\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.13...0.121.14\"\u003e0.121.14\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e963b264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add agent-rubric grader (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9453\"\u003e#9453\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/cadb3c500277464f05244c8bc8525c2725aa5c22\"\u003ecadb3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e publish a lightweight promptfoo/contracts subpath (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9535\"\u003e#9535\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e89fd45abc97696a70079cddcb659492acc66d0\"\u003e6e89fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add seeded random sampling (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9522\"\u003e#9522\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e4ba60eba69ff696d0404aabf5453311214c500\"\u003e6e4ba60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e extract eval-creator readiness and validation modules (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9397\"\u003e#9397\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d3af1180405e82786461eae5bf85e50ce6b73f3a\"\u003ed3af118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e surface trace linkage on result rows (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9027\"\u003e#9027\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9468d6607e858f9c1a1c77f43713f58a7dc154c5\"\u003e9468d66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bedrock (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9587\"\u003e#9587\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e1e35267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI originator header (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9474\"\u003e#9474\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/61410706acbc86772b1d60ac85d6988dc09f2fa6\"\u003e6141070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e expose traceable agent turn markers (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9475\"\u003e#9475\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4018837455faf334ce2e07fd39a1fbc33c2960d2\"\u003e4018837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e promote Fireworks AI from registry stub to dedicated provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9542\"\u003e#9542\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/2bae148be51975dbacaec2a4a5d36c839e897034\"\u003e2bae148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etracing:\u003c/strong\u003e add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e90df6a1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e don't classify gen_ai.tool.definitions chat spans as tool calls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9524\"\u003e#9524\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b59f3974851657a8a97c05db09cc87064ba0528d\"\u003eb59f397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e preflight force imports before collision lookup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9570\"\u003e#9570\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/0b93733d48727be67e34433cb0fb1ad21026863a\"\u003e0b93733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e on-prem API host for guardrails and http-generator, with host-resolution tests (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9580\"\u003e#9580\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b9a014a3de85f26402312ac96d94fe787f2ac764\"\u003eb9a014a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e use on-prem API host in checkEmailStatus (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9576\"\u003e#9576\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/063c62b5d0df93ecf10ccdd6831ab0a2534b4df3\"\u003e063c62b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e avoid SQLITE_LOCKED flakiness in shared-cache test database (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9567\"\u003e#9567\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1fdb59b44f771952e5e96eb01ade2a54035fcaa0\"\u003e1fdb59b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e serialize libsql test database cleanup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9540\"\u003e#9540\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/f4380c23f1e62eb1a2e171155d1437a1645d01dd\"\u003ef4380c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e keep ModelAudit pydantic-core pinned to compatible 2.46.4 (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b2b35b079aab5ba338700d891a4ec189d4e468d7\"\u003eb2b35b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency ai to ^6.0.190 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9577\"\u003e#9577\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9ec614a175668d1775c332de8c272a01b6c28341\"\u003e9ec614a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e8d7c920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e redact credentials from the persisted browser store (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9396\"\u003e#9396\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4d5bed56b94de0351d8348f7a6b8b25a1bbc14e1\"\u003e4d5bed5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eevaluator:\u003c/strong\u003e preserve and harden programmatic JSONL output (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9538\"\u003e#9538\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8ddd9064de73d8e454ddab5adfaac32f64704137\"\u003e8ddd906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoutput:\u003c/strong\u003e redact api-key and legacy transport headers in JSONL/DB (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9546\"\u003e#9546\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e194c852a4303faefab109c151c74134e1556403\"\u003ee194c85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e handle Codex SDK rate limits (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9473\"\u003e#9473\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/76d3db402b04fbad08580907b025b93120b7d2a4\"\u003e76d3db4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e inject n8n sessions into custom bodies (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9527\"\u003e#9527\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9cc05429af81ff6493bc8f4f448be3ce3e1c55c7\"\u003e9cc0542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve n8n array body templates (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9544\"\u003e#9544\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6cdf63d02752bcc23fb2ab68a14e620447460df8\"\u003e6cdf63d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve streamed Anthropic refusal guardrails (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9560\"\u003e#9560\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ff8eafd743cf6d63dd85b790ad8a4c73ede5828d\"\u003eff8eafd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e serialize persistent browser sessions (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9414\"\u003e#9414\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/097ff9bab6d6692b54c385867a72c63fd106f471\"\u003e097ff9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredteam:\u003c/strong\u003e authenticate remote-generation requests against on-prem cloud (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9584\"\u003e#9584\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e7df8fae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutil:\u003c/strong\u003e restore nested SAS tokens after array reorder (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9528\"\u003e#9528\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9759e5a58099a702e313013daa04149530473e33\"\u003e9759e5a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebui:\u003c/strong\u003e render negative-only metric charts (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9526\"\u003e#9526\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7ccafa4c74c391516a5e371c9db2918e415f078f\"\u003e7ccafa4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.13\"\u003e0.121.13\u003c/a\u003e (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd MiniMax provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/8207\"\u003e#8207\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ebd78f6b9c22c4a61050e8f767aee211729415a2\"\u003eebd78f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanthropic:\u003c/strong\u003e add support for Claude Opus 4.8 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9500\"\u003e#9500\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e0907306ecf388a27e606407eef7a89f6c6d92bc\"\u003ee090730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/promptfoo/promptfoo/blob/main/CHANGELOG.md\"\u003epromptfoo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.13...0.121.14\"\u003e0.121.14\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e963b264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add agent-rubric grader (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9453\"\u003e#9453\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/cadb3c500277464f05244c8bc8525c2725aa5c22\"\u003ecadb3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e publish a lightweight promptfoo/contracts subpath (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9535\"\u003e#9535\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e89fd45abc97696a70079cddcb659492acc66d0\"\u003e6e89fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add seeded random sampling (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9522\"\u003e#9522\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e4ba60eba69ff696d0404aabf5453311214c500\"\u003e6e4ba60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e extract eval-creator readiness and validation modules (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9397\"\u003e#9397\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d3af1180405e82786461eae5bf85e50ce6b73f3a\"\u003ed3af118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e surface trace linkage on result rows (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9027\"\u003e#9027\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9468d6607e858f9c1a1c77f43713f58a7dc154c5\"\u003e9468d66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bedrock (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9587\"\u003e#9587\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e1e35267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI originator header (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9474\"\u003e#9474\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/61410706acbc86772b1d60ac85d6988dc09f2fa6\"\u003e6141070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e expose traceable agent turn markers (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9475\"\u003e#9475\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4018837455faf334ce2e07fd39a1fbc33c2960d2\"\u003e4018837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e promote Fireworks AI from registry stub to dedicated provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9542\"\u003e#9542\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/2bae148be51975dbacaec2a4a5d36c839e897034\"\u003e2bae148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etracing:\u003c/strong\u003e add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e90df6a1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e don't classify gen_ai.tool.definitions chat spans as tool calls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9524\"\u003e#9524\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b59f3974851657a8a97c05db09cc87064ba0528d\"\u003eb59f397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e preflight force imports before collision lookup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9570\"\u003e#9570\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/0b93733d48727be67e34433cb0fb1ad21026863a\"\u003e0b93733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e on-prem API host for guardrails and http-generator, with host-resolution tests (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9580\"\u003e#9580\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b9a014a3de85f26402312ac96d94fe787f2ac764\"\u003eb9a014a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e use on-prem API host in checkEmailStatus (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9576\"\u003e#9576\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/063c62b5d0df93ecf10ccdd6831ab0a2534b4df3\"\u003e063c62b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e avoid SQLITE_LOCKED flakiness in shared-cache test database (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9567\"\u003e#9567\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1fdb59b44f771952e5e96eb01ade2a54035fcaa0\"\u003e1fdb59b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e serialize libsql test database cleanup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9540\"\u003e#9540\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/f4380c23f1e62eb1a2e171155d1437a1645d01dd\"\u003ef4380c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e keep ModelAudit pydantic-core pinned to compatible 2.46.4 (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b2b35b079aab5ba338700d891a4ec189d4e468d7\"\u003eb2b35b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency ai to ^6.0.190 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9577\"\u003e#9577\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9ec614a175668d1775c332de8c272a01b6c28341\"\u003e9ec614a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e8d7c920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e redact credentials from the persisted browser store (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9396\"\u003e#9396\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4d5bed56b94de0351d8348f7a6b8b25a1bbc14e1\"\u003e4d5bed5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eevaluator:\u003c/strong\u003e preserve and harden programmatic JSONL output (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9538\"\u003e#9538\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8ddd9064de73d8e454ddab5adfaac32f64704137\"\u003e8ddd906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoutput:\u003c/strong\u003e redact api-key and legacy transport headers in JSONL/DB (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9546\"\u003e#9546\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e194c852a4303faefab109c151c74134e1556403\"\u003ee194c85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e handle Codex SDK rate limits (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9473\"\u003e#9473\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/76d3db402b04fbad08580907b025b93120b7d2a4\"\u003e76d3db4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e inject n8n sessions into custom bodies (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9527\"\u003e#9527\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9cc05429af81ff6493bc8f4f448be3ce3e1c55c7\"\u003e9cc0542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve n8n array body templates (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9544\"\u003e#9544\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6cdf63d02752bcc23fb2ab68a14e620447460df8\"\u003e6cdf63d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve streamed Anthropic refusal guardrails (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9560\"\u003e#9560\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ff8eafd743cf6d63dd85b790ad8a4c73ede5828d\"\u003eff8eafd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e serialize persistent browser sessions (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9414\"\u003e#9414\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/097ff9bab6d6692b54c385867a72c63fd106f471\"\u003e097ff9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredteam:\u003c/strong\u003e authenticate remote-generation requests against on-prem cloud (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9584\"\u003e#9584\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e7df8fae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutil:\u003c/strong\u003e restore nested SAS tokens after array reorder (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9528\"\u003e#9528\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9759e5a58099a702e313013daa04149530473e33\"\u003e9759e5a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebui:\u003c/strong\u003e render negative-only metric charts (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9526\"\u003e#9526\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7ccafa4c74c391516a5e371c9db2918e415f078f\"\u003e7ccafa4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.13\"\u003e0.121.13\u003c/a\u003e (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd MiniMax provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/8207\"\u003e#8207\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ebd78f6b9c22c4a61050e8f767aee211729415a2\"\u003eebd78f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanthropic:\u003c/strong\u003e add support for Claude Opus 4.8 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9500\"\u003e#9500\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e0907306ecf388a27e606407eef7a89f6c6d92bc\"\u003ee090730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add ignore option to trajectory:tool-args-match (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9466\"\u003e#9466\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6423f2a5c95ed84a3210806eda222a23d0a30c01\"\u003e6423f2a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add metadata shortcut to assertion context (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/6863\"\u003e#6863\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/5264680f1bb5372fbebc1a780b0e6c8f77455b2a\"\u003e5264680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e support glob patterns in trajectory:tool-args-match ignore (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9484\"\u003e#9484\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/18b3eefd48a2ff8dd6ee69160e86523823ee10e3\"\u003e18b3eef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e tolerate optional defaults in trajectory:tool-args-match (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9471\"\u003e#9471\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/a74894a4ff26872d88fa2008b8a1c13b725ccb56\"\u003ea74894a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add prompt optimization (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9294\"\u003e#9294\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/27d6dbe36e5ca63aaf32a185e3464e278746f89c\"\u003e27d6dbe\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7a48c5fce614bee617efbb3b7fc93d404c75b628\"\u003e\u003ccode\u003e7a48c5f\u003c/code\u003e\u003c/a\u003e chore(main): release 0.121.14 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9521\"\u003e#9521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/96e556507e4bbee5110d94286d500c4605ccc38b\"\u003e\u003ccode\u003e96e5565\u003c/code\u003e\u003c/a\u003e refactor(assertions): decouple function call validation (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9550\"\u003e#9550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e\u003ccode\u003e1e35267\u003c/code\u003e\u003c/a\u003e feat(providers): add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ef2c7931e179f3b7a514b2ecf35a2e434110601e\"\u003e\u003ccode\u003eef2c793\u003c/code\u003e\u003c/a\u003e refactor(redteam): adopt input contracts in UI (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9549\"\u003e#9549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/a84354cc78017c08d6043824e8879445a6ec4ec2\"\u003e\u003ccode\u003ea84354c\u003c/code\u003e\u003c/a\u003e refactor(api): extract browser user contracts to leaf-safe surface (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e\u003ccode\u003e8d7c920\u003c/code\u003e\u003c/a\u003e fix(eval): canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d27868b7fdd2f7fb047550fdeb76bebcd3138257\"\u003e\u003ccode\u003ed27868b\u003c/code\u003e\u003c/a\u003e docs(agents): add subsystem AGENTS.md context files (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e\u003ccode\u003e7df8fae\u003c/code\u003e\u003c/a\u003e fix(redteam): authenticate remote-generation requests against on-prem cloud (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e\u003ccode\u003e963b264\u003c/code\u003e\u003c/a\u003e feat: add A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e\u003ccode\u003e90df6a1\u003c/code\u003e\u003c/a\u003e feat(tracing): add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  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/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\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.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003c...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated development dependencies to their latest versions, including testing frameworks, linting tools, and code coverage utilities for improved tooling and compatibility.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/seathatflowsinourveins/vein-launch/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/seathatflowsinourveins%2Fvein-launch/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4584681759","node_id":"PR_kwDORnDIs87ieA4i","number":76,"state":"open","title":"build(deps-dev): bump @commitlint/cli from 21.0.1 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T00:24:41.000Z","updated_at":"2026-06-07T02:02:51.654Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=21.0.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/juninmd/jules-extension-vscode/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/juninmd%2Fjules-extension-vscode/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"},{"uuid":"4579902674","node_id":"PR_kwDORQ0oHc7iOIdu","number":79,"state":"closed","title":"chore(deps): Bump the minor-and-patch group with 10 updates","user":"dependabot[bot]","labels":["config","size/L"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-03T12:42:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T12:40:52.000Z","updated_at":"2026-06-03T12:43:05.000Z","time_to_close":114,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"@astrojs/cloudflare","old_version":"13.5.4","new_version":"13.6.1","repository_url":"https://github.com/withastro/astro"},{"name":"@astrojs/sitemap","old_version":"3.7.2","new_version":"3.7.3","repository_url":"https://github.com/withastro/astro"},{"name":"astro","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/withastro/astro"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@astrojs/cloudflare](https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare) | `13.5.4` | `13.6.1` |\n| [@astrojs/sitemap](https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap) | `3.7.2` | `3.7.3` |\n| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `6.3.7` | `6.4.3` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.60.0` | `8.60.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n\nUpdates `@astrojs/cloudflare` from 13.5.4 to 13.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003e@​astrojs/cloudflare's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/cloudflare\u003c/code\u003e\u003ca href=\"https://github.com/13\"\u003e\u003ccode\u003e@​13\u003c/code\u003e\u003c/a\u003e.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/withastro/astro/pull/16914\"\u003e#16914\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eastro/fetch\u003c/code\u003e and \u003ccode\u003eastro/hono\u003c/code\u003e being discovered at runtime during dev instead of pre-bundled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16693\"\u003e#16693\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ArmandPhilippot\"\u003e\u003ccode\u003e@​ArmandPhilippot\u003c/code\u003e\u003c/a\u003e! - Fixes a link in the documentation specifying where to open an issue for the adapter.\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@​astrojs/underscore-redirects\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.0.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/cloudflare\u003c/code\u003e\u003ca href=\"https://github.com/13\"\u003e\u003ccode\u003e@​13\u003c/code\u003e\u003c/a\u003e.6.0\u003c/h2\u003e\n\u003ch2\u003e13.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16729\"\u003e#16729\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds \u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e and \u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e exports for composing Cloudflare-specific setup with Astro's advanced routing handlers.\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/fetch\u003c/code\u003e in a custom fetch handler:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { astro, FetchState } from 'astro/fetch';\r\nimport { cf } from '@astrojs/cloudflare/fetch';\r\n\u003cp\u003eexport default {\nasync fetch(request: Request, env: Env, ctx: ExecutionContext) {\nconst state = new FetchState(request);\nconst asset = await cf(state, env, ctx);\nif (asset) return asset;\nreturn astro(state);\n},\n};\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/hono\u003c/code\u003e as Hono middleware:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { Hono } from 'hono';\r\nimport { actions, middleware, pages, i18n } from 'astro/hono';\r\nimport { cf } from '@astrojs/cloudflare/hono';\r\n\u003cp\u003econst app = new Hono\u0026lt;{ Bindings: Env }\u0026gt;();\u003c/p\u003e\n\u003cp\u003eapp.use(cf());\napp.use(actions());\napp.use(middleware());\napp.use(pages());\n\u003c/code\u003e\u003c/pre\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/withastro/astro/blob/main/packages/integrations/cloudflare/CHANGELOG.md\"\u003e@​astrojs/cloudflare's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e13.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/withastro/astro/pull/16914\"\u003e#16914\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eastro/fetch\u003c/code\u003e and \u003ccode\u003eastro/hono\u003c/code\u003e being discovered at runtime during dev instead of pre-bundled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16693\"\u003e#16693\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ArmandPhilippot\"\u003e\u003ccode\u003e@​ArmandPhilippot\u003c/code\u003e\u003c/a\u003e! - Fixes a link in the documentation specifying where to open an issue for the adapter.\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@​astrojs/underscore-redirects\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.0.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e13.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16729\"\u003e#16729\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds \u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e and \u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e exports for composing Cloudflare-specific setup with Astro's advanced routing handlers.\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/fetch\u003c/code\u003e in a custom fetch handler:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { astro, FetchState } from 'astro/fetch';\nimport { cf } from '@astrojs/cloudflare/fetch';\n\u003cp\u003eexport default {\nasync fetch(request: Request, env: Env, ctx: ExecutionContext) {\nconst state = new FetchState(request);\nconst asset = await cf(state, env, ctx);\nif (asset) return asset;\nreturn astro(state);\n},\n};\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/hono\u003c/code\u003e as Hono middleware:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { Hono } from 'hono';\nimport { actions, middleware, pages, i18n } from 'astro/hono';\nimport { cf } from '@astrojs/cloudflare/hono';\n\u003cp\u003econst app = new Hono\u0026lt;{ Bindings: Env }\u0026gt;();\u003c/p\u003e\n\u003cp\u003eapp.use(cf());\napp.use(actions());\napp.use(middleware());\napp.use(pages());\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/75ae5df550edf907f771010ab33646f7f90a6b10\"\u003e\u003ccode\u003e75ae5df\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16912\"\u003e#16912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/272ca6173b40cfa37299c27b513f495f386d4009\"\u003e\u003ccode\u003e272ca61\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm to v11.5.0 (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16903\"\u003e#16903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Pre-bundle astro/fetch and astro/hono in Cloudflare optimizeDeps (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16914\"\u003e#16914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e chore(deps): update devalue (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16900\"\u003e#16900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e fix(docs): replace last occurrences of \u003ccode\u003ewithastro/adapters\u003c/code\u003e (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16693\"\u003e#16693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/da10b9ec08421c06f654276a16b5e6596300d346\"\u003e\u003ccode\u003eda10b9e\u003c/code\u003e\u003c/a\u003e chore(deps): resolve peer dependency issues (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16894\"\u003e#16894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/c7157e69774a1c9eb685285ca21f1cf78f3551c2\"\u003e\u003ccode\u003ec7157e6\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16870\"\u003e#16870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Skip SSR build for fully static Cloudflare sites (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9c72aef9cf7ddd6eb1ebf6b328cc6aae6e65fa7d\"\u003e\u003ccode\u003e9c72aef\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Add Cloudflare fetch and Hono handlers for advanced routing (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16729\"\u003e#16729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/@astrojs/cloudflare@13.6.1/packages/integrations/cloudflare\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@astrojs/sitemap` from 3.7.2 to 3.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003e@​astrojs/sitemap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/sitemap\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.7.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16837\"\u003e#16837\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jdevalk\"\u003e\u003ccode\u003e@​jdevalk\u003c/code\u003e\u003c/a\u003e! - Improves \u003ccode\u003e\u0026lt;lastmod\u0026gt;\u003c/code\u003e accuracy in the sitemap index. Each \u003ccode\u003e\u0026lt;sitemap\u0026gt;\u003c/code\u003e entry in \u003ccode\u003esitemap-index.xml\u003c/code\u003e is now stamped with the most recent \u003ccode\u003elastmod\u003c/code\u003e of the URLs in the child sitemap it points to, instead of repeating a single global date on every entry. When a child sitemap has no per-URL \u003ccode\u003elastmod\u003c/code\u003e, the entry falls back to the \u003ccode\u003elastmod\u003c/code\u003e option as before. This gives search engines a per-file freshness signal, so they can tell which child sitemaps actually changed without refetching all of them.\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/withastro/astro/blob/main/packages/integrations/sitemap/CHANGELOG.md\"\u003e@​astrojs/sitemap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16837\"\u003e#16837\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jdevalk\"\u003e\u003ccode\u003e@​jdevalk\u003c/code\u003e\u003c/a\u003e! - Improves \u003ccode\u003e\u0026lt;lastmod\u0026gt;\u003c/code\u003e accuracy in the sitemap index. Each \u003ccode\u003e\u0026lt;sitemap\u0026gt;\u003c/code\u003e entry in \u003ccode\u003esitemap-index.xml\u003c/code\u003e is now stamped with the most recent \u003ccode\u003elastmod\u003c/code\u003e of the URLs in the child sitemap it points to, instead of repeating a single global date on every entry. When a child sitemap has no per-URL \u003ccode\u003elastmod\u003c/code\u003e, the entry falls back to the \u003ccode\u003elastmod\u003c/code\u003e option as before. This gives search engines a per-file freshness signal, so they can tell which child sitemaps actually changed without refetching all of them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/1e4916333554cf3798d20cd33f4dbf91e2844891\"\u003e\u003ccode\u003e1e49163\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16832\"\u003e#16832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Stamp sitemap index entries with per-file lastmod (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16837\"\u003e#16837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/5a8cd099fe373f907b8884cd596eee76a8d48952\"\u003e\u003ccode\u003e5a8cd09\u003c/code\u003e\u003c/a\u003e refactor: update tsconfig to use TypeScript project references (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16505\"\u003e#16505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/5c543c595def9826acdd71c1cb88f08f8d63f1a5\"\u003e\u003ccode\u003e5c543c5\u003c/code\u003e\u003c/a\u003e refactor(astro): add internal entry points for test (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16473\"\u003e#16473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/f7566b86ff720544bd52fad87d1251b21a311033\"\u003e\u003ccode\u003ef7566b8\u003c/code\u003e\u003c/a\u003e refactor: unify test setup (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16445\"\u003e#16445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/ba2dbf180595ae0c1c3e6f1ccf7ee1cbac07e5b1\"\u003e\u003ccode\u003eba2dbf1\u003c/code\u003e\u003c/a\u003e refactor(astro): correct Fixture type signatures in test-utils (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16380\"\u003e#16380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/245f30050b9044a99aa6ca42f09858a353c143ce\"\u003e\u003ccode\u003e245f300\u003c/code\u003e\u003c/a\u003e refactor: migrate sitemap tests to typescript (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16353\"\u003e#16353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/88fcc98e58455167afa0233163680b833812b69d\"\u003e\u003ccode\u003e88fcc98\u003c/code\u003e\u003c/a\u003e fix integrations links across docs (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16098\"\u003e#16098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/withastro/astro/commits/@astrojs/sitemap@3.7.3/packages/integrations/sitemap\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astro` from 6.3.7 to 6.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003eastro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eastro@6.4.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/withastro/astro/pull/16900\"\u003e#16900\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e! - Bumps \u003ccode\u003edevalue\u003c/code\u003e dependency to v5.8.1\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16016\"\u003e#16016\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/felmonon\"\u003e\u003ccode\u003e@​felmonon\u003c/code\u003e\u003c/a\u003e! - Fix a false positive in the dev toolbar accessibility audit for anchors with text inside closed \u003ccode\u003e\u0026lt;details\u0026gt;\u003c/code\u003e elements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16911\"\u003e#16911\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes a bug where \u003ccode\u003eexperimental.advancedRouting\u003c/code\u003e with \u003ccode\u003eastro/hono\u003c/code\u003e handlers threw \u003ccode\u003eTypeError: Cannot read properties of undefined (reading 'route')\u003c/code\u003e for unmatched routes instead of rendering the custom 404 page.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16899\"\u003e#16899\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes a false \u0026quot;does not call the middleware() handler\u0026quot; warning when using \u003ccode\u003eastro()\u003c/code\u003e in a custom \u003ccode\u003esrc/app.ts\u003c/code\u003e and the first request is a redirect route.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16887\"\u003e#16887\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/493acdb4abc56534e9efa68af16e3ef273d7d88b\"\u003e\u003ccode\u003e493acdb\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eredirectToDefaultLocale\u003c/code\u003e not working after the Advanced Routing refactoring.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16908\"\u003e#16908\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Improves optimized fallbacks generation when using the Fonts API by using better metrics for bold variants\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@6.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/withastro/astro/pull/16889\"\u003e#16889\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b94bcfd8da64a3f2862a20572e7a9847aebdbc70\"\u003e\u003ccode\u003eb94bcfd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Fixes a \u003ccode\u003eplugins is not iterable\u003c/code\u003e crash when using a pre-6.0 \u003ccode\u003e@astrojs/mdx\u003c/code\u003e alongside integrations (e.g. Starlight) that set \u003ccode\u003emarkdown.remarkPlugins\u003c/code\u003e, \u003ccode\u003emarkdown.rehypePlugins\u003c/code\u003e, or \u003ccode\u003emarkdown.remarkRehype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16878\"\u003e#16878\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b9f6bb9a238b909d491ca4a7a99620908faf58a8\"\u003e\u003ccode\u003eb9f6bb9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fkatsuhiro\"\u003e\u003ccode\u003e@​fkatsuhiro\u003c/code\u003e\u003c/a\u003e! - Fixes an issue where on-demand (SSR) dynamic routes would return 404 when a prerendered dynamic route with the same URL pattern was sorted first alphabetically. In production builds with \u003ccode\u003e@astrojs/node\u003c/code\u003e adapter, if \u003ccode\u003e[a_prebuild].astro\u003c/code\u003e (prerender=true) came before \u003ccode\u003e[b_ssr].astro\u003c/code\u003e alphabetically, requests to URLs not in the prerendered route's static paths would 404 instead of falling through to the SSR route. The fix adds fallthrough logic so that when a prerendered dynamic route matches but can't serve the request, Astro tries subsequent matching routes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@6.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/withastro/astro/pull/16468\"\u003e#16468\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003epreserveBuildServerDir\u003c/code\u003e adapter feature\u003c/p\u003e\n\u003cp\u003eAdapters can now set \u003ccode\u003epreserveBuildServerDir: true\u003c/code\u003e in their adapter features to keep the \u003ccode\u003edist/server/\u003c/code\u003e directory structure for static builds, mirroring the existing \u003ccode\u003epreserveBuildClientDir\u003c/code\u003e option. This is useful for adapters that require a consistent \u003ccode\u003edist/client/\u003c/code\u003e and \u003ccode\u003edist/server/\u003c/code\u003e layout regardless of build output type.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003esetAdapter({\r\n  name: 'my-adapter',\r\n  adapterFeatures: {\r\n    buildOutput,\r\n    preserveBuildClientDir: true,\r\n    preserveBuildServerDir: true,\r\n  },\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16848\"\u003e#16848\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc\"\u003e\u003ccode\u003ef732f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003emarkdown.processor\u003c/code\u003e configuration option, allowing you to choose an alternative Markdown processor.\u003c/p\u003e\n\u003cp\u003eWebsites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor.\u003c/p\u003e\n\u003cp\u003eThe default processor is \u003ccode\u003eunified()\u003c/code\u003e. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// astro.config.mjs\r\nimport { defineConfig } from 'astro/config';\r\nimport { unified } from '@astrojs/markdown-remark';\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md\"\u003eastro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.4.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/withastro/astro/pull/16900\"\u003e#16900\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e! - Bumps \u003ccode\u003edevalue\u003c/code\u003e dependency to v5.8.1\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16016\"\u003e#16016\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/felmonon\"\u003e\u003ccode\u003e@​felmonon\u003c/code\u003e\u003c/a\u003e! - Fix a false positive in the dev toolbar accessibility audit for anchors with text inside closed \u003ccode\u003e\u0026lt;details\u0026gt;\u003c/code\u003e elements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16911\"\u003e#16911\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes a bug where \u003ccode\u003eexperimental.advancedRouting\u003c/code\u003e with \u003ccode\u003eastro/hono\u003c/code\u003e handlers threw \u003ccode\u003eTypeError: Cannot read properties of undefined (reading 'route')\u003c/code\u003e for unmatched routes instead of rendering the custom 404 page.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16899\"\u003e#16899\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes a false \u0026quot;does not call the middleware() handler\u0026quot; warning when using \u003ccode\u003eastro()\u003c/code\u003e in a custom \u003ccode\u003esrc/app.ts\u003c/code\u003e and the first request is a redirect route.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16887\"\u003e#16887\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/493acdb4abc56534e9efa68af16e3ef273d7d88b\"\u003e\u003ccode\u003e493acdb\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eredirectToDefaultLocale\u003c/code\u003e not working after the Advanced Routing refactoring.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16908\"\u003e#16908\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Improves optimized fallbacks generation when using the Fonts API by using better metrics for bold variants\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.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/withastro/astro/pull/16889\"\u003e#16889\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b94bcfd8da64a3f2862a20572e7a9847aebdbc70\"\u003e\u003ccode\u003eb94bcfd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Fixes a \u003ccode\u003eplugins is not iterable\u003c/code\u003e crash when using a pre-6.0 \u003ccode\u003e@astrojs/mdx\u003c/code\u003e alongside integrations (e.g. Starlight) that set \u003ccode\u003emarkdown.remarkPlugins\u003c/code\u003e, \u003ccode\u003emarkdown.rehypePlugins\u003c/code\u003e, or \u003ccode\u003emarkdown.remarkRehype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16878\"\u003e#16878\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b9f6bb9a238b909d491ca4a7a99620908faf58a8\"\u003e\u003ccode\u003eb9f6bb9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fkatsuhiro\"\u003e\u003ccode\u003e@​fkatsuhiro\u003c/code\u003e\u003c/a\u003e! - Fixes an issue where on-demand (SSR) dynamic routes would return 404 when a prerendered dynamic route with the same URL pattern was sorted first alphabetically. In production builds with \u003ccode\u003e@astrojs/node\u003c/code\u003e adapter, if \u003ccode\u003e[a_prebuild].astro\u003c/code\u003e (prerender=true) came before \u003ccode\u003e[b_ssr].astro\u003c/code\u003e alphabetically, requests to URLs not in the prerendered route's static paths would 404 instead of falling through to the SSR route. The fix adds fallthrough logic so that when a prerendered dynamic route matches but can't serve the request, Astro tries subsequent matching routes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16883\"\u003e#16883\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/eeb064ca9452fd9d0ad9b7557059a646a90a3e57\"\u003e\u003ccode\u003eeeb064c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Restores the \u003ccode\u003eastro/jsx/rehype.js\u003c/code\u003e entry point so that older versions of \u003ccode\u003e@astrojs/mdx\u003c/code\u003e continue to work when used with Astro 6.x. This entry point will be removed in Astro 7.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.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/withastro/astro/pull/16468\"\u003e#16468\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003epreserveBuildServerDir\u003c/code\u003e adapter feature\u003c/p\u003e\n\u003cp\u003eAdapters can now set \u003ccode\u003epreserveBuildServerDir: true\u003c/code\u003e in their adapter features to keep the \u003ccode\u003edist/server/\u003c/code\u003e directory structure for static builds, mirroring the existing \u003ccode\u003epreserveBuildClientDir\u003c/code\u003e option. This is useful for adapters that require a consistent \u003ccode\u003edist/client/\u003c/code\u003e and \u003ccode\u003edist/server/\u003c/code\u003e layout regardless of build output type.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003esetAdapter({\n  name: 'my-adapter',\n  adapterFeatures: {\n    buildOutput,\n    preserveBuildClientDir: true,\n    preserveBuildServerDir: true,\n  },\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16848\"\u003e#16848\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc\"\u003e\u003ccode\u003ef732f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003emarkdown.processor\u003c/code\u003e configuration option, allowing you to choose an alternative Markdown processor.\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/withastro/astro/commit/75ae5df550edf907f771010ab33646f7f90a6b10\"\u003e\u003ccode\u003e75ae5df\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16912\"\u003e#16912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/7604e63d52b6e804ea0ceb54a48600438ce4f673\"\u003e\u003ccode\u003e7604e63\u003c/code\u003e\u003c/a\u003e fix: remove dead else branch in csp insertDirective (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16921\"\u003e#16921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Fix false positive missing-content audit for hidden anchors (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16016\"\u003e#16016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/1e341b1da7d1379fbc19345b2e6e827986450825\"\u003e\u003ccode\u003e1e341b1\u003c/code\u003e\u003c/a\u003e chore: move integration tests to unit tests (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16869\"\u003e#16869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Fix 404 route resolution for experimental.advancedRouting with astro/hono han...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e chore(deps): update devalue (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16900\"\u003e#16900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/86e1190fad15f40677db58614b55e5564f56177d\"\u003e\u003ccode\u003e86e1190\u003c/code\u003e\u003c/a\u003e docs: fix typos in astro:i18n middleware JSDoc (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16574\"\u003e#16574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e fix: astro() marks all pipeline features as used (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16899\"\u003e#16899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/e0e686cdae0ad8e37edc2ff9eb35daca12b713d2\"\u003e\u003ccode\u003ee0e686c\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e feat(fonts): better bold fallbacks (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16908\"\u003e#16908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/astro@6.4.3/packages/astro\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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.60.0 to 8.60.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/598af564db50593277ba46c7fdea3648e4425391\"\u003e\u003ccode\u003e598af56\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): clarify no-redeclare type-value collision not covered by...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5341d59dd3c21fc4e2bf3bce55cf35d8f84e5216\"\u003e\u003ccode\u003e5341d59\u003c/code\u003e\u003c/a\u003e chore: fix lint issues (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12369\"\u003e#12369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f525814f01766487ab34a54d56de20ea5c4fb576\"\u003e\u003ccode\u003ef525814\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2df540cd8bbeb3e2c56d516912f69bf63c1e9450\"\u003e\u003ccode\u003e2df540c\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): defer type checks to improve rules performance (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12296\"\u003e#12296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1ab4284789b36cf482a4d9924719162a02d54243\"\u003e\u003ccode\u003e1ab4284\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): respect ECMAScript line terminators in ts-comment rules (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2f49df599b2db5f2937caf975d3c63e5cdeb0ea1\"\u003e\u003ccode\u003e2f49df5\u003c/code\u003e\u003c/a\u003e docs: update references to \u003ccode\u003e@stylistic/eslint-plugin\u003c/code\u003e rules in documentation ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.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.60.0 to 8.60.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.4.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\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.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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...\n\n_Description has been truncated_","html_url":"https://github.com/beelzer/dcln/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/beelzer%2Fdcln/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"},{"uuid":"4577487846","node_id":"PR_kwDOSlb88M7iGNsN","number":14,"state":"closed","title":"chore(deps): bump the non-breaking-changes group across 1 directory with 47 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T03:19:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T06:30:36.000Z","updated_at":"2026-06-04T03:19:06.000Z","time_to_close":74908,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"non-breaking-changes","update_count":47,"packages":[{"name":"@clack/prompts","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/bombshell-dev/clack"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.1","new_version":"4.7.2","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@iconify/json","old_version":"2.2.476","new_version":"2.2.481","repository_url":"https://github.com/iconify/icon-sets"},{"name":"@jspm/generator","old_version":"2.15.0","new_version":"2.16.1","repository_url":"https://github.com/jspm/jspm"},{"name":"@tanstack/vue-query","old_version":"5.100.11","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@tiptap/core","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-document","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-highlight","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-image","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-placeholder","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-align","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-style","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-underline","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/vue-3","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tsdown/css","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vue/shared","old_version":"3.5.34","new_version":"3.5.35","repository_url":"https://github.com/vuejs/core"},{"name":"cspell","old_version":"10.0.0","new_version":"10.0.1","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"dayjs","old_version":"1.11.20","new_version":"1.11.21","repository_url":"https://github.com/iamkun/dayjs"},{"name":"element-plus","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/element-plus/element-plus"},{"name":"es-toolkit","old_version":"1.45.1","new_version":"1.47.0","repository_url":"https://github.com/toss/es-toolkit"},{"name":"eslint-plugin-jsonc","old_version":"3.1.2","new_version":"3.2.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-jsonc"},{"name":"eslint-plugin-yml","old_version":"3.3.2","new_version":"3.4.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-yml"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"knip","old_version":"6.14.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.8","new_version":"2.1.9","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"oxfmt","old_version":"0.51.0","new_version":"0.53.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.66.0","new_version":"1.68.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"reka-ui","old_version":"2.9.7","new_version":"2.9.9","repository_url":"https://github.com/unovue/reka-ui"},{"name":"tsdown","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"turbo","old_version":"2.9.14","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"unplugin-dts","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vue-router","old_version":"5.0.7","new_version":"5.1.0","repository_url":"https://github.com/vuejs/router"},{"name":"vue-tsc","old_version":"3.3.1","new_version":"3.3.3","repository_url":"https://github.com/vuejs/language-tools"},{"name":"vue","old_version":"3.5.34","new_version":"3.5.35","repository_url":"https://github.com/vuejs/core"},{"name":"vxe-pc-ui","old_version":"4.14.17","new_version":"4.14.26","repository_url":"https://github.com/x-extends/vxe-pc-ui"},{"name":"vxe-table","old_version":"4.19.0","new_version":"4.19.6","repository_url":"https://github.com/x-extends/vxe-table"},{"name":"zod-defaults","old_version":"0.1.3","new_version":"0.2.3","repository_url":"https://github.com/Ced-Sharp/zod-defaults"},{"name":"@ast-grep/napi","old_version":"0.42.3","new_version":"0.43.0","repository_url":"https://github.com/ast-grep/ast-grep"}],"path":null,"ecosystem":"npm"},"body":"Bumps the non-breaking-changes group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@clack/prompts](https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts) | `1.4.0` | `1.5.0` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.1` | `4.7.2` |\n| [@iconify/json](https://github.com/iconify/icon-sets) | `2.2.476` | `2.2.481` |\n| [@jspm/generator](https://github.com/jspm/jspm) | `2.15.0` | `2.16.1` |\n| [@tanstack/vue-query](https://github.com/TanStack/query/tree/HEAD/packages/vue-query) | `5.100.11` | `5.100.14` |\n| [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-document](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-document) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-highlight](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-highlight) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-placeholder](https://github.com/ueberdosis/tiptap/tree/HEAD/packages-deprecated/extension-placeholder) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-text-align](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-align) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-text-style](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-style) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-underline](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-underline) | `3.23.6` | `3.24.0` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.23.6` | `3.24.0` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.23.6` | `3.24.0` |\n| [@tiptap/vue-3](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/vue-3) | `3.23.6` | `3.24.0` |\n| [@tsdown/css](https://github.com/rolldown/tsdown/tree/HEAD/packages/css) | `0.22.0` | `0.22.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.4` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.4` | `8.60.1` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.34` | `3.5.35` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `10.0.0` | `10.0.1` |\n| [dayjs](https://github.com/iamkun/dayjs) | `1.11.20` | `1.11.21` |\n| [element-plus](https://github.com/element-plus/element-plus) | `2.14.0` | `2.14.1` |\n| [es-toolkit](https://github.com/toss/es-toolkit) | `1.45.1` | `1.47.0` |\n| [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) | `3.1.2` | `3.2.0` |\n| [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) | `3.3.2` | `3.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.14.1` | `6.15.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |\n| [reka-ui](https://github.com/unovue/reka-ui) | `2.9.7` | `2.9.9` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.9.16` |\n| [unplugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/unplugin-dts) | `1.0.1` | `1.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n| [vue-router](https://github.com/vuejs/router) | `5.0.7` | `5.1.0` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.1` | `3.3.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.34` | `3.5.35` |\n| [vxe-pc-ui](https://github.com/x-extends/vxe-pc-ui) | `4.14.17` | `4.14.26` |\n| [vxe-table](https://github.com/x-extends/vxe-table) | `4.19.0` | `4.19.6` |\n| [zod-defaults](https://github.com/Ced-Sharp/zod-defaults) | `0.1.3` | `0.2.3` |\n| [@ast-grep/napi](https://github.com/ast-grep/ast-grep) | `0.42.3` | `0.43.0` |\n\n\nUpdates `@clack/prompts` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/releases\"\u003e@​clack/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/543\"\u003e#543\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Adds support for Standard Schema validation\u003c/p\u003e\n\u003cp\u003ePrompts accept an optional \u003ccode\u003evalidate()\u003c/code\u003e function to validate user input. While a function provides more flexibility and customization over your validation, it can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier.\u003c/p\u003e\n\u003cp\u003eLibraries following the \u003ca href=\"https://github.com/standard-schema/standard-schema\"\u003eStandard Schema specification\u003c/a\u003e are now natively supported. For example, using \u003ca href=\"https://arktype.io/\"\u003eArktype\u003c/a\u003e:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003eimport { text } from '@clack/prompts';\nimport { type } from 'arktype';\n\u003cp\u003econst name = await text({\nmessage: 'Enter your email',\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evalidate: type('string.email').describe('Invalid email'),\n});\n\u003c/code\u003e\u003c/pre\u003e\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/bombshell-dev/clack/pull/542\"\u003e#542\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/534\"\u003e#534\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattStypa\"\u003e\u003ccode\u003e@​MattStypa\u003c/code\u003e\u003c/a\u003e! - Fixed spaces and uppercase characters in multiline prompt\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/540\"\u003e#540\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.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/bombshell-dev/clack/blob/main/packages/prompts/CHANGELOG.md\"\u003e@​clack/prompts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/543\"\u003e#543\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Adds support for Standard Schema validation\u003c/p\u003e\n\u003cp\u003ePrompts accept an optional \u003ccode\u003evalidate()\u003c/code\u003e function to validate user input. While a function provides more flexibility and customization over your validation, it can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier.\u003c/p\u003e\n\u003cp\u003eLibraries following the \u003ca href=\"https://github.com/standard-schema/standard-schema\"\u003eStandard Schema specification\u003c/a\u003e are now natively supported. For example, using \u003ca href=\"https://arktype.io/\"\u003eArktype\u003c/a\u003e:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003eimport { text } from '@clack/prompts';\nimport { type } from 'arktype';\n\u003cp\u003econst name = await text({\nmessage: 'Enter your email',\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evalidate: type('string.email').describe('Invalid email'),\n});\n\u003c/code\u003e\u003c/pre\u003e\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/bombshell-dev/clack/pull/542\"\u003e#542\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/534\"\u003e#534\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattStypa\"\u003e\u003ccode\u003e@​MattStypa\u003c/code\u003e\u003c/a\u003e! - Fixed spaces and uppercase characters in multiline prompt\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/540\"\u003e#540\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.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/bombshell-dev/clack/commit/030ba4d776e5985050c0e2712da7008bd93b8847\"\u003e\u003ccode\u003e030ba4d\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e feat: standard schema for validation (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e fix: spaces and uppercase characters in multiline input (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bombshell-dev/clack/commits/@clack/prompts@1.5.0/packages/prompts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-community/eslint-plugin-eslint-comments` from 4.7.1 to 4.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/releases\"\u003e@​eslint-community/eslint-plugin-eslint-comments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.1...v4.7.2\"\u003e4.7.2\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pin \u003ccode\u003emodern-monaco\u003c/code\u003e version to 0.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/320\"\u003e#320\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/62a2c3a4ee304a8383f170369c9999198d9bdac8\"\u003e62a2c3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocs:\u003c/strong\u003e use \u003ccode\u003emodern-monaco\u003c/code\u003e instead of \u003ccode\u003emonaco-editor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/311\"\u003e#311\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/42919d06d8a221e061de3ec98e35bf508ea2b5d2\"\u003e42919d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/62a2c3a4ee304a8383f170369c9999198d9bdac8\"\u003e\u003ccode\u003e62a2c3a\u003c/code\u003e\u003c/a\u003e fix(deps): pin \u003ccode\u003emodern-monaco\u003c/code\u003e version to 0.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/42919d06d8a221e061de3ec98e35bf508ea2b5d2\"\u003e\u003ccode\u003e42919d0\u003c/code\u003e\u003c/a\u003e fix(docs): use \u003ccode\u003emodern-monaco\u003c/code\u003e instead of \u003ccode\u003emonaco-editor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/311\"\u003e#311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/9f93f007eedfd436aa6b009ef6fa90c69d4e7153\"\u003e\u003ccode\u003e9f93f00\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/deploy-pages from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/b99d9d50674acb86f1eacbd3460cb29998473afb\"\u003e\u003ccode\u003eb99d9d5\u003c/code\u003e\u003c/a\u003e chore(deps): Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/7c77e2b4dca7ef72e0ac7681e17dcb3acb35235a\"\u003e\u003ccode\u003e7c77e2b\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/configure-pages from 5 to 6 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.1...v4.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/json` from 2.2.476 to 2.2.481\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/cbe048beaa414733095779c9dfe48ed90d84e76c\"\u003e\u003ccode\u003ecbe048b\u003c/code\u003e\u003c/a\u003e Update 5 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/dcaf24b39f69363268213f847f7f9066989a441e\"\u003e\u003ccode\u003edcaf24b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/302\"\u003e#302\u003c/a\u003e from iconify/renovate/typescript-eslint-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/31baa79a3b7029eb0e537e167581ed00f0bd632c\"\u003e\u003ccode\u003e31baa79\u003c/code\u003e\u003c/a\u003e Update dependency \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e to ^8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/fd3cde511820afb102904f87ae0823ee2c00b517\"\u003e\u003ccode\u003efd3cde5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/301\"\u003e#301\u003c/a\u003e from iconify/renovate/vitest-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/750ca0c305265baa9f502ddb666426192bc08958\"\u003e\u003ccode\u003e750ca0c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/303\"\u003e#303\u003c/a\u003e from iconify/renovate/node-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/6f1269fab6bf3ec390695a5a5831549feccf92ea\"\u003e\u003ccode\u003e6f1269f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/305\"\u003e#305\u003c/a\u003e from iconify/renovate/eslint-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/bb1d9d6f904c838105151c3ae70b6d72396b97cb\"\u003e\u003ccode\u003ebb1d9d6\u003c/code\u003e\u003c/a\u003e Update dependency eslint to ^10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/d252f97cc569914ce9ad964b8f46dc4539fb07b5\"\u003e\u003ccode\u003ed252f97\u003c/code\u003e\u003c/a\u003e Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^25.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/36986da5048db2a6de743475d16a5749f12459c2\"\u003e\u003ccode\u003e36986da\u003c/code\u003e\u003c/a\u003e Update dependency vitest to ^4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/cc371525b28603b1fa8a740fdfdadcb06e6936f9\"\u003e\u003ccode\u003ecc37152\u003c/code\u003e\u003c/a\u003e Update 7 icon sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/iconify/icon-sets/compare/2.2.476...2.2.481\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jspm/generator` from 2.15.0 to 2.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jspm/jspm/releases\"\u003e@​jspm/generator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​jspm/generator\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.16.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: resolve #-prefixed inputMap specifiers in linked secondary scopes by \u003ca href=\"https://github.com/guybedford\"\u003e\u003ccode\u003e@​guybedford\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jspm/jspm/pull/2738\"\u003ejspm/jspm#2738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jspm/jspm/compare/4.5.0...@jspm/generator@2.16.1\"\u003ehttps://github.com/jspm/jspm/compare/4.5.0...@​jspm/generator@2.16.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/jspm/jspm/commit/f28168bfd26c063df82491dc95c592fba416e520\"\u003e\u003ccode\u003ef28168b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​jspm/generator\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/9ce2f1ad4b08c5d7ef16750fd0a74c781b65b382\"\u003e\u003ccode\u003e9ce2f1a\u003c/code\u003e\u003c/a\u003e fix: resolve #-prefixed inputMap specifiers in linked secondary scopes (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2738\"\u003e#2738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/8316541e7a3ecc9334f73dfadc108970416dd2e8\"\u003e\u003ccode\u003e8316541\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/7fcea1bc6c9d9036ea5dc6b5c979833688d6d75a\"\u003e\u003ccode\u003e7fcea1b\u003c/code\u003e\u003c/a\u003e 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/9eda95da448206c037e56b5f6142c96ae96b5027\"\u003e\u003ccode\u003e9eda95d\u003c/code\u003e\u003c/a\u003e chore: update dependencies across workspace (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2734\"\u003e#2734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/dbe3cb4bf6a76eaa58d23d507ff3c676c5841f0e\"\u003e\u003ccode\u003edbe3cb4\u003c/code\u003e\u003c/a\u003e Update claude-code-review.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/298ff657378a96009119303d7314846ae3de91b5\"\u003e\u003ccode\u003e298ff65\u003c/code\u003e\u003c/a\u003e Update CLAUDE model and permissions in workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/c332d6b86fd0d3800bf9e25f77b2c6a83e89d96e\"\u003e\u003ccode\u003ec332d6b\u003c/code\u003e\u003c/a\u003e Enable full output for Claude code review (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2737\"\u003e#2737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/7f4b95bdb86d4390fa3c73273d7412edf720e974\"\u003e\u003ccode\u003e7f4b95b\u003c/code\u003e\u003c/a\u003e optimize code review workflow (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2736\"\u003e#2736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/b2e08a766a62a7b69fd65d9c7b6368df383af0fb\"\u003e\u003ccode\u003eb2e08a7\u003c/code\u003e\u003c/a\u003e Add claude GitHub actions (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2735\"\u003e#2735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jspm/jspm/compare/@jspm/generator@2.15.0...@jspm/generator@2.16.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/vue-query` from 5.100.11 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/vue-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\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.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(query-core): drop the custom \u003ccode\u003eNoInfer\u0026lt;T\u0026gt;\u003c/code\u003e re-export and rely on TypeScript's built-in \u003ccode\u003eNoInfer\u003c/code\u003e (TS ≥ 5.4) so \u003ccode\u003eNoInfer\u0026lt;X[K]\u0026gt;\u003c/code\u003e stays assignable to \u003ccode\u003eX[K]\u003c/code\u003e in generic contexts (fixes \u003ca href=\"https://redirect.github.com/TanStack/query/issues/9937\"\u003e#9937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10593\"\u003e#10593\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/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\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.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\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/vue-query/CHANGELOG.md\"\u003e@​tanstack/vue-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\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.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(query-core): drop the custom \u003ccode\u003eNoInfer\u0026lt;T\u0026gt;\u003c/code\u003e re-export and rely on TypeScript's built-in \u003ccode\u003eNoInfer\u003c/code\u003e (TS ≥ 5.4) so \u003ccode\u003eNoInfer\u0026lt;X[K]\u0026gt;\u003c/code\u003e stays assignable to \u003ccode\u003eX[K]\u003c/code\u003e in generic contexts (fixes \u003ca href=\"https://redirect.github.com/TanStack/query/issues/9937\"\u003e#9937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10593\"\u003e#10593\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/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\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.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\u003c/code\u003e\u003c/a\u003e fix(query-core): use built-in NoInfer for generic indexed-access types (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10593\"\u003e#10593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/vue-query@5.100.14/packages/vue-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/core` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/core/CHANGELOG.md\"\u003e@​tiptap/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7c0499b]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-document` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-document's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-document/CHANGELOG.md\"\u003e@​tiptap/extension-document's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-document\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-highlight` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-highlight's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-highlight/CHANGELOG.md\"\u003e@​tiptap/extension-highlight's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-highlight\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-image` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-image's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-image/CHANGELOG.md\"\u003e@​tiptap/extension-image's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-image\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-link` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-link's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-link/CHANGELOG.md\"\u003e@​tiptap/extension-link's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7c0499b]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-link\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-placeholder` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-placeholder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages-deprecated/extension-placeholder/CHANGELOG.md\"\u003e@​tiptap/extension-placeholder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [2d05614]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extensions\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages-deprecated/extension-placeholder\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-text-align` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-text-align's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-text-align/CHANGELOG.md\"\u003e@​tiptap/extension-text-align's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-text-align\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-text-style` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-text-style's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying a...\n\n_Description has been truncated_","html_url":"https://github.com/trevorrockss484/vue-vben-admin/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorrockss484%2Fvue-vben-admin/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4576090163","node_id":"PR_kwDOQJqlAs7iBtbZ","number":52,"state":"open","title":"build(deps-dev): bump @commitlint/cli from 20.1.0 to 21.0.2","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-06-03T01:09:34.000Z","updated_at":"2026-06-03T01:09:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.1.0","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.1.0 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.1.0\u0026new-version=21.0.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/metaneutrons/png2lvgl/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaneutrons%2Fpng2lvgl/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"4576028768","node_id":"PR_kwDOR2H5Fc7iBgWL","number":64,"state":"open","title":"chore(deps): bump the root-tooling 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-06-03T00:55:29.000Z","updated_at":"2026-06-03T00:56:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"root-tooling","update_count":7,"packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"typescript-eslint","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the root-tooling group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.60.0` | `8.60.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.8` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.4.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.60.0 to 8.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.1 (2026-06-01)\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.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.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 `@vitest/coverage-v8` from 4.1.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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` from 4.1.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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/felipesauer/safeaccess-inline/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipesauer%2Fsafeaccess-inline/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"},{"uuid":"4572061926","node_id":"PR_kwDOCvw6E87h0Zgj","number":1347,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 17.8.0 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","Stale","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-07T01:49:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T13:58:22.000Z","updated_at":"2026-06-07T01:49:24.000Z","time_to_close":388260,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"17.8.0","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 17.8.0 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=17.8.0\u0026new-version=21.0.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/codeparticle/formal/pull/1347","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeparticle%2Fformal/issues/1347","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1347/packages"},{"uuid":"4569572118","node_id":"PR_kwDOSNhAS87hsPPC","number":13,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.2","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-06-02T07:53:47.000Z","updated_at":"2026-06-02T07:53:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.8.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=19.8.1\u0026new-version=21.0.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/HoonyL84/harness-template/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoonyL84%2Fharness-template/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4568450830","node_id":"PR_kwDOOJ7bUc7homot","number":156,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 21.0.1 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","automerge-candidate"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T04:36:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T04:36:40.000Z","updated_at":"2026-06-02T04:37:46.000Z","time_to_close":10,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=21.0.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/yeyuqwer/yeyu-blog/pull/156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyuqwer%2Fyeyu-blog/issues/156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/156/packages"},{"uuid":"4568442681","node_id":"PR_kwDOPNdhBM7hok-K","number":61,"state":"closed","title":"build: bump the commitlint group with 2 updates","user":"dependabot[bot]","labels":["dependencies","javascript","auto-approved"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T04:35:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T04:34:41.000Z","updated_at":"2026-06-02T04:35:51.000Z","time_to_close":69,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"commitlint","update_count":2,"packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the commitlint group with 2 updates: [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) and [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional).\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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/ukhsa-collaboration/standards-development/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukhsa-collaboration%2Fstandards-development/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"},{"uuid":"4568306301","node_id":"PR_kwDOSeHP-s7hoJFv","number":28,"state":"open","title":"chore(deps): bump the minor-patch group with 9 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-06-02T04:02:37.000Z","updated_at":"2026-06-02T04:02:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-patch","update_count":9,"packages":[{"name":"ink","old_version":"7.0.4","new_version":"7.0.5","repository_url":"https://github.com/vadimdemedes/ink"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.15","new_version":"19.2.16","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@yao-pkg/pkg","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/yao-pkg/pkg"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-patch group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ink](https://github.com/vadimdemedes/ink) | `7.0.4` | `7.0.5` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.15` | `19.2.16` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@yao-pkg/pkg](https://github.com/yao-pkg/pkg) | `6.19.0` | `6.20.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.4` | `8.60.1` |\n\nUpdates `ink` from 7.0.4 to 7.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vadimdemedes/ink/releases\"\u003eink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Handle incomplete stack frames in error overview (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/965\"\u003e#965\u003c/a\u003e)  b2350c1\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\"\u003ehttps://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\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/vadimdemedes/ink/commit/cb222feec2bd4a70ec2e559997f73f6119d21329\"\u003e\u003ccode\u003ecb222fe\u003c/code\u003e\u003c/a\u003e 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/commit/dca5c06b8bc37688d406e1a65589e24315762d30\"\u003e\u003ccode\u003edca5c06\u003c/code\u003e\u003c/a\u003e Fix: Update to xo 2 (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/commit/b2350c1e800ab5aadb14c0140ffb2797038e75f3\"\u003e\u003ccode\u003eb2350c1\u003c/code\u003e\u003c/a\u003e Fix: Handle incomplete stack frames in error overview (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\"\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.6 to 19.2.7\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.7 (June 1st, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed missing \u003ccode\u003eFormData\u003c/code\u003e entries in Server Actions which regressed in 19.2.6\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36566\"\u003e#36566\u003c/a\u003e by \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/6117d7cca4906492c51fe6a03381e35adfd86e7d\"\u003e\u003ccode\u003e6117d7c\u003c/code\u003e\u003c/a\u003e Version 19.2.7 (\u003ca href=\"https://github.com/facebook/react/tree/HEAD/packages/react/issues/36591\"\u003e#36591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.7/packages/react\"\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 react since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.15 to 19.2.16\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 `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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/react` from 19.2.15 to 19.2.16\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 `@yao-pkg/pkg` from 6.19.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yao-pkg/pkg/blob/main/CHANGELOG.md\"\u003e@​yao-pkg/pkg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\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/yao-pkg/pkg/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.22.3 to 4.22.4\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.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.3...v4.22.4\"\u003e4.22.4\u003c/a\u003e (2026-05-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve CommonJS directory requires inside dependencies (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/803\"\u003e#803\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97\"\u003e1ce8463\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.4\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97\"\u003e\u003ccode\u003e1ce8463\u003c/code\u003e\u003c/a\u003e fix: resolve CommonJS directory requires inside dependencies (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/803\"\u003e#803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.3...v4.22.4\"\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.4 to 8.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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.60.1 (2026-06-01)\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.60.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.60.0 (2026-05-25)\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.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/typescript-eslint\"\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/anir-dev/git-smart-flow/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anir-dev%2Fgit-smart-flow/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"4568243773","node_id":"PR_kwDOR1FfLs7hn77P","number":40,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-06-07T12:35:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T03:48:41.000Z","updated_at":"2026-06-07T12:35:58.000Z","time_to_close":463628,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.5.3\u0026new-version=21.0.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\n\n\u003c!-- codesmith:footer --\u003e\n---\n\u003ca href=\"https://app.blacksmith.sh/frontal-labs/codesmith/mcp-server/pr/40\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg\"\u003e\u003cimg alt=\"View with Codesmith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://backend.blacksmith.sh/track/enable-autofix?expires=1782964124\u0026installation_id=135296669\u0026pr_number=40\u0026repository=frontal-labs%2Fmcp-server\u0026return_to=https%3A%2F%2Fgithub.com%2Ffrontal-labs%2Fmcp-server%2Fpull%2F40\u0026signature=9e7ae88528322950ac9f18b23270d91ba46601898c1a287688a22bba2c33bc11\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg\"\u003e\u003cimg alt=\"Autofix with Codesmith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003csup\u003eNeed help on this PR? Tag \u003ccode\u003e@codesmith\u003c/code\u003e with what you need. Autofix is disabled.\u003c/sup\u003e\n\n\u003c!-- codesmith:autofix:disabled --\u003e\n\u003c!-- /codesmith:footer --\u003e","html_url":"https://github.com/frontal-labs/mcp-server/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frontal-labs%2Fmcp-server/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"},{"uuid":"4568241781","node_id":"PR_kwDORhjWjs7hn7g5","number":120,"state":"open","title":"chore(deps)(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","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-06-02T03:48:12.000Z","updated_at":"2026-06-02T03:52:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/xabierlameiro/price-tracker/pull/120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xabierlameiro%2Fprice-tracker/issues/120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/120/packages"},{"uuid":"4568229917","node_id":"PR_kwDOQ_Czqs7hn5BN","number":21,"state":"open","title":"chore(deps): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":["major-update"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T03:45:45.000Z","updated_at":"2026-06-02T03:45:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.5.3\u0026new-version=21.0.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/byheaven/byheaven-skills/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/byheaven%2Fbyheaven-skills/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}],"issue_packages":[{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-08T00:34:47.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4609241248","node_id":"PR_kwDOLF4Whs7jtyrD","number":66,"state":"open","title":"chore(deps-dev): bump the dev-deps group with 6 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["agrawal-rohit"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:34:47.000Z","updated_at":"2026-06-08T00:36:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-deps","update_count":6,"packages":[{"name":"@tailwindcss/vite","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tailwindcss","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tsdown","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-deps group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.2` | `4.3.0` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.3.0` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.1` |\n\nUpdates `@tailwindcss/vite` from 4.2.2 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-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\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5cb1efdf416a6d37012d31cc1306c41cb35bbdc1\"\u003e\u003ccode\u003e5cb1efd\u003c/code\u003e\u003c/a\u003e fix(vite): resolve tsconfig paths in CSS and JS resolvers (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\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.2 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59936c6cbb69eae114bc52d0a3c9315b18c70a94\"\u003e\u003ccode\u003e59936c6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/90a2373620200bf7e04d1d228a0d0a1c506e532a\"\u003e\u003ccode\u003e90a2373\u003c/code\u003e\u003c/a\u003e add \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e1ccf7f115732032d2b079073dcb0009baf82a0\"\u003e\u003ccode\u003e2e1ccf7\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/754e7512ca51db1f922dc67724cf85a0fde923a9\"\u003e\u003ccode\u003e754e751\u003c/code\u003e\u003c/a\u003e Use non-existing example in tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20021\"\u003e#20021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8c779899bbc94f9f642db47cafdd363dd094984a\"\u003e\u003ccode\u003e8c77989\u003c/code\u003e\u003c/a\u003e Ensure math operators are surrounded by whitespace in arbitrary values (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/b4db3b99d1bc6209a936df34914e0fc34b3e5095\"\u003e\u003ccode\u003eb4db3b9\u003c/code\u003e\u003c/a\u003e Add scrollbar-width and scrollbar-color utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19981\"\u003e#19981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/08cad84bbe2002398655d7f981eae47379e07fc3\"\u003e\u003ccode\u003e08cad84\u003c/code\u003e\u003c/a\u003e Support \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e to support fallbac...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsdown` from 0.22.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rolldown/tsdown/releases\"\u003etsdown's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edts\u003c/strong\u003e: Add \u003ccode\u003edeps.dts\u003c/code\u003e option to override dependency bundling for declaration files  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/881bf0d\"\u003e\u003c!-- raw HTML omitted --\u003e(881bf)\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\u003eImprove error handling for unsupported TypeScript syntax on Node.js  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/b93db6d\"\u003e\u003c!-- raw HTML omitted --\u003e(b93db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd extra space for emoji rendering in Windows Terminal  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/925cc87\"\u003e\u003c!-- raw HTML omitted --\u003e(925cc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eunbundle\u003c/strong\u003e: Add shims support for unbundled builds  -  by \u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/rolldown/tsdown/commit/fc9913d\"\u003e\u003c!-- raw HTML omitted --\u003e(fc991)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/rolldown/tsdown/compare/v0.22.0...v0.22.1\"\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/rolldown/tsdown/commit/0bddff16b6eabf64bd60f8ea5cebf988f9e1aa4d\"\u003e\u003ccode\u003e0bddff1\u003c/code\u003e\u003c/a\u003e chore: release v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/fc9913da92a79cb9ff6ffc1742d58e1991041959\"\u003e\u003ccode\u003efc9913d\u003c/code\u003e\u003c/a\u003e fix(unbundle): add shims support for unbundled builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/35041716a64ce3c49bbde31a4b2cd16c9b202e58\"\u003e\u003ccode\u003e3504171\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/881bf0d831f9774bdc4553af891c58e0d42e3bbc\"\u003e\u003ccode\u003e881bf0d\u003c/code\u003e\u003c/a\u003e feat(dts): add \u003ccode\u003edeps.dts\u003c/code\u003e option to override dependency bundling for declarat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/937f2535866cb3cf72b3de2b195ba20a167b0ecb\"\u003e\u003ccode\u003e937f253\u003c/code\u003e\u003c/a\u003e ci: use \u003ccode\u003eactionspack\u003c/code\u003e to bundle workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/6c92bcdd7594c94588bc81df9b400db400c9589c\"\u003e\u003ccode\u003e6c92bcd\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/6ac0214f55a1e518e293cf2796eda594d620d3a9\"\u003e\u003ccode\u003e6ac0214\u003c/code\u003e\u003c/a\u003e chore: upgrade deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/5d6b0544711fbaf1f60b285ed4aa5208d922b25a\"\u003e\u003ccode\u003e5d6b054\u003c/code\u003e\u003c/a\u003e refactor: tsup \u003ccode\u003eoutExtension\u003c/code\u003e migration compatibility (\u003ca href=\"https://redirect.github.com/rolldown/tsdown/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/d424e0890d75245a8e8b8e067f8d15d8100a34eb\"\u003e\u003ccode\u003ed424e08\u003c/code\u003e\u003c/a\u003e docs: remove dts.cjsReexport and clarify Node.js requirement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rolldown/tsdown/commit/27dee935a0efe506d8dc72bb038190278ac75f95\"\u003e\u003ccode\u003e27dee93\u003c/code\u003e\u003c/a\u003e docs: clarify dts.cjsReexport outDir limitation and CJS maintenance status\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rolldown/tsdown/compare/v0.22.0...v0.22.1\"\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/agrawal-rohit/react-animated-waves/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrawal-rohit%2Freact-animated-waves/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-08T00:25:59.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4609216524","node_id":"PR_kwDOO2Y8vc7jttqL","number":45,"state":"open","title":"deps: bump the pnpm-workspace group across 1 directory with 38 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:25:59.000Z","updated_at":"2026-06-08T00:27:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"pnpm-workspace","update_count":38,"packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"dependency-cruiser","old_version":"17.4.0","new_version":"17.4.3","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"knip","old_version":"6.11.0","new_version":"6.16.1","repository_url":"https://github.com/webpro-nl/knip"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@aws-sdk/client-s3","old_version":"3.1042.0","new_version":"3.1063.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.1042.0","new_version":"3.1063.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@nestjs/common","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-express","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-socket.io","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/swagger","old_version":"11.4.2","new_version":"11.4.4","repository_url":"https://github.com/nestjs/swagger"},{"name":"@nestjs/websockets","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"fit-file-parser","old_version":"2.3.3","new_version":"3.0.2","repository_url":"https://github.com/jimmykane/fit-parser"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"@nestjs/testing","old_version":"11.1.19","new_version":"11.1.24","repository_url":"https://github.com/nestjs/nest"},{"name":"@swc/core","old_version":"1.15.33","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@radix-ui/react-select","old_version":"2.2.6","new_version":"2.3.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@tanstack/react-query","old_version":"5.100.9","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"lucide-react","old_version":"1.14.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"radix-ui","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"react","old_version":"19.2.5","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.5","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-router-dom","old_version":"7.14.2","new_version":"7.17.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"@tailwindcss/vite","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"shadcn","old_version":"4.6.0","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"tailwindcss","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"framer-motion","old_version":"12.38.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"}],"path":null,"ecosystem":"npm"},"body":"Bumps the pnpm-workspace group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.5.3` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.0.2` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `17.4.0` | `17.4.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.11.0` | `6.16.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.60.1` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.1042.0` | `3.1063.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.1042.0` | `3.1063.0` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.19` | `11.1.24` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.19` | `11.1.24` |\n| [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) | `11.1.19` | `11.1.24` |\n| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io) | `11.1.19` | `11.1.24` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.2` | `11.4.4` |\n| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets) | `11.1.19` | `11.1.24` |\n| [fit-file-parser](https://github.com/jimmykane/fit-parser) | `2.3.3` | `3.0.2` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing) | `11.1.19` | `11.1.24` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.15.33` | `1.15.40` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [@radix-ui/react-select](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/select) | `2.2.6` | `2.3.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.9` | `5.101.0` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.14.0` | `1.17.0` |\n| [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.4.3` | `1.5.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.17` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.17.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.4` | `4.3.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.6.0` | `4.10.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.4` | `4.3.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [framer-motion](https://github.com/motiondivision/motion) | `12.38.0` | `12.40.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.8` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n\n\nUpdates `@commitlint/cli` from 20.5.3 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.5.3 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.59.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-cruiser` from 17.4.0 to 17.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sverweij/dependency-cruiser/releases\"\u003edependency-cruiser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.4.3\u003c/h2\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efbea056c build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.4.2\u003c/h2\u003e\n\u003ch2\u003e📖 documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eae0fcd40 doc: corrects typos\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eccef0faf chore(npm): sets ignore-scripts on ci\u003c/li\u003e\n\u003cli\u003eca1fe64a chore(npm): makes publishing staged only\u003c/li\u003e\n\u003cli\u003ed4dad0e9/ 1d1bc84a/ ca1fe64a build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.4.1\u003c/h2\u003e\n\u003cp\u003eThis release was created on github, but not published to npmjs\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/sverweij/dependency-cruiser/commit/2584d9e13418d000c587390bacb534352605f8e3\"\u003e\u003ccode\u003e2584d9e\u003c/code\u003e\u003c/a\u003e 17.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/fbea056c8337fa560fa17d336c078b49b34f5752\"\u003e\u003ccode\u003efbea056\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/643462527f7a57ebf0ebc6277b4f47e4cf5180ab\"\u003e\u003ccode\u003e6434625\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/17595296667bdf8fb0c352042621dd84dce7f4b2\"\u003e\u003ccode\u003e1759529\u003c/code\u003e\u003c/a\u003e chore(ci): simplifies release flow again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/56e501fd13e44fad8377997edf183f6930f6afa9\"\u003e\u003ccode\u003e56e501f\u003c/code\u003e\u003c/a\u003e 17.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ccef0fafbb4f7ef740f74477a97c2b7bc54606ca\"\u003e\u003ccode\u003eccef0fa\u003c/code\u003e\u003c/a\u003e chore(npm): sets ignore-scripts on ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ca1fe64a4eef04e7a9177fd7c70ddf73ce0a903c\"\u003e\u003ccode\u003eca1fe64\u003c/code\u003e\u003c/a\u003e chore(npm): makes publishing staged only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/b5b2c36b0bd0120f949ac1d0b7e74babeca3f8c5\"\u003e\u003ccode\u003eb5b2c36\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/1d1bc84a22d1020c275b9e6408096bac1ac795bb\"\u003e\u003ccode\u003e1d1bc84\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/ae0fcd40b90ecf03be2b471b7608c602d744fd58\"\u003e\u003ccode\u003eae0fcd4\u003c/code\u003e\u003c/a\u003e doc: corrects typos\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sverweij/dependency-cruiser/compare/v17.4.0...v17.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.3.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.11.0 to 6.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.16.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve SvelteKit ./$types in monorepos (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1778\"\u003e#1778\u003c/a\u003e) (370ef4cefec6540ee7d58249cc402f479ec76405)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.16.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate sponsors data + fix sponsors layout on narrow screen (fadf13aad5ebc36f7bc2fbc7615bfa77681d3660)\u003c/li\u003e\n\u003cli\u003eDetect binaries and entry files in node:child_process calls (fc3598cfac640a2ae53b0113883574bf15bc5d47)\u003c/li\u003e\n\u003cli\u003eIt works™ (2d9ce845121484ef3ff84e4a761cfd98891d6c09)\u003c/li\u003e\n\u003cli\u003eExtend known issues doc w/ workaround (close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1763\"\u003e#1763\u003c/a\u003e) (fcd444bf4c6b2ddc5d7bb0ebfd6f3991cf5d0be2)\u003c/li\u003e\n\u003cli\u003eSupport ignoreExportsUsedInFile per workspace (close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1495\"\u003e#1495\u003c/a\u003e) (4b898a971105d865d86d4dc81bc694721bff8793)\u003c/li\u003e\n\u003cli\u003efeat(vscode): add \u003ccode\u003eworkspaceRoot\u003c/code\u003e config option to enable use in a VSCode workspace that does not have package.json at the workspace root (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1667\"\u003e#1667\u003c/a\u003e) (7c1ebef6ab6d1c5a7f2f920d4243241246b53f4b) - thanks \u003ca href=\"https://github.com/anmilleriii\"\u003e\u003ccode\u003e@​anmilleriii\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eReplace minimist with node:util.parseArgs (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1492\"\u003e#1492\u003c/a\u003e) (b360c5ce1acfbb2cbd5f4e92ecca6c9b461ae094)\u003c/li\u003e\n\u003cli\u003ePreserve minimist numeric coercion and --no-x negation (c12153ce0601378354421e454a6b6bbab74ae9fb)\u003c/li\u003e\n\u003cli\u003eSimplify parseArgs adapter (ba15e413be7515620e4224b21483a1a87659dc34)\u003c/li\u003e\n\u003cli\u003eDetect and credit registered custom elements (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1394\"\u003e#1394\u003c/a\u003e) (62dcda5fa46ccf6bdd94175b725fd38678049319)\u003c/li\u003e\n\u003cli\u003eAdd Lit and FAST plugins to detect \u003ca href=\"https://github.com/customElement\"\u003e\u003ccode\u003e@​customElement\u003c/code\u003e\u003c/a\u003e classes (348d2c9decf09bb61ab47477bc6cc57e4b089ec3)\u003c/li\u003e\n\u003cli\u003eAdd new testimonials (77fd7ed7dffaccfa8bc024105fe81dbe09b70671)\u003c/li\u003e\n\u003cli\u003eScope custom path aliases per workspace (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1775\"\u003e#1775\u003c/a\u003e) (d908099b52e4fd93b7947bafecbabeddfc7847f3)\u003c/li\u003e\n\u003cli\u003eRestructure tests (ec4c77941d42aef54bed9e4dd1cae8e8784aa147)\u003c/li\u003e\n\u003cli\u003eSimplify boolean check in parseArgs adapter (ba6865de03785eb49b2adf833f7f769eece78d49)\u003c/li\u003e\n\u003cli\u003eScope static custom-element define detection to the FAST plugin (94632cddd15f75eadd204cb480b3df6c1f2a842d)\u003c/li\u003e\n\u003cli\u003eAdd Custom Elements feature docs page (230bd734652f3a269b70da09cd26ac7e80a210cd)\u003c/li\u003e\n\u003cli\u003eUpdate known-issues.md (f1f4c1bceef9a6575d7b31cc1340538ea894f824)\u003c/li\u003e\n\u003cli\u003eFix crash on backtick string literals in plugin config (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e) (f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7)\u003c/li\u003e\n\u003cli\u003eFormat (e4720cab435be48e1a40afa8c548e21bdb74b14e)\u003c/li\u003e\n\u003cli\u003eFix backtick string literals in require() and plugin-name config arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e) (d14eb053331daaaeaec89c3c8e04cfeeba7580af)\u003c/li\u003e\n\u003cli\u003eCredit custom elements via aliases, scoped registries, and static blocks (d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524)\u003c/li\u003e\n\u003cli\u003eImprove Stencil plugin: credit \u003ca href=\"https://github.com/Component\"\u003e\u003ccode\u003e@​Component\u003c/code\u003e\u003c/a\u003e and recognize test files (152d73052f87f29b348abbab90e117cfb97dd69b)\u003c/li\u003e\n\u003cli\u003eAdd Catalyst plugin to credit bare \u003ca href=\"https://github.com/controller\"\u003e\u003ccode\u003e@​controller\u003c/code\u003e\u003c/a\u003e custom elements (8a37f8c25b03cd4e55bd18ba822906be35fcd97b)\u003c/li\u003e\n\u003cli\u003eDocument Stencil, Catalyst, static-block custom el reg. (105fba3a829f1cf4cf871035dbc9c170b0de7bc1)\u003c/li\u003e\n\u003cli\u003eAuto-format md (f4fcf4e1c6a399d761151fc367125416e7741675)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.15.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport exported type used only in inferred-return function body (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1765\"\u003e#1765\u003c/a\u003e) (2413408753f7abc7a9dfdba520990afd18c53ee0)\u003c/li\u003e\n\u003cli\u003eWork that EXPORTS.md again (7e13451fab7ad85362fb63a4715ea450690aedef)\u003c/li\u003e\n\u003cli\u003eUpdate npmx ecosystem snapshot (dfc401145a880f156c66eb83ea1622a99540304a)\u003c/li\u003e\n\u003cli\u003eLink \u003ccode\u003edependencies\u003c/code\u003e key with notes (closes \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1764\"\u003e#1764\u003c/a\u003e) (e3e66cea9e946558940bf8705129efea3f23b3ba)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths when loading plugin configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1762\"\u003e#1762\u003c/a\u003e) (0177c7466559e2ae99b5e1cd1e3a8043ca494edc) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAvoid caching failed plugin config loads (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1768\"\u003e#1768\u003c/a\u003e) (5e201cde9b1ba2568ead2ae790ab888c966828ae) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve extensionless .sass imports in SCSS compiler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1770\"\u003e#1770\u003c/a\u003e) (30c22835383b2355787cc2a871b22de80ff75544) - thanks \u003ca href=\"https://github.com/sebacardello\"\u003e\u003ccode\u003e@​sebacardello\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): detect inline module script entry points in index.html (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1772\"\u003e#1772\u003c/a\u003e) (51f4eddc9e1b2fed1ba25e81fc596e9fb514ce01) - thanks \u003ca href=\"https://github.com/lucas-spin\"\u003e\u003ccode\u003e@​lucas-spin\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHarden vite inline module script import detection (b8abcfd2f4f5486aea08a934514bc55de86be030)\u003c/li\u003e\n\u003cli\u003eUse RecordableHistogram for timerified function stats (d575c6905704af1b0b4620edd874fc09bc86ed28)\u003c/li\u003e\n\u003cli\u003eAdd orval plugin (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1751\"\u003e#1751\u003c/a\u003e) (4c82aa82c2a02fbda27a316389f210d11621f8cb)\u003c/li\u003e\n\u003cli\u003eAdd treatTagHintsAsErrors and --no-tag-hints (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1767\"\u003e#1767\u003c/a\u003e) (4b6a573e0c1e0daf65c76c32f7336ea71db6bb64)\u003c/li\u003e\n\u003cli\u003eAdd nano-spawn plugin (resolves \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1769\"\u003e#1769\u003c/a\u003e) (b2cad06dfd9958485537c5545c6c497fc8823ac3)\u003c/li\u003e\n\u003cli\u003eSimplify glob cache validation and ignore-list assembly (df1a9603a5ea8ed7bad9588bf13672cedf37c90e)\u003c/li\u003e\n\u003cli\u003eDedupe ignore-pattern collection and dependency fixing (d49b626ad6736d7123d44568ef8c42a3e1d28aa3)\u003c/li\u003e\n\u003cli\u003eSimplify installed-binaries collection in manifest metadata (55143941eebbc8dac12c79b77c1f65a8b61dfbef)\u003c/li\u003e\n\u003cli\u003eFlatten control flow in ConfigurationChief (010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5)\u003c/li\u003e\n\u003cli\u003eInline trivial installed-binaries and types-included accessors (b5afb9f29e3474eee4bf276c1de83cb0682a5663)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a3169ec99b4708d7199ed9c38682a7f5f0639b1c\"\u003e\u003ccode\u003ea3169ec\u003c/code\u003e\u003c/a\u003e Release knip@6.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/370ef4cefec6540ee7d58249cc402f479ec76405\"\u003e\u003ccode\u003e370ef4c\u003c/code\u003e\u003c/a\u003e Resolve SvelteKit ./$types in monorepos (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1778\"\u003e#1778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e9a5a64f6d551ceef0bb6667e2c2582b94a77c4f\"\u003e\u003ccode\u003ee9a5a64\u003c/code\u003e\u003c/a\u003e Release knip@6.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a37f8c25b03cd4e55bd18ba822906be35fcd97b\"\u003e\u003ccode\u003e8a37f8c\u003c/code\u003e\u003c/a\u003e Add Catalyst plugin to credit bare \u003ca href=\"https://github.com/controller\"\u003e\u003ccode\u003e@​controller\u003c/code\u003e\u003c/a\u003e custom elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/152d73052f87f29b348abbab90e117cfb97dd69b\"\u003e\u003ccode\u003e152d730\u003c/code\u003e\u003c/a\u003e Improve Stencil plugin: credit \u003ca href=\"https://github.com/Component\"\u003e\u003ccode\u003e@​Component\u003c/code\u003e\u003c/a\u003e and recognize test files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524\"\u003e\u003ccode\u003ed7cbe12\u003c/code\u003e\u003c/a\u003e Credit custom elements via aliases, scoped registries, and static blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d14eb053331daaaeaec89c3c8e04cfeeba7580af\"\u003e\u003ccode\u003ed14eb05\u003c/code\u003e\u003c/a\u003e Fix backtick string literals in require() and plugin-name config arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7\"\u003e\u003ccode\u003ef1adc7f\u003c/code\u003e\u003c/a\u003e Fix crash on backtick string literals in plugin config (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/94632cddd15f75eadd204cb480b3df6c1f2a842d\"\u003e\u003ccode\u003e94632cd\u003c/code\u003e\u003c/a\u003e Scope static custom-element define detection to the FAST plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ba6865de03785eb49b2adf833f7f769eece78d49\"\u003e\u003ccode\u003eba6865d\u003c/code\u003e\u003c/a\u003e Simplify boolean check in parseArgs adapter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.16.1/packages/knip\"\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.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.60.1 (2026-06-01)\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.60.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.60.0 (2026-05-25)\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.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/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.60.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 `@aws-sdk/client-s3` from 3.1042.0 to 3.1063.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@​aws-sdk/client-s3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1063.0\u003c/h2\u003e\n\u003ch4\u003e3.1063.0(2026-06-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eupdate author URL in package.json (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8080\"\u003e#8080\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9bd1a86b9bec0f69c58dcfdda481c9e1797dd73f\"\u003e9bd1a86b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecrt-loader:\u003c/strong\u003e  update to latest aws-crt (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8079\"\u003e#8079\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c2bdabd5826c8914eb1904880eade3c81ca6be4\"\u003e8c2bdabd\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-06-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/fe9a398fbfb3d324e4b67c7677fc63f62933f283\"\u003efe9a398f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  This release adds support for MLflow experiment tracking in SageMaker inference optimization. CreateAIRecommendationJob and CreateAIBenchmarkJob now accept an optional OutputConfig.MlflowConfig (MLflow App ARN, experiment, run name) to stream benchmark metrics and artifacts to your own MLflow App. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/394304420ef42ed5c8918990273788bfd69d5f5a\"\u003e39430442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-emr-serverless:\u003c/strong\u003e  Adds support for updating max capacity and custom fields while application is started (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6c9cce08f51a2b91ca5c7fc9dca2bfd293980546\"\u003e6c9cce08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-dynamodb:\u003c/strong\u003e  Adding new BDD representation of endpoint ruleset (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/416005d46847152ba1a24e4ce3297f47469f685c\"\u003e416005d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediaconvert:\u003c/strong\u003e  Adds support for configurable number of Clear Lead segments at the beginning of encrypted output. Adds support for multiple trickplay variants. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/40eb4c6b527bb508bc7bdb2402528cff5ed49198\"\u003e40eb4c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-payment-cryptography:\u003c/strong\u003e  Adds CloudFormation support for resource-based policies on AWS Payment Cryptography keys. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c32019a8ffa7be444993d1ee8288d2c43c8a3f89\"\u003ec32019a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-quicksight:\u003c/strong\u003e  Adds support for Knowledge Base APIs and Index Capacity API (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8205152f535d2a38e0f0ea5e2d516ab8b484650d\"\u003e8205152f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecore/httpAuthSchemes:\u003c/strong\u003e  fix concurrent skew correction (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8078\"\u003e#8078\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/83e48928b9f31c78c6c10adc2127d663837ddd2a\"\u003e83e48928\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-endpoint-discovery:\u003c/strong\u003e  remove integration tests (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8077\"\u003e#8077\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/02363831ab1c4cae1b254efe92ab49fa71f20700\"\u003e02363831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  add client error deserialization tests (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8075\"\u003e#8075\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/0dfa4ad150e0283cf787cd231600aeb7d75695f0\"\u003e0dfa4ad1\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.1063.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1062.0\u003c/h2\u003e\n\u003ch4\u003e3.1062.0(2026-06-04)\u003c/h...\n\n_Description has been truncated_","html_url":"https://github.com/nerdchanii/mastersrunners/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nerdchanii%2Fmastersrunners/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-08T00:22:40.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4609207444","node_id":"PR_kwDOQg61Ys7jtrz5","number":293,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 35 updates","user":"dependabot[bot]","labels":["type: chore","size: XL","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T00:22:40.000Z","updated_at":"2026-06-08T00:24:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":35,"packages":[{"name":"@chromatic-com/storybook","old_version":"5.1.2","new_version":"5.2.1","repository_url":"https://github.com/chromaui/addon-visual-tests"},{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.2","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@next/bundle-analyzer","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@next/eslint-plugin-next","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@storybook/addon-a11y","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-docs","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-onboarding","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-vitest","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/nextjs-vite","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/react","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@tailwindcss/postcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.0.3","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/browser-playwright","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"9.39.3","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"16.2.4","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-import-resolver-typescript","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/import-js/eslint-import-resolver-typescript"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"eslint-plugin-storybook","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"eslint-plugin-unicorn","old_version":"64.0.0","new_version":"65.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"msw","old_version":"2.14.3","new_version":"2.14.6","repository_url":"https://github.com/mswjs/msw"},{"name":"playwright","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"storybook","old_version":"10.3.6","new_version":"10.4.2","repository_url":"https://github.com/storybookjs/storybook"},{"name":"tailwindcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 35 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@chromatic-com/storybook](https://github.com/chromaui/addon-visual-tests) | `5.1.2` | `5.2.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.5.3` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.0.2` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.2` | `10.0.1` |\n| [@next/bundle-analyzer](https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer) | `16.2.4` | `16.2.7` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.2.4` | `16.2.7` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/docs) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-onboarding](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/onboarding) | `10.3.6` | `10.4.2` |\n| [@storybook/addon-vitest](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/vitest) | `10.3.6` | `10.4.2` |\n| [@storybook/nextjs-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/nextjs) | `10.3.6` | `10.4.2` |\n| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `10.3.6` | `10.4.2` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.18` | `4.3.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.3` | `25.9.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@vitest/browser-playwright](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright) | `4.1.5` | `4.1.8` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.8` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.3` | `10.4.1` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.4` | `16.2.7` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [eslint-plugin-storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin) | `10.3.6` | `10.4.2` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `64.0.0` | `65.0.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.7` |\n| [msw](https://github.com/mswjs/msw) | `2.14.3` | `2.14.6` |\n| [playwright](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `10.3.6` | `10.4.2` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.18` | `4.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.8` |\n\n\nUpdates `@chromatic-com/storybook` from 5.1.2 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/chromaui/addon-visual-tests/releases\"\u003e@​chromatic-com/storybook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.1-next.0\u003c/h2\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch4\u003e🚀 Enhancement\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eChromaticTypes\u003c/code\u003e export to support composite mode \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/410\"\u003e#410\u003c/a\u003e (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Share tool to quickly publish a Storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/418\"\u003e#418\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd refresh-token auth flow and harden HTML injection paths \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/425\"\u003e#425\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003edevice_code\u003c/code\u003e OAuth flow with \u003ccode\u003eauthorization_code\u003c/code\u003e flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/424\"\u003e#424\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh auth preemptively before token expiry \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/431\"\u003e#431\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge remote-tracking branch 'origin/valentin/viral-sharing-2' into valentin/viral-sharing-2 \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/429\"\u003e#429\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsolidate auth state into a single AuthStore \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/430\"\u003e#430\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow share expiry based on \u003ccode\u003edaysToExpire\u003c/code\u003e from CLI \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/428\"\u003e#428\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix OAuth authorization_code flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/427\"\u003e#427\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 5\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoshua Daniel Pratt Nielsen (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKyle Gach (\u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePiotr Wysocki (\u003ca href=\"https://github.com/piwysocki\"\u003e\u003ccode\u003e@​piwysocki\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.2.0-next.5\u003c/h2\u003e\n\u003ch4\u003e⚠️ Pushed to \u003ccode\u003enext\u003c/code\u003e\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix TS error (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\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/chromaui/addon-visual-tests/blob/v5.2.1/CHANGELOG.md\"\u003e@​chromatic-com/storybook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev5.2.1 (Thu May 14 2026)\u003c/h1\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWiden peer-dependency range for storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/434\"\u003e#434\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch1\u003ev5.2.0 (Thu May 14 2026)\u003c/h1\u003e\n\u003ch4\u003e🚀 Enhancement\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eChromaticTypes\u003c/code\u003e export to support composite mode \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/410\"\u003e#410\u003c/a\u003e (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Share tool to quickly publish a Storybook \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/418\"\u003e#418\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd refresh-token auth flow and harden HTML injection paths \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/425\"\u003e#425\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003edevice_code\u003c/code\u003e OAuth flow with \u003ccode\u003eauthorization_code\u003c/code\u003e flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/424\"\u003e#424\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e🐛 Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh auth preemptively before token expiry \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/431\"\u003e#431\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge remote-tracking branch 'origin/valentin/viral-sharing-2' into valentin/viral-sharing-2 \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/429\"\u003e#429\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsolidate auth state into a single AuthStore \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/430\"\u003e#430\u003c/a\u003e (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow share expiry based on \u003ccode\u003edaysToExpire\u003c/code\u003e from CLI \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/428\"\u003e#428\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix OAuth authorization_code flow \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/pull/427\"\u003e#427\u003c/a\u003e (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eAuthors: 5\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGert Hengeveld (\u003ca href=\"https://github.com/ghengeveld\"\u003e\u003ccode\u003e@​ghengeveld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoshua Daniel Pratt Nielsen (\u003ca href=\"https://github.com/jdpnielsen\"\u003e\u003ccode\u003e@​jdpnielsen\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKyle Gach (\u003ca href=\"https://github.com/kylegach\"\u003e\u003ccode\u003e@​kylegach\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePiotr Wysocki (\u003ca href=\"https://github.com/piwysocki\"\u003e\u003ccode\u003e@​piwysocki\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValentin Palkovic (\u003ca href=\"https://github.com/valentinpalkovic\"\u003e\u003ccode\u003e@​valentinpalkovic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/55bdb73cfd232fce9385eaba14bf9784cfeede7c\"\u003e\u003ccode\u003e55bdb73\u003c/code\u003e\u003c/a\u003e Bump version to: 5.2.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/59b814675674f4c6c0a676be0e2ef159c8843687\"\u003e\u003ccode\u003e59b8146\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/0fe1587e60594a596509fbd57cdcb9ccd5d9b87b\"\u003e\u003ccode\u003e0fe1587\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/435\"\u003e#435\u003c/a\u003e from chromaui/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/2c8182d45b48a23e22fc927baa8955c4b92cc175\"\u003e\u003ccode\u003e2c8182d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/434\"\u003e#434\u003c/a\u003e from chromaui/valentin/widen-peer-deps-range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/e1d4e267dbb11fd80f493a1a740556e71fa44d3e\"\u003e\u003ccode\u003ee1d4e26\u003c/code\u003e\u003c/a\u003e Widen peer-dependency range for storybook\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/652b6d0bc49554feb6ce5ffb6437567d325abebb\"\u003e\u003ccode\u003e652b6d0\u003c/code\u003e\u003c/a\u003e Bump version to: 5.2.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/a16a328ccaee19b20b7bdf59001599685d792eac\"\u003e\u003ccode\u003ea16a328\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/0e8f7456c855714bda8fd45986ba856f91e9aef8\"\u003e\u003ccode\u003e0e8f745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/chromaui/addon-visual-tests/issues/432\"\u003e#432\u003c/a\u003e from chromaui/next\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/9ba520e471f5df6e4487dc7311a71cf9ef4218a3\"\u003e\u003ccode\u003e9ba520e\u003c/code\u003e\u003c/a\u003e Fix TS error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chromaui/addon-visual-tests/commit/f03b35ee7ac1a520551fda5613c4e909b27d78c3\"\u003e\u003ccode\u003ef03b35e\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into next\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chromaui/addon-visual-tests/compare/v5.1.2...v5.2.1\"\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.5.3 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.5.3 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.2 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\"\u003e@​eslint/js'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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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://github.com/eslint/eslint/tree/HEAD/packages/js/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/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/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://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\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://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/bundle-analyzer` from 16.2.4 to 16.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003e@​next/bundle-analyzer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.7\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 documentation fixes for v16.2 (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93804\"\u003e#93804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Patch \u003ccode\u003eplaywright-core\u003c/code\u003e to resolve \u003ccode\u003e_finishedPromise\u003c/code\u003e on \u003ccode\u003erequestFailed\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93920\"\u003e#93920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix dev mode hydration failure when page is served from HTTP cache (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93492\"\u003e#93492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + \u003ccode\u003erewrites\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93917\"\u003e#93917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapters (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/94284\"\u003e#94284\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/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\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/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/timneutkens\"\u003e\u003ccode\u003e@​timneutkens\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.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9bd3c26a733901956549889f28c0047553bba622\"\u003e\u003ccode\u003e9bd3c26\u003c/code\u003e\u003c/a\u003e v16.2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.7/packages/next-bundle-analyzer\"\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@​next/bundle-analyzer\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/eslint-plugin-next` from 16.2.4 to 16.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003e@​next/eslint-plugin-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.7\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 documentation fixes for v16.2 (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93804\"\u003e#93804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Patch \u003ccode\u003eplaywright-core\u003c/code\u003e to resolve \u003ccode\u003e_finishedPromise\u003c/code\u003e on \u003ccode\u003erequestFailed\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93920\"\u003e#93920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix dev mode hydration failure when page is served from HTTP cache (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93492\"\u003e#93492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + \u003ccode\u003erewrites\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93917\"\u003e#93917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapters (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/94284\"\u003e#94284\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/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\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/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/timneutkens\"\u003e\u003ccode\u003e@​timneutkens\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.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9bd3c26a733901956549889f28c0047553bba622\"\u003e\u003ccode\u003e9bd3c26\u003c/code\u003e\u003c/a\u003e v16.2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.7/packages/eslint-plugin-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​next/eslint-plugin-next\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.g...\n\n_Description has been truncated_","html_url":"https://github.com/gajaedev/jagalchi-client/pull/293","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gajaedev%2Fjagalchi-client/issues/293","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/293/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-05T03:04:36.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4593797602","node_id":"PR_kwDOREpqq87i8GDv","number":125,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-05T03:04:36.000Z","updated_at":"2026-06-05T03:09:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/arch-playground/ai-workflow-runner/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/arch-playground%2Fai-workflow-runner/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"}},{"old_version":"18.6.1","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-04T23:38:22.000Z","version_change":"18.6.1 → 21.0.2","issue":{"uuid":"4592917271","node_id":"PR_kwDOHC8Bls7i5Ohd","number":16,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 18.6.1 to 21.0.2","user":"dependabot[bot]","labels":["area/docs","type/security"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T23:38:22.000Z","updated_at":"2026-06-05T04:22:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"18.6.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 18.6.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/mss-boot-io/mss-boot-docs/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mss-boot-io%2Fmss-boot-docs/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"19.8.1","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-04T01:17:30.000Z","version_change":"19.8.1 → 21.0.2","issue":{"uuid":"4584932918","node_id":"PR_kwDOSQFFMs7ie118","number":27,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.2","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-06-04T01:17:30.000Z","updated_at":"2026-06-04T01:17:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.8.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=19.8.1\u0026new-version=21.0.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/scramjetio/flight-log/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetio%2Fflight-log/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"19.8.1","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-04T01:07:40.000Z","version_change":"19.8.1 → 21.0.2","issue":{"uuid":"4584888751","node_id":"PR_kwDOSpkB0M7iesof","number":12,"state":"open","title":"chore(deps-dev): bump the dev-deps group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T01:07:40.000Z","updated_at":"2026-06-04T01:10:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-deps","update_count":5,"packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@vitest/coverage-v8","old_version":"3.2.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"promptfoo","old_version":"0.121.12","new_version":"0.121.14","repository_url":"https://github.com/promptfoo/promptfoo"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-deps group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `19.8.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `19.8.1` | `21.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `3.2.4` | `4.1.8` |\n| [promptfoo](https://github.com/promptfoo/promptfoo) | `0.121.12` | `0.121.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.8` |\n\n\nUpdates `@commitlint/cli` from 19.8.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 19.8.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\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/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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 3.2.4 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  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/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\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.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\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/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/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/coverage-v8\"\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@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `promptfoo` from 0.121.12 to 0.121.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/promptfoo/promptfoo/releases\"\u003epromptfoo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.121.14\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.13...0.121.14\"\u003e0.121.14\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e963b264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add agent-rubric grader (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9453\"\u003e#9453\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/cadb3c500277464f05244c8bc8525c2725aa5c22\"\u003ecadb3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e publish a lightweight promptfoo/contracts subpath (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9535\"\u003e#9535\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e89fd45abc97696a70079cddcb659492acc66d0\"\u003e6e89fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add seeded random sampling (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9522\"\u003e#9522\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e4ba60eba69ff696d0404aabf5453311214c500\"\u003e6e4ba60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e extract eval-creator readiness and validation modules (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9397\"\u003e#9397\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d3af1180405e82786461eae5bf85e50ce6b73f3a\"\u003ed3af118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e surface trace linkage on result rows (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9027\"\u003e#9027\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9468d6607e858f9c1a1c77f43713f58a7dc154c5\"\u003e9468d66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bedrock (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9587\"\u003e#9587\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e1e35267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI originator header (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9474\"\u003e#9474\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/61410706acbc86772b1d60ac85d6988dc09f2fa6\"\u003e6141070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e expose traceable agent turn markers (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9475\"\u003e#9475\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4018837455faf334ce2e07fd39a1fbc33c2960d2\"\u003e4018837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e promote Fireworks AI from registry stub to dedicated provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9542\"\u003e#9542\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/2bae148be51975dbacaec2a4a5d36c839e897034\"\u003e2bae148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etracing:\u003c/strong\u003e add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e90df6a1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e don't classify gen_ai.tool.definitions chat spans as tool calls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9524\"\u003e#9524\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b59f3974851657a8a97c05db09cc87064ba0528d\"\u003eb59f397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e preflight force imports before collision lookup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9570\"\u003e#9570\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/0b93733d48727be67e34433cb0fb1ad21026863a\"\u003e0b93733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e on-prem API host for guardrails and http-generator, with host-resolution tests (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9580\"\u003e#9580\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b9a014a3de85f26402312ac96d94fe787f2ac764\"\u003eb9a014a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e use on-prem API host in checkEmailStatus (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9576\"\u003e#9576\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/063c62b5d0df93ecf10ccdd6831ab0a2534b4df3\"\u003e063c62b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e avoid SQLITE_LOCKED flakiness in shared-cache test database (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9567\"\u003e#9567\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1fdb59b44f771952e5e96eb01ade2a54035fcaa0\"\u003e1fdb59b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e serialize libsql test database cleanup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9540\"\u003e#9540\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/f4380c23f1e62eb1a2e171155d1437a1645d01dd\"\u003ef4380c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e keep ModelAudit pydantic-core pinned to compatible 2.46.4 (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b2b35b079aab5ba338700d891a4ec189d4e468d7\"\u003eb2b35b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency ai to ^6.0.190 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9577\"\u003e#9577\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9ec614a175668d1775c332de8c272a01b6c28341\"\u003e9ec614a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e8d7c920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e redact credentials from the persisted browser store (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9396\"\u003e#9396\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4d5bed56b94de0351d8348f7a6b8b25a1bbc14e1\"\u003e4d5bed5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eevaluator:\u003c/strong\u003e preserve and harden programmatic JSONL output (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9538\"\u003e#9538\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8ddd9064de73d8e454ddab5adfaac32f64704137\"\u003e8ddd906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoutput:\u003c/strong\u003e redact api-key and legacy transport headers in JSONL/DB (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9546\"\u003e#9546\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e194c852a4303faefab109c151c74134e1556403\"\u003ee194c85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e handle Codex SDK rate limits (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9473\"\u003e#9473\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/76d3db402b04fbad08580907b025b93120b7d2a4\"\u003e76d3db4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e inject n8n sessions into custom bodies (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9527\"\u003e#9527\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9cc05429af81ff6493bc8f4f448be3ce3e1c55c7\"\u003e9cc0542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve n8n array body templates (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9544\"\u003e#9544\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6cdf63d02752bcc23fb2ab68a14e620447460df8\"\u003e6cdf63d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve streamed Anthropic refusal guardrails (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9560\"\u003e#9560\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ff8eafd743cf6d63dd85b790ad8a4c73ede5828d\"\u003eff8eafd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e serialize persistent browser sessions (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9414\"\u003e#9414\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/097ff9bab6d6692b54c385867a72c63fd106f471\"\u003e097ff9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredteam:\u003c/strong\u003e authenticate remote-generation requests against on-prem cloud (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9584\"\u003e#9584\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e7df8fae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutil:\u003c/strong\u003e restore nested SAS tokens after array reorder (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9528\"\u003e#9528\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9759e5a58099a702e313013daa04149530473e33\"\u003e9759e5a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebui:\u003c/strong\u003e render negative-only metric charts (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9526\"\u003e#9526\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7ccafa4c74c391516a5e371c9db2918e415f078f\"\u003e7ccafa4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.121.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.13\"\u003e0.121.13\u003c/a\u003e (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd MiniMax provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/8207\"\u003e#8207\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ebd78f6b9c22c4a61050e8f767aee211729415a2\"\u003eebd78f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanthropic:\u003c/strong\u003e add support for Claude Opus 4.8 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9500\"\u003e#9500\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e0907306ecf388a27e606407eef7a89f6c6d92bc\"\u003ee090730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/promptfoo/promptfoo/blob/main/CHANGELOG.md\"\u003epromptfoo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.13...0.121.14\"\u003e0.121.14\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e963b264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add agent-rubric grader (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9453\"\u003e#9453\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/cadb3c500277464f05244c8bc8525c2725aa5c22\"\u003ecadb3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e publish a lightweight promptfoo/contracts subpath (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9535\"\u003e#9535\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e89fd45abc97696a70079cddcb659492acc66d0\"\u003e6e89fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add seeded random sampling (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9522\"\u003e#9522\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6e4ba60eba69ff696d0404aabf5453311214c500\"\u003e6e4ba60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e extract eval-creator readiness and validation modules (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9397\"\u003e#9397\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d3af1180405e82786461eae5bf85e50ce6b73f3a\"\u003ed3af118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e surface trace linkage on result rows (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9027\"\u003e#9027\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9468d6607e858f9c1a1c77f43713f58a7dc154c5\"\u003e9468d66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bedrock (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9587\"\u003e#9587\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e1e35267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e add OpenAI originator header (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9474\"\u003e#9474\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/61410706acbc86772b1d60ac85d6988dc09f2fa6\"\u003e6141070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e expose traceable agent turn markers (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9475\"\u003e#9475\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4018837455faf334ce2e07fd39a1fbc33c2960d2\"\u003e4018837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e promote Fireworks AI from registry stub to dedicated provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9542\"\u003e#9542\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/2bae148be51975dbacaec2a4a5d36c839e897034\"\u003e2bae148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etracing:\u003c/strong\u003e add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e90df6a1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e don't classify gen_ai.tool.definitions chat spans as tool calls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9524\"\u003e#9524\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b59f3974851657a8a97c05db09cc87064ba0528d\"\u003eb59f397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e preflight force imports before collision lookup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9570\"\u003e#9570\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/0b93733d48727be67e34433cb0fb1ad21026863a\"\u003e0b93733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e on-prem API host for guardrails and http-generator, with host-resolution tests (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9580\"\u003e#9580\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b9a014a3de85f26402312ac96d94fe787f2ac764\"\u003eb9a014a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloud:\u003c/strong\u003e use on-prem API host in checkEmailStatus (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9576\"\u003e#9576\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/063c62b5d0df93ecf10ccdd6831ab0a2534b4df3\"\u003e063c62b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e avoid SQLITE_LOCKED flakiness in shared-cache test database (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9567\"\u003e#9567\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1fdb59b44f771952e5e96eb01ade2a54035fcaa0\"\u003e1fdb59b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edb:\u003c/strong\u003e serialize libsql test database cleanup (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9540\"\u003e#9540\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/f4380c23f1e62eb1a2e171155d1437a1645d01dd\"\u003ef4380c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e keep ModelAudit pydantic-core pinned to compatible 2.46.4 (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/b2b35b079aab5ba338700d891a4ec189d4e468d7\"\u003eb2b35b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency ai to ^6.0.190 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9577\"\u003e#9577\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9ec614a175668d1775c332de8c272a01b6c28341\"\u003e9ec614a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e8d7c920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeval:\u003c/strong\u003e redact credentials from the persisted browser store (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9396\"\u003e#9396\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/4d5bed56b94de0351d8348f7a6b8b25a1bbc14e1\"\u003e4d5bed5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eevaluator:\u003c/strong\u003e preserve and harden programmatic JSONL output (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9538\"\u003e#9538\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8ddd9064de73d8e454ddab5adfaac32f64704137\"\u003e8ddd906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoutput:\u003c/strong\u003e redact api-key and legacy transport headers in JSONL/DB (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9546\"\u003e#9546\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e194c852a4303faefab109c151c74134e1556403\"\u003ee194c85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e handle Codex SDK rate limits (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9473\"\u003e#9473\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/76d3db402b04fbad08580907b025b93120b7d2a4\"\u003e76d3db4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e inject n8n sessions into custom bodies (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9527\"\u003e#9527\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9cc05429af81ff6493bc8f4f448be3ce3e1c55c7\"\u003e9cc0542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve n8n array body templates (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9544\"\u003e#9544\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6cdf63d02752bcc23fb2ab68a14e620447460df8\"\u003e6cdf63d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e preserve streamed Anthropic refusal guardrails (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9560\"\u003e#9560\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ff8eafd743cf6d63dd85b790ad8a4c73ede5828d\"\u003eff8eafd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproviders:\u003c/strong\u003e serialize persistent browser sessions (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9414\"\u003e#9414\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/097ff9bab6d6692b54c385867a72c63fd106f471\"\u003e097ff9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eredteam:\u003c/strong\u003e authenticate remote-generation requests against on-prem cloud (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9584\"\u003e#9584\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e7df8fae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutil:\u003c/strong\u003e restore nested SAS tokens after array reorder (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9528\"\u003e#9528\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/9759e5a58099a702e313013daa04149530473e33\"\u003e9759e5a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebui:\u003c/strong\u003e render negative-only metric charts (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9526\"\u003e#9526\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7ccafa4c74c391516a5e371c9db2918e415f078f\"\u003e7ccafa4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.13\"\u003e0.121.13\u003c/a\u003e (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd MiniMax provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/8207\"\u003e#8207\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ebd78f6b9c22c4a61050e8f767aee211729415a2\"\u003eebd78f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanthropic:\u003c/strong\u003e add support for Claude Opus 4.8 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9500\"\u003e#9500\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/e0907306ecf388a27e606407eef7a89f6c6d92bc\"\u003ee090730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add ignore option to trajectory:tool-args-match (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9466\"\u003e#9466\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/6423f2a5c95ed84a3210806eda222a23d0a30c01\"\u003e6423f2a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e add metadata shortcut to assertion context (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/6863\"\u003e#6863\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/5264680f1bb5372fbebc1a780b0e6c8f77455b2a\"\u003e5264680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e support glob patterns in trajectory:tool-args-match ignore (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9484\"\u003e#9484\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/18b3eefd48a2ff8dd6ee69160e86523823ee10e3\"\u003e18b3eef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eassertions:\u003c/strong\u003e tolerate optional defaults in trajectory:tool-args-match (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9471\"\u003e#9471\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/a74894a4ff26872d88fa2008b8a1c13b725ccb56\"\u003ea74894a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add prompt optimization (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9294\"\u003e#9294\u003c/a\u003e) (\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/27d6dbe36e5ca63aaf32a185e3464e278746f89c\"\u003e27d6dbe\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7a48c5fce614bee617efbb3b7fc93d404c75b628\"\u003e\u003ccode\u003e7a48c5f\u003c/code\u003e\u003c/a\u003e chore(main): release 0.121.14 (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9521\"\u003e#9521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/96e556507e4bbee5110d94286d500c4605ccc38b\"\u003e\u003ccode\u003e96e5565\u003c/code\u003e\u003c/a\u003e refactor(assertions): decouple function call validation (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9550\"\u003e#9550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/1e35267796ea372e1b4a8700ad15964d8171566b\"\u003e\u003ccode\u003e1e35267\u003c/code\u003e\u003c/a\u003e feat(providers): add OpenAI GPT-5.5/5.4 frontier models + Codex on Amazon Bed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/ef2c7931e179f3b7a514b2ecf35a2e434110601e\"\u003e\u003ccode\u003eef2c793\u003c/code\u003e\u003c/a\u003e refactor(redteam): adopt input contracts in UI (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9549\"\u003e#9549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/a84354cc78017c08d6043824e8879445a6ec4ec2\"\u003e\u003ccode\u003ea84354c\u003c/code\u003e\u003c/a\u003e refactor(api): extract browser user contracts to leaf-safe surface (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/8d7c920101f495b87d23bcbd3c32fa01147db10d\"\u003e\u003ccode\u003e8d7c920\u003c/code\u003e\u003c/a\u003e fix(eval): canonicalize retry JSONL output with atomic rewrites (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9547\"\u003e#9547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/d27868b7fdd2f7fb047550fdeb76bebcd3138257\"\u003e\u003ccode\u003ed27868b\u003c/code\u003e\u003c/a\u003e docs(agents): add subsystem AGENTS.md context files (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/7df8fae21ceb5eb51f4c246bce8ba16a11de2c1c\"\u003e\u003ccode\u003e7df8fae\u003c/code\u003e\u003c/a\u003e fix(redteam): authenticate remote-generation requests against on-prem cloud (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/963b264ba22d621282d0bf82efdae2b5defe6d59\"\u003e\u003ccode\u003e963b264\u003c/code\u003e\u003c/a\u003e feat: add A2A provider (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9586\"\u003e#9586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/promptfoo/promptfoo/commit/90df6a120710191ab4f64926e0b0636a3c891ea4\"\u003e\u003ccode\u003e90df6a1\u003c/code\u003e\u003c/a\u003e feat(tracing): add runtime receiver controls (\u003ca href=\"https://redirect.github.com/promptfoo/promptfoo/issues/9028\"\u003e#9028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/promptfoo/promptfoo/compare/0.121.12...0.121.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  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/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\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.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003c...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated development dependencies to their latest versions, including testing frameworks, linting tools, and code coverage utilities for improved tooling and compatibility.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/seathatflowsinourveins/vein-launch/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/seathatflowsinourveins%2Fvein-launch/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-04T00:24:41.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4584681759","node_id":"PR_kwDORnDIs87ieA4i","number":76,"state":"open","title":"build(deps-dev): bump @commitlint/cli from 21.0.1 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T00:24:41.000Z","updated_at":"2026-06-07T02:02:51.654Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=21.0.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/juninmd/jules-extension-vscode/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/juninmd%2Fjules-extension-vscode/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-03T12:40:52.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4579902674","node_id":"PR_kwDORQ0oHc7iOIdu","number":79,"state":"closed","title":"chore(deps): Bump the minor-and-patch group with 10 updates","user":"dependabot[bot]","labels":["config","size/L"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-03T12:42:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T12:40:52.000Z","updated_at":"2026-06-03T12:43:05.000Z","time_to_close":114,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"@astrojs/cloudflare","old_version":"13.5.4","new_version":"13.6.1","repository_url":"https://github.com/withastro/astro"},{"name":"@astrojs/sitemap","old_version":"3.7.2","new_version":"3.7.3","repository_url":"https://github.com/withastro/astro"},{"name":"astro","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/withastro/astro"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@astrojs/cloudflare](https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare) | `13.5.4` | `13.6.1` |\n| [@astrojs/sitemap](https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap) | `3.7.2` | `3.7.3` |\n| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `6.3.7` | `6.4.3` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.60.0` | `8.60.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n\nUpdates `@astrojs/cloudflare` from 13.5.4 to 13.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003e@​astrojs/cloudflare's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/cloudflare\u003c/code\u003e\u003ca href=\"https://github.com/13\"\u003e\u003ccode\u003e@​13\u003c/code\u003e\u003c/a\u003e.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/withastro/astro/pull/16914\"\u003e#16914\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eastro/fetch\u003c/code\u003e and \u003ccode\u003eastro/hono\u003c/code\u003e being discovered at runtime during dev instead of pre-bundled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16693\"\u003e#16693\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ArmandPhilippot\"\u003e\u003ccode\u003e@​ArmandPhilippot\u003c/code\u003e\u003c/a\u003e! - Fixes a link in the documentation specifying where to open an issue for the adapter.\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@​astrojs/underscore-redirects\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.0.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/cloudflare\u003c/code\u003e\u003ca href=\"https://github.com/13\"\u003e\u003ccode\u003e@​13\u003c/code\u003e\u003c/a\u003e.6.0\u003c/h2\u003e\n\u003ch2\u003e13.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16729\"\u003e#16729\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds \u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e and \u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e exports for composing Cloudflare-specific setup with Astro's advanced routing handlers.\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/fetch\u003c/code\u003e in a custom fetch handler:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { astro, FetchState } from 'astro/fetch';\r\nimport { cf } from '@astrojs/cloudflare/fetch';\r\n\u003cp\u003eexport default {\nasync fetch(request: Request, env: Env, ctx: ExecutionContext) {\nconst state = new FetchState(request);\nconst asset = await cf(state, env, ctx);\nif (asset) return asset;\nreturn astro(state);\n},\n};\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/hono\u003c/code\u003e as Hono middleware:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { Hono } from 'hono';\r\nimport { actions, middleware, pages, i18n } from 'astro/hono';\r\nimport { cf } from '@astrojs/cloudflare/hono';\r\n\u003cp\u003econst app = new Hono\u0026lt;{ Bindings: Env }\u0026gt;();\u003c/p\u003e\n\u003cp\u003eapp.use(cf());\napp.use(actions());\napp.use(middleware());\napp.use(pages());\n\u003c/code\u003e\u003c/pre\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/withastro/astro/blob/main/packages/integrations/cloudflare/CHANGELOG.md\"\u003e@​astrojs/cloudflare's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e13.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/withastro/astro/pull/16914\"\u003e#16914\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eastro/fetch\u003c/code\u003e and \u003ccode\u003eastro/hono\u003c/code\u003e being discovered at runtime during dev instead of pre-bundled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16693\"\u003e#16693\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ArmandPhilippot\"\u003e\u003ccode\u003e@​ArmandPhilippot\u003c/code\u003e\u003c/a\u003e! - Fixes a link in the documentation specifying where to open an issue for the adapter.\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@​astrojs/underscore-redirects\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.0.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e13.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16729\"\u003e#16729\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds \u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e and \u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e exports for composing Cloudflare-specific setup with Astro's advanced routing handlers.\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/fetch\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/fetch\u003c/code\u003e in a custom fetch handler:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { astro, FetchState } from 'astro/fetch';\nimport { cf } from '@astrojs/cloudflare/fetch';\n\u003cp\u003eexport default {\nasync fetch(request: Request, env: Env, ctx: ExecutionContext) {\nconst state = new FetchState(request);\nconst asset = await cf(state, env, ctx);\nif (asset) return asset;\nreturn astro(state);\n},\n};\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003e\u003ccode\u003e@astrojs/cloudflare/hono\u003c/code\u003e\u003c/h4\u003e\n\u003cp\u003eFor use with \u003ccode\u003eastro/hono\u003c/code\u003e as Hono middleware:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { Hono } from 'hono';\nimport { actions, middleware, pages, i18n } from 'astro/hono';\nimport { cf } from '@astrojs/cloudflare/hono';\n\u003cp\u003econst app = new Hono\u0026lt;{ Bindings: Env }\u0026gt;();\u003c/p\u003e\n\u003cp\u003eapp.use(cf());\napp.use(actions());\napp.use(middleware());\napp.use(pages());\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/75ae5df550edf907f771010ab33646f7f90a6b10\"\u003e\u003ccode\u003e75ae5df\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16912\"\u003e#16912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/272ca6173b40cfa37299c27b513f495f386d4009\"\u003e\u003ccode\u003e272ca61\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm to v11.5.0 (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16903\"\u003e#16903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/4bdd240a6174b12ee9344d9b97456079aa5975ce\"\u003e\u003ccode\u003e4bdd240\u003c/code\u003e\u003c/a\u003e Pre-bundle astro/fetch and astro/hono in Cloudflare optimizeDeps (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16914\"\u003e#16914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e chore(deps): update devalue (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16900\"\u003e#16900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9e6edc2da5ccf06243588a7f519dea5fbcc126cd\"\u003e\u003ccode\u003e9e6edc2\u003c/code\u003e\u003c/a\u003e fix(docs): replace last occurrences of \u003ccode\u003ewithastro/adapters\u003c/code\u003e (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16693\"\u003e#16693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/da10b9ec08421c06f654276a16b5e6596300d346\"\u003e\u003ccode\u003eda10b9e\u003c/code\u003e\u003c/a\u003e chore(deps): resolve peer dependency issues (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16894\"\u003e#16894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/c7157e69774a1c9eb685285ca21f1cf78f3551c2\"\u003e\u003ccode\u003ec7157e6\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16870\"\u003e#16870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Skip SSR build for fully static Cloudflare sites (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16468\"\u003e#16468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9c72aef9cf7ddd6eb1ebf6b328cc6aae6e65fa7d\"\u003e\u003ccode\u003e9c72aef\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/01aa1648ef436037b9204c8a297a09e66870cf86\"\u003e\u003ccode\u003e01aa164\u003c/code\u003e\u003c/a\u003e Add Cloudflare fetch and Hono handlers for advanced routing (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare/issues/16729\"\u003e#16729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/@astrojs/cloudflare@13.6.1/packages/integrations/cloudflare\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@astrojs/sitemap` from 3.7.2 to 3.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003e@​astrojs/sitemap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/sitemap\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.7.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16837\"\u003e#16837\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jdevalk\"\u003e\u003ccode\u003e@​jdevalk\u003c/code\u003e\u003c/a\u003e! - Improves \u003ccode\u003e\u0026lt;lastmod\u0026gt;\u003c/code\u003e accuracy in the sitemap index. Each \u003ccode\u003e\u0026lt;sitemap\u0026gt;\u003c/code\u003e entry in \u003ccode\u003esitemap-index.xml\u003c/code\u003e is now stamped with the most recent \u003ccode\u003elastmod\u003c/code\u003e of the URLs in the child sitemap it points to, instead of repeating a single global date on every entry. When a child sitemap has no per-URL \u003ccode\u003elastmod\u003c/code\u003e, the entry falls back to the \u003ccode\u003elastmod\u003c/code\u003e option as before. This gives search engines a per-file freshness signal, so they can tell which child sitemaps actually changed without refetching all of them.\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/withastro/astro/blob/main/packages/integrations/sitemap/CHANGELOG.md\"\u003e@​astrojs/sitemap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16837\"\u003e#16837\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jdevalk\"\u003e\u003ccode\u003e@​jdevalk\u003c/code\u003e\u003c/a\u003e! - Improves \u003ccode\u003e\u0026lt;lastmod\u0026gt;\u003c/code\u003e accuracy in the sitemap index. Each \u003ccode\u003e\u0026lt;sitemap\u0026gt;\u003c/code\u003e entry in \u003ccode\u003esitemap-index.xml\u003c/code\u003e is now stamped with the most recent \u003ccode\u003elastmod\u003c/code\u003e of the URLs in the child sitemap it points to, instead of repeating a single global date on every entry. When a child sitemap has no per-URL \u003ccode\u003elastmod\u003c/code\u003e, the entry falls back to the \u003ccode\u003elastmod\u003c/code\u003e option as before. This gives search engines a per-file freshness signal, so they can tell which child sitemaps actually changed without refetching all of them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/1e4916333554cf3798d20cd33f4dbf91e2844891\"\u003e\u003ccode\u003e1e49163\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16832\"\u003e#16832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/783c4a6e7789999aac0259e4777c90178adb9a02\"\u003e\u003ccode\u003e783c4a6\u003c/code\u003e\u003c/a\u003e Stamp sitemap index entries with per-file lastmod (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16837\"\u003e#16837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/5a8cd099fe373f907b8884cd596eee76a8d48952\"\u003e\u003ccode\u003e5a8cd09\u003c/code\u003e\u003c/a\u003e refactor: update tsconfig to use TypeScript project references (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16505\"\u003e#16505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/5c543c595def9826acdd71c1cb88f08f8d63f1a5\"\u003e\u003ccode\u003e5c543c5\u003c/code\u003e\u003c/a\u003e refactor(astro): add internal entry points for test (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16473\"\u003e#16473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/f7566b86ff720544bd52fad87d1251b21a311033\"\u003e\u003ccode\u003ef7566b8\u003c/code\u003e\u003c/a\u003e refactor: unify test setup (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16445\"\u003e#16445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/ba2dbf180595ae0c1c3e6f1ccf7ee1cbac07e5b1\"\u003e\u003ccode\u003eba2dbf1\u003c/code\u003e\u003c/a\u003e refactor(astro): correct Fixture type signatures in test-utils (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16380\"\u003e#16380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/245f30050b9044a99aa6ca42f09858a353c143ce\"\u003e\u003ccode\u003e245f300\u003c/code\u003e\u003c/a\u003e refactor: migrate sitemap tests to typescript (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16353\"\u003e#16353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/88fcc98e58455167afa0233163680b833812b69d\"\u003e\u003ccode\u003e88fcc98\u003c/code\u003e\u003c/a\u003e fix integrations links across docs (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/integrations/sitemap/issues/16098\"\u003e#16098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/withastro/astro/commits/@astrojs/sitemap@3.7.3/packages/integrations/sitemap\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astro` from 6.3.7 to 6.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003eastro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eastro@6.4.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/withastro/astro/pull/16900\"\u003e#16900\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e! - Bumps \u003ccode\u003edevalue\u003c/code\u003e dependency to v5.8.1\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16016\"\u003e#16016\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/felmonon\"\u003e\u003ccode\u003e@​felmonon\u003c/code\u003e\u003c/a\u003e! - Fix a false positive in the dev toolbar accessibility audit for anchors with text inside closed \u003ccode\u003e\u0026lt;details\u0026gt;\u003c/code\u003e elements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16911\"\u003e#16911\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes a bug where \u003ccode\u003eexperimental.advancedRouting\u003c/code\u003e with \u003ccode\u003eastro/hono\u003c/code\u003e handlers threw \u003ccode\u003eTypeError: Cannot read properties of undefined (reading 'route')\u003c/code\u003e for unmatched routes instead of rendering the custom 404 page.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16899\"\u003e#16899\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes a false \u0026quot;does not call the middleware() handler\u0026quot; warning when using \u003ccode\u003eastro()\u003c/code\u003e in a custom \u003ccode\u003esrc/app.ts\u003c/code\u003e and the first request is a redirect route.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16887\"\u003e#16887\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/493acdb4abc56534e9efa68af16e3ef273d7d88b\"\u003e\u003ccode\u003e493acdb\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eredirectToDefaultLocale\u003c/code\u003e not working after the Advanced Routing refactoring.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16908\"\u003e#16908\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Improves optimized fallbacks generation when using the Fonts API by using better metrics for bold variants\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@6.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/withastro/astro/pull/16889\"\u003e#16889\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b94bcfd8da64a3f2862a20572e7a9847aebdbc70\"\u003e\u003ccode\u003eb94bcfd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Fixes a \u003ccode\u003eplugins is not iterable\u003c/code\u003e crash when using a pre-6.0 \u003ccode\u003e@astrojs/mdx\u003c/code\u003e alongside integrations (e.g. Starlight) that set \u003ccode\u003emarkdown.remarkPlugins\u003c/code\u003e, \u003ccode\u003emarkdown.rehypePlugins\u003c/code\u003e, or \u003ccode\u003emarkdown.remarkRehype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16878\"\u003e#16878\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b9f6bb9a238b909d491ca4a7a99620908faf58a8\"\u003e\u003ccode\u003eb9f6bb9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fkatsuhiro\"\u003e\u003ccode\u003e@​fkatsuhiro\u003c/code\u003e\u003c/a\u003e! - Fixes an issue where on-demand (SSR) dynamic routes would return 404 when a prerendered dynamic route with the same URL pattern was sorted first alphabetically. In production builds with \u003ccode\u003e@astrojs/node\u003c/code\u003e adapter, if \u003ccode\u003e[a_prebuild].astro\u003c/code\u003e (prerender=true) came before \u003ccode\u003e[b_ssr].astro\u003c/code\u003e alphabetically, requests to URLs not in the prerendered route's static paths would 404 instead of falling through to the SSR route. The fix adds fallthrough logic so that when a prerendered dynamic route matches but can't serve the request, Astro tries subsequent matching routes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@6.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/withastro/astro/pull/16468\"\u003e#16468\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003epreserveBuildServerDir\u003c/code\u003e adapter feature\u003c/p\u003e\n\u003cp\u003eAdapters can now set \u003ccode\u003epreserveBuildServerDir: true\u003c/code\u003e in their adapter features to keep the \u003ccode\u003edist/server/\u003c/code\u003e directory structure for static builds, mirroring the existing \u003ccode\u003epreserveBuildClientDir\u003c/code\u003e option. This is useful for adapters that require a consistent \u003ccode\u003edist/client/\u003c/code\u003e and \u003ccode\u003edist/server/\u003c/code\u003e layout regardless of build output type.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003esetAdapter({\r\n  name: 'my-adapter',\r\n  adapterFeatures: {\r\n    buildOutput,\r\n    preserveBuildClientDir: true,\r\n    preserveBuildServerDir: true,\r\n  },\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16848\"\u003e#16848\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc\"\u003e\u003ccode\u003ef732f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003emarkdown.processor\u003c/code\u003e configuration option, allowing you to choose an alternative Markdown processor.\u003c/p\u003e\n\u003cp\u003eWebsites with many Markdown/MDX files tend to be slow to build because the unified ecosystem (e.g., remark, rehype) is slow to process. This feature introduces the ability to replace this part of the build pipeline with another processor.\u003c/p\u003e\n\u003cp\u003eThe default processor is \u003ccode\u003eunified()\u003c/code\u003e. This means that existing configurations remain unchanged and your remark/rehype plugins continue to work.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// astro.config.mjs\r\nimport { defineConfig } from 'astro/config';\r\nimport { unified } from '@astrojs/markdown-remark';\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md\"\u003eastro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.4.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/withastro/astro/pull/16900\"\u003e#16900\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e! - Bumps \u003ccode\u003edevalue\u003c/code\u003e dependency to v5.8.1\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16016\"\u003e#16016\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/felmonon\"\u003e\u003ccode\u003e@​felmonon\u003c/code\u003e\u003c/a\u003e! - Fix a false positive in the dev toolbar accessibility audit for anchors with text inside closed \u003ccode\u003e\u0026lt;details\u0026gt;\u003c/code\u003e elements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16911\"\u003e#16911\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes a bug where \u003ccode\u003eexperimental.advancedRouting\u003c/code\u003e with \u003ccode\u003eastro/hono\u003c/code\u003e handlers threw \u003ccode\u003eTypeError: Cannot read properties of undefined (reading 'route')\u003c/code\u003e for unmatched routes instead of rendering the custom 404 page.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16899\"\u003e#16899\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes a false \u0026quot;does not call the middleware() handler\u0026quot; warning when using \u003ccode\u003eastro()\u003c/code\u003e in a custom \u003ccode\u003esrc/app.ts\u003c/code\u003e and the first request is a redirect route.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16887\"\u003e#16887\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/493acdb4abc56534e9efa68af16e3ef273d7d88b\"\u003e\u003ccode\u003e493acdb\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/astrobot-houston\"\u003e\u003ccode\u003e@​astrobot-houston\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eredirectToDefaultLocale\u003c/code\u003e not working after the Advanced Routing refactoring.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16908\"\u003e#16908\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Improves optimized fallbacks generation when using the Fonts API by using better metrics for bold variants\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.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/withastro/astro/pull/16889\"\u003e#16889\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b94bcfd8da64a3f2862a20572e7a9847aebdbc70\"\u003e\u003ccode\u003eb94bcfd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Fixes a \u003ccode\u003eplugins is not iterable\u003c/code\u003e crash when using a pre-6.0 \u003ccode\u003e@astrojs/mdx\u003c/code\u003e alongside integrations (e.g. Starlight) that set \u003ccode\u003emarkdown.remarkPlugins\u003c/code\u003e, \u003ccode\u003emarkdown.rehypePlugins\u003c/code\u003e, or \u003ccode\u003emarkdown.remarkRehype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16878\"\u003e#16878\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/b9f6bb9a238b909d491ca4a7a99620908faf58a8\"\u003e\u003ccode\u003eb9f6bb9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fkatsuhiro\"\u003e\u003ccode\u003e@​fkatsuhiro\u003c/code\u003e\u003c/a\u003e! - Fixes an issue where on-demand (SSR) dynamic routes would return 404 when a prerendered dynamic route with the same URL pattern was sorted first alphabetically. In production builds with \u003ccode\u003e@astrojs/node\u003c/code\u003e adapter, if \u003ccode\u003e[a_prebuild].astro\u003c/code\u003e (prerender=true) came before \u003ccode\u003e[b_ssr].astro\u003c/code\u003e alphabetically, requests to URLs not in the prerendered route's static paths would 404 instead of falling through to the SSR route. The fix adds fallthrough logic so that when a prerendered dynamic route matches but can't serve the request, Astro tries subsequent matching routes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16883\"\u003e#16883\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/eeb064ca9452fd9d0ad9b7557059a646a90a3e57\"\u003e\u003ccode\u003eeeb064c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Restores the \u003ccode\u003eastro/jsx/rehype.js\u003c/code\u003e entry point so that older versions of \u003ccode\u003e@astrojs/mdx\u003c/code\u003e continue to work when used with Astro 6.x. This entry point will be removed in Astro 7.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.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/withastro/astro/pull/16468\"\u003e#16468\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/4cff3a107c3750ab5f0878a6b41836705282b771\"\u003e\u003ccode\u003e4cff3a1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003epreserveBuildServerDir\u003c/code\u003e adapter feature\u003c/p\u003e\n\u003cp\u003eAdapters can now set \u003ccode\u003epreserveBuildServerDir: true\u003c/code\u003e in their adapter features to keep the \u003ccode\u003edist/server/\u003c/code\u003e directory structure for static builds, mirroring the existing \u003ccode\u003epreserveBuildClientDir\u003c/code\u003e option. This is useful for adapters that require a consistent \u003ccode\u003edist/client/\u003c/code\u003e and \u003ccode\u003edist/server/\u003c/code\u003e layout regardless of build output type.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003esetAdapter({\n  name: 'my-adapter',\n  adapterFeatures: {\n    buildOutput,\n    preserveBuildClientDir: true,\n    preserveBuildServerDir: true,\n  },\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/16848\"\u003e#16848\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/f732f3cc716342a63e5b03815243ba10964b89dc\"\u003e\u003ccode\u003ef732f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003emarkdown.processor\u003c/code\u003e configuration option, allowing you to choose an alternative Markdown processor.\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/withastro/astro/commit/75ae5df550edf907f771010ab33646f7f90a6b10\"\u003e\u003ccode\u003e75ae5df\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16912\"\u003e#16912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/7604e63d52b6e804ea0ceb54a48600438ce4f673\"\u003e\u003ccode\u003e7604e63\u003c/code\u003e\u003c/a\u003e fix: remove dead else branch in csp insertDirective (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16921\"\u003e#16921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/0d85e1b7ea58a243bd1b61bdfb951c4fd87b9db5\"\u003e\u003ccode\u003e0d85e1b\u003c/code\u003e\u003c/a\u003e Fix false positive missing-content audit for hidden anchors (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16016\"\u003e#16016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/1e341b1da7d1379fbc19345b2e6e827986450825\"\u003e\u003ccode\u003e1e341b1\u003c/code\u003e\u003c/a\u003e chore: move integration tests to unit tests (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16869\"\u003e#16869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/79c6c469a735bece8a80200f7b188e15f1abff24\"\u003e\u003ccode\u003e79c6c46\u003c/code\u003e\u003c/a\u003e Fix 404 route resolution for experimental.advancedRouting with astro/hono han...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/17a0fbd34d11db765e79caf269bfd5f43ef51da8\"\u003e\u003ccode\u003e17a0fbd\u003c/code\u003e\u003c/a\u003e chore(deps): update devalue (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16900\"\u003e#16900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/86e1190fad15f40677db58614b55e5564f56177d\"\u003e\u003ccode\u003e86e1190\u003c/code\u003e\u003c/a\u003e docs: fix typos in astro:i18n middleware JSDoc (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16574\"\u003e#16574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/239c469cd2cd66d147a302a2ca14e07a0891f9b8\"\u003e\u003ccode\u003e239c469\u003c/code\u003e\u003c/a\u003e fix: astro() marks all pipeline features as used (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16899\"\u003e#16899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/e0e686cdae0ad8e37edc2ff9eb35daca12b713d2\"\u003e\u003ccode\u003ee0e686c\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/ef53ab91e8362b50bb1a3ab73d9350b93ea41de4\"\u003e\u003ccode\u003eef53ab9\u003c/code\u003e\u003c/a\u003e feat(fonts): better bold fallbacks (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/16908\"\u003e#16908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/astro@6.4.3/packages/astro\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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.60.0 to 8.60.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/598af564db50593277ba46c7fdea3648e4425391\"\u003e\u003ccode\u003e598af56\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): clarify no-redeclare type-value collision not covered by...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5341d59dd3c21fc4e2bf3bce55cf35d8f84e5216\"\u003e\u003ccode\u003e5341d59\u003c/code\u003e\u003c/a\u003e chore: fix lint issues (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12369\"\u003e#12369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f525814f01766487ab34a54d56de20ea5c4fb576\"\u003e\u003ccode\u003ef525814\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2df540cd8bbeb3e2c56d516912f69bf63c1e9450\"\u003e\u003ccode\u003e2df540c\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): defer type checks to improve rules performance (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12296\"\u003e#12296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1ab4284789b36cf482a4d9924719162a02d54243\"\u003e\u003ccode\u003e1ab4284\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): respect ECMAScript line terminators in ts-comment rules (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2f49df599b2db5f2937caf975d3c63e5cdeb0ea1\"\u003e\u003ccode\u003e2f49df5\u003c/code\u003e\u003c/a\u003e docs: update references to \u003ccode\u003e@stylistic/eslint-plugin\u003c/code\u003e rules in documentation ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.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.60.0 to 8.60.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.4.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\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.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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...\n\n_Description has been truncated_","html_url":"https://github.com/beelzer/dcln/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/beelzer%2Fdcln/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-03T06:30:36.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4577487846","node_id":"PR_kwDOSlb88M7iGNsN","number":14,"state":"closed","title":"chore(deps): bump the non-breaking-changes group across 1 directory with 47 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T03:19:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T06:30:36.000Z","updated_at":"2026-06-04T03:19:06.000Z","time_to_close":74908,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"non-breaking-changes","update_count":47,"packages":[{"name":"@clack/prompts","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/bombshell-dev/clack"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.1","new_version":"4.7.2","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@iconify/json","old_version":"2.2.476","new_version":"2.2.481","repository_url":"https://github.com/iconify/icon-sets"},{"name":"@jspm/generator","old_version":"2.15.0","new_version":"2.16.1","repository_url":"https://github.com/jspm/jspm"},{"name":"@tanstack/vue-query","old_version":"5.100.11","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@tiptap/core","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-document","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-highlight","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-image","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-placeholder","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-align","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-style","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-underline","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/vue-3","old_version":"3.23.6","new_version":"3.24.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tsdown/css","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vue/shared","old_version":"3.5.34","new_version":"3.5.35","repository_url":"https://github.com/vuejs/core"},{"name":"cspell","old_version":"10.0.0","new_version":"10.0.1","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"dayjs","old_version":"1.11.20","new_version":"1.11.21","repository_url":"https://github.com/iamkun/dayjs"},{"name":"element-plus","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/element-plus/element-plus"},{"name":"es-toolkit","old_version":"1.45.1","new_version":"1.47.0","repository_url":"https://github.com/toss/es-toolkit"},{"name":"eslint-plugin-jsonc","old_version":"3.1.2","new_version":"3.2.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-jsonc"},{"name":"eslint-plugin-yml","old_version":"3.3.2","new_version":"3.4.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-yml"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"knip","old_version":"6.14.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.8","new_version":"2.1.9","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"oxfmt","old_version":"0.51.0","new_version":"0.53.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.66.0","new_version":"1.68.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"reka-ui","old_version":"2.9.7","new_version":"2.9.9","repository_url":"https://github.com/unovue/reka-ui"},{"name":"tsdown","old_version":"0.22.0","new_version":"0.22.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"turbo","old_version":"2.9.14","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"unplugin-dts","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vue-router","old_version":"5.0.7","new_version":"5.1.0","repository_url":"https://github.com/vuejs/router"},{"name":"vue-tsc","old_version":"3.3.1","new_version":"3.3.3","repository_url":"https://github.com/vuejs/language-tools"},{"name":"vue","old_version":"3.5.34","new_version":"3.5.35","repository_url":"https://github.com/vuejs/core"},{"name":"vxe-pc-ui","old_version":"4.14.17","new_version":"4.14.26","repository_url":"https://github.com/x-extends/vxe-pc-ui"},{"name":"vxe-table","old_version":"4.19.0","new_version":"4.19.6","repository_url":"https://github.com/x-extends/vxe-table"},{"name":"zod-defaults","old_version":"0.1.3","new_version":"0.2.3","repository_url":"https://github.com/Ced-Sharp/zod-defaults"},{"name":"@ast-grep/napi","old_version":"0.42.3","new_version":"0.43.0","repository_url":"https://github.com/ast-grep/ast-grep"}],"path":null,"ecosystem":"npm"},"body":"Bumps the non-breaking-changes group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@clack/prompts](https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts) | `1.4.0` | `1.5.0` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.1` | `4.7.2` |\n| [@iconify/json](https://github.com/iconify/icon-sets) | `2.2.476` | `2.2.481` |\n| [@jspm/generator](https://github.com/jspm/jspm) | `2.15.0` | `2.16.1` |\n| [@tanstack/vue-query](https://github.com/TanStack/query/tree/HEAD/packages/vue-query) | `5.100.11` | `5.100.14` |\n| [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-document](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-document) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-highlight](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-highlight) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-placeholder](https://github.com/ueberdosis/tiptap/tree/HEAD/packages-deprecated/extension-placeholder) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-text-align](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-align) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-text-style](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-style) | `3.23.6` | `3.24.0` |\n| [@tiptap/extension-underline](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-underline) | `3.23.6` | `3.24.0` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.23.6` | `3.24.0` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.23.6` | `3.24.0` |\n| [@tiptap/vue-3](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/vue-3) | `3.23.6` | `3.24.0` |\n| [@tsdown/css](https://github.com/rolldown/tsdown/tree/HEAD/packages/css) | `0.22.0` | `0.22.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.4` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.4` | `8.60.1` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.34` | `3.5.35` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `10.0.0` | `10.0.1` |\n| [dayjs](https://github.com/iamkun/dayjs) | `1.11.20` | `1.11.21` |\n| [element-plus](https://github.com/element-plus/element-plus) | `2.14.0` | `2.14.1` |\n| [es-toolkit](https://github.com/toss/es-toolkit) | `1.45.1` | `1.47.0` |\n| [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) | `3.1.2` | `3.2.0` |\n| [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) | `3.3.2` | `3.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.14.1` | `6.15.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |\n| [reka-ui](https://github.com/unovue/reka-ui) | `2.9.7` | `2.9.9` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.9.16` |\n| [unplugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/unplugin-dts) | `1.0.1` | `1.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.16` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n| [vue-router](https://github.com/vuejs/router) | `5.0.7` | `5.1.0` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.1` | `3.3.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.34` | `3.5.35` |\n| [vxe-pc-ui](https://github.com/x-extends/vxe-pc-ui) | `4.14.17` | `4.14.26` |\n| [vxe-table](https://github.com/x-extends/vxe-table) | `4.19.0` | `4.19.6` |\n| [zod-defaults](https://github.com/Ced-Sharp/zod-defaults) | `0.1.3` | `0.2.3` |\n| [@ast-grep/napi](https://github.com/ast-grep/ast-grep) | `0.42.3` | `0.43.0` |\n\n\nUpdates `@clack/prompts` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/releases\"\u003e@​clack/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/543\"\u003e#543\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Adds support for Standard Schema validation\u003c/p\u003e\n\u003cp\u003ePrompts accept an optional \u003ccode\u003evalidate()\u003c/code\u003e function to validate user input. While a function provides more flexibility and customization over your validation, it can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier.\u003c/p\u003e\n\u003cp\u003eLibraries following the \u003ca href=\"https://github.com/standard-schema/standard-schema\"\u003eStandard Schema specification\u003c/a\u003e are now natively supported. For example, using \u003ca href=\"https://arktype.io/\"\u003eArktype\u003c/a\u003e:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003eimport { text } from '@clack/prompts';\nimport { type } from 'arktype';\n\u003cp\u003econst name = await text({\nmessage: 'Enter your email',\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evalidate: type('string.email').describe('Invalid email'),\n});\n\u003c/code\u003e\u003c/pre\u003e\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/bombshell-dev/clack/pull/542\"\u003e#542\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/534\"\u003e#534\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattStypa\"\u003e\u003ccode\u003e@​MattStypa\u003c/code\u003e\u003c/a\u003e! - Fixed spaces and uppercase characters in multiline prompt\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/540\"\u003e#540\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.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/bombshell-dev/clack/blob/main/packages/prompts/CHANGELOG.md\"\u003e@​clack/prompts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/543\"\u003e#543\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/florian-lefebvre\"\u003e\u003ccode\u003e@​florian-lefebvre\u003c/code\u003e\u003c/a\u003e! - Adds support for Standard Schema validation\u003c/p\u003e\n\u003cp\u003ePrompts accept an optional \u003ccode\u003evalidate()\u003c/code\u003e function to validate user input. While a function provides more flexibility and customization over your validation, it can be a bit verbose. To help solve this, there are libraries that provide schema-based validation to make shorthand and type-strict validation substantially easier.\u003c/p\u003e\n\u003cp\u003eLibraries following the \u003ca href=\"https://github.com/standard-schema/standard-schema\"\u003eStandard Schema specification\u003c/a\u003e are now natively supported. For example, using \u003ca href=\"https://arktype.io/\"\u003eArktype\u003c/a\u003e:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003eimport { text } from '@clack/prompts';\nimport { type } from 'arktype';\n\u003cp\u003econst name = await text({\nmessage: 'Enter your email',\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evalidate: type('string.email').describe('Invalid email'),\n});\n\u003c/code\u003e\u003c/pre\u003e\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/bombshell-dev/clack/pull/542\"\u003e#542\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/534\"\u003e#534\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattStypa\"\u003e\u003ccode\u003e@​MattStypa\u003c/code\u003e\u003c/a\u003e! - Fixed spaces and uppercase characters in multiline prompt\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/540\"\u003e#540\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ghostdevv\"\u003e\u003ccode\u003e@​ghostdevv\u003c/code\u003e\u003c/a\u003e! - docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.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/bombshell-dev/clack/commit/030ba4d776e5985050c0e2712da7008bd93b8847\"\u003e\u003ccode\u003e030ba4d\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/83428ac6d8bc5eda87615cc7b1f14e0c8b16e1b6\"\u003e\u003ccode\u003e83428ac\u003c/code\u003e\u003c/a\u003e feat: standard schema for validation (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/adb6af9f5fb39408934323a7415beb46b63ecd9a\"\u003e\u003ccode\u003eadb6af9\u003c/code\u003e\u003c/a\u003e docs: add jsdoc for \u003ccode\u003ebox\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroup-multi-select\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/3170ed94dc2a6ed7973228d46c664fb7461969ad\"\u003e\u003ccode\u003e3170ed9\u003c/code\u003e\u003c/a\u003e docs: add jsdoc for \u003ccode\u003eautocomplete\u003c/code\u003e, \u003ccode\u003econfirm\u003c/code\u003e, and \u003ccode\u003epath\u003c/code\u003e prompts (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/3dcb31a7d63827d95a5a52ac630cbd48e3a68364\"\u003e\u003ccode\u003e3dcb31a\u003c/code\u003e\u003c/a\u003e fix: spaces and uppercase characters in multiline input (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bombshell-dev/clack/commits/@clack/prompts@1.5.0/packages/prompts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-community/eslint-plugin-eslint-comments` from 4.7.1 to 4.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/releases\"\u003e@​eslint-community/eslint-plugin-eslint-comments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.1...v4.7.2\"\u003e4.7.2\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pin \u003ccode\u003emodern-monaco\u003c/code\u003e version to 0.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/320\"\u003e#320\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/62a2c3a4ee304a8383f170369c9999198d9bdac8\"\u003e62a2c3a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocs:\u003c/strong\u003e use \u003ccode\u003emodern-monaco\u003c/code\u003e instead of \u003ccode\u003emonaco-editor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/311\"\u003e#311\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/42919d06d8a221e061de3ec98e35bf508ea2b5d2\"\u003e42919d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/62a2c3a4ee304a8383f170369c9999198d9bdac8\"\u003e\u003ccode\u003e62a2c3a\u003c/code\u003e\u003c/a\u003e fix(deps): pin \u003ccode\u003emodern-monaco\u003c/code\u003e version to 0.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/42919d06d8a221e061de3ec98e35bf508ea2b5d2\"\u003e\u003ccode\u003e42919d0\u003c/code\u003e\u003c/a\u003e fix(docs): use \u003ccode\u003emodern-monaco\u003c/code\u003e instead of \u003ccode\u003emonaco-editor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/311\"\u003e#311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/9f93f007eedfd436aa6b009ef6fa90c69d4e7153\"\u003e\u003ccode\u003e9f93f00\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/deploy-pages from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/b99d9d50674acb86f1eacbd3460cb29998473afb\"\u003e\u003ccode\u003eb99d9d5\u003c/code\u003e\u003c/a\u003e chore(deps): Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/7c77e2b4dca7ef72e0ac7681e17dcb3acb35235a\"\u003e\u003ccode\u003e7c77e2b\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/configure-pages from 5 to 6 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.1...v4.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/json` from 2.2.476 to 2.2.481\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/cbe048beaa414733095779c9dfe48ed90d84e76c\"\u003e\u003ccode\u003ecbe048b\u003c/code\u003e\u003c/a\u003e Update 5 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/dcaf24b39f69363268213f847f7f9066989a441e\"\u003e\u003ccode\u003edcaf24b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/302\"\u003e#302\u003c/a\u003e from iconify/renovate/typescript-eslint-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/31baa79a3b7029eb0e537e167581ed00f0bd632c\"\u003e\u003ccode\u003e31baa79\u003c/code\u003e\u003c/a\u003e Update dependency \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e to ^8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/fd3cde511820afb102904f87ae0823ee2c00b517\"\u003e\u003ccode\u003efd3cde5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/301\"\u003e#301\u003c/a\u003e from iconify/renovate/vitest-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/750ca0c305265baa9f502ddb666426192bc08958\"\u003e\u003ccode\u003e750ca0c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/303\"\u003e#303\u003c/a\u003e from iconify/renovate/node-25.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/6f1269fab6bf3ec390695a5a5831549feccf92ea\"\u003e\u003ccode\u003e6f1269f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/iconify/icon-sets/issues/305\"\u003e#305\u003c/a\u003e from iconify/renovate/eslint-monorepo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/bb1d9d6f904c838105151c3ae70b6d72396b97cb\"\u003e\u003ccode\u003ebb1d9d6\u003c/code\u003e\u003c/a\u003e Update dependency eslint to ^10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/d252f97cc569914ce9ad964b8f46dc4539fb07b5\"\u003e\u003ccode\u003ed252f97\u003c/code\u003e\u003c/a\u003e Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^25.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/36986da5048db2a6de743475d16a5749f12459c2\"\u003e\u003ccode\u003e36986da\u003c/code\u003e\u003c/a\u003e Update dependency vitest to ^4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/cc371525b28603b1fa8a740fdfdadcb06e6936f9\"\u003e\u003ccode\u003ecc37152\u003c/code\u003e\u003c/a\u003e Update 7 icon sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/iconify/icon-sets/compare/2.2.476...2.2.481\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jspm/generator` from 2.15.0 to 2.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jspm/jspm/releases\"\u003e@​jspm/generator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​jspm/generator\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.16.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: resolve #-prefixed inputMap specifiers in linked secondary scopes by \u003ca href=\"https://github.com/guybedford\"\u003e\u003ccode\u003e@​guybedford\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jspm/jspm/pull/2738\"\u003ejspm/jspm#2738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jspm/jspm/compare/4.5.0...@jspm/generator@2.16.1\"\u003ehttps://github.com/jspm/jspm/compare/4.5.0...@​jspm/generator@2.16.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/jspm/jspm/commit/f28168bfd26c063df82491dc95c592fba416e520\"\u003e\u003ccode\u003ef28168b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​jspm/generator\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.16.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/9ce2f1ad4b08c5d7ef16750fd0a74c781b65b382\"\u003e\u003ccode\u003e9ce2f1a\u003c/code\u003e\u003c/a\u003e fix: resolve #-prefixed inputMap specifiers in linked secondary scopes (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2738\"\u003e#2738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/8316541e7a3ecc9334f73dfadc108970416dd2e8\"\u003e\u003ccode\u003e8316541\u003c/code\u003e\u003c/a\u003e fixup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/7fcea1bc6c9d9036ea5dc6b5c979833688d6d75a\"\u003e\u003ccode\u003e7fcea1b\u003c/code\u003e\u003c/a\u003e 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/9eda95da448206c037e56b5f6142c96ae96b5027\"\u003e\u003ccode\u003e9eda95d\u003c/code\u003e\u003c/a\u003e chore: update dependencies across workspace (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2734\"\u003e#2734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/dbe3cb4bf6a76eaa58d23d507ff3c676c5841f0e\"\u003e\u003ccode\u003edbe3cb4\u003c/code\u003e\u003c/a\u003e Update claude-code-review.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/298ff657378a96009119303d7314846ae3de91b5\"\u003e\u003ccode\u003e298ff65\u003c/code\u003e\u003c/a\u003e Update CLAUDE model and permissions in workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/c332d6b86fd0d3800bf9e25f77b2c6a83e89d96e\"\u003e\u003ccode\u003ec332d6b\u003c/code\u003e\u003c/a\u003e Enable full output for Claude code review (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2737\"\u003e#2737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/7f4b95bdb86d4390fa3c73273d7412edf720e974\"\u003e\u003ccode\u003e7f4b95b\u003c/code\u003e\u003c/a\u003e optimize code review workflow (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2736\"\u003e#2736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jspm/jspm/commit/b2e08a766a62a7b69fd65d9c7b6368df383af0fb\"\u003e\u003ccode\u003eb2e08a7\u003c/code\u003e\u003c/a\u003e Add claude GitHub actions (\u003ca href=\"https://redirect.github.com/jspm/jspm/issues/2735\"\u003e#2735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jspm/jspm/compare/@jspm/generator@2.15.0...@jspm/generator@2.16.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/vue-query` from 5.100.11 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/vue-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\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.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(query-core): drop the custom \u003ccode\u003eNoInfer\u0026lt;T\u0026gt;\u003c/code\u003e re-export and rely on TypeScript's built-in \u003ccode\u003eNoInfer\u003c/code\u003e (TS ≥ 5.4) so \u003ccode\u003eNoInfer\u0026lt;X[K]\u0026gt;\u003c/code\u003e stays assignable to \u003ccode\u003eX[K]\u003c/code\u003e in generic contexts (fixes \u003ca href=\"https://redirect.github.com/TanStack/query/issues/9937\"\u003e#9937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10593\"\u003e#10593\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/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\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.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/vue-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\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/vue-query/CHANGELOG.md\"\u003e@​tanstack/vue-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\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.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(query-core): drop the custom \u003ccode\u003eNoInfer\u0026lt;T\u0026gt;\u003c/code\u003e re-export and rely on TypeScript's built-in \u003ccode\u003eNoInfer\u003c/code\u003e (TS ≥ 5.4) so \u003ccode\u003eNoInfer\u0026lt;X[K]\u0026gt;\u003c/code\u003e stays assignable to \u003ccode\u003eX[K]\u003c/code\u003e in generic contexts (fixes \u003ca href=\"https://redirect.github.com/TanStack/query/issues/9937\"\u003e#9937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10593\"\u003e#10593\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/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\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.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/d423168f6261a5cb3d353e53b27c8150cc271151\"\u003e\u003ccode\u003ed423168\u003c/code\u003e\u003c/a\u003e fix(query-core): use built-in NoInfer for generic indexed-access types (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10593\"\u003e#10593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/vue-query/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/vue-query@5.100.14/packages/vue-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/core` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/core/CHANGELOG.md\"\u003e@​tiptap/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7c0499b]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-document` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-document's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-document/CHANGELOG.md\"\u003e@​tiptap/extension-document's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-document\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-highlight` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-highlight's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-highlight/CHANGELOG.md\"\u003e@​tiptap/extension-highlight's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-highlight\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-image` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-image's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-image/CHANGELOG.md\"\u003e@​tiptap/extension-image's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-image\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-link` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-link's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-link/CHANGELOG.md\"\u003e@​tiptap/extension-link's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7c0499b]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-link\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-placeholder` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-placeholder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages-deprecated/extension-placeholder/CHANGELOG.md\"\u003e@​tiptap/extension-placeholder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [2d05614]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extensions\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages-deprecated/extension-placeholder\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-text-align` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-text-align's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a \u003ccode\u003edoc.on('destroy', ...)\u003c/code\u003e listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in \u003ccode\u003e@tiptap/y-tiptap\u003c/code\u003e; this bumps the dependency to pull in the fix.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/server-ai-toolkit\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Exclude \u003ccode\u003etoText\u003c/code\u003e property when serializing the schema into a JSON object, because it is a function and functions are not serializable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Add missing \u003ccode\u003e@tiptap/pm/inputrules\u003c/code\u003e export\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-details\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix persisted details toggles when the details node is at the start of the document.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text-style\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/markdown\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as \u003ccode\u003e\u0026lt;enter existing CID here if available\u0026gt;\u003c/code\u003e that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream \u003ccode\u003econtentMatchAt\u003c/code\u003e errors when complex schemas (Mention, Variable, Table) are in use.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/blob/main/packages/extension-text-align/CHANGELOG.md\"\u003e@​tiptap/extension-text-align's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.24.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/6817d14116f627d574545ab01eaa0402d7d286d6\"\u003e\u003ccode\u003e6817d14\u003c/code\u003e\u003c/a\u003e chore(release): publish a new stable version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ueberdosis/tiptap/commit/a42a8d6dfd6e2d9050c9a477d38b25209f1e672c\"\u003e\u003ccode\u003ea42a8d6\u003c/code\u003e\u003c/a\u003e chore: migrate linting and formatting from ESLint/Prettier to oxlint/oxfmt (o...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/v3.24.0/packages/extension-text-align\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/extension-text-style` from 3.23.6 to 3.24.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ueberdosis/tiptap/releases\"\u003e@​tiptap/extension-text-style's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.24.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration-caret\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness \u003ccode\u003eupdate\u003c/code\u003e listener is now removed on destroy, so the editor can be garbage collected.\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7bd09b7]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/pm\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.24.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-collaboration\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e7bd09b7: Fix a memory leak where destroying a...\n\n_Description has been truncated_","html_url":"https://github.com/trevorrockss484/vue-vben-admin/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trevorrockss484%2Fvue-vben-admin/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"20.1.0","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-03T01:09:34.000Z","version_change":"20.1.0 → 21.0.2","issue":{"uuid":"4576090163","node_id":"PR_kwDOQJqlAs7iBtbZ","number":52,"state":"open","title":"build(deps-dev): bump @commitlint/cli from 20.1.0 to 21.0.2","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-06-03T01:09:34.000Z","updated_at":"2026-06-03T01:09:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.1.0","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.1.0 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.1.0\u0026new-version=21.0.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/metaneutrons/png2lvgl/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaneutrons%2Fpng2lvgl/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-03T00:55:29.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4576028768","node_id":"PR_kwDOR2H5Fc7iBgWL","number":64,"state":"open","title":"chore(deps): bump the root-tooling 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-06-03T00:55:29.000Z","updated_at":"2026-06-03T00:56:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"root-tooling","update_count":7,"packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"typescript-eslint","old_version":"8.60.0","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the root-tooling group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.60.0` | `8.60.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.8` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.4.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.60.0 to 8.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.1 (2026-06-01)\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.60.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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.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 `@vitest/coverage-v8` from 4.1.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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` from 4.1.7 to 4.1.8\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.8\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDisable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [backport to v4]  -  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/10450\"\u003evitest-dev/vitest#10450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b1\"\u003e\u003c!-- raw HTML omitted --\u003e(e4067)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by \u003ca href=\"https://github.com/toxik\"\u003e\u003ccode\u003e@​toxik\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Zelys-DFKH\"\u003e\u003ccode\u003e@​Zelys-DFKH\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10474\"\u003evitest-dev/vitest#10474\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/675b4343f\"\u003e\u003c!-- raw HTML omitted --\u003e(675b4)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8\"\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/e61f2dd2a0ba0a266c1c5e0334aad3799fee527f\"\u003e\u003ccode\u003ee61f2dd\u003c/code\u003e\u003c/a\u003e chore: release v4.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e4067b3b150005fd42cf75f994300119245806b9\"\u003e\u003ccode\u003ee4067b3\u003c/code\u003e\u003c/a\u003e fix(browser): disable client \u003ccode\u003ecdp\u003c/code\u003e API when \u003ccode\u003eallowWrite/allowExec: false\u003c/code\u003e [ba...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/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/felipesauer/safeaccess-inline/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipesauer%2Fsafeaccess-inline/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"}},{"old_version":"17.8.0","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-02T13:58:22.000Z","version_change":"17.8.0 → 21.0.2","issue":{"uuid":"4572061926","node_id":"PR_kwDOCvw6E87h0Zgj","number":1347,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 17.8.0 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","Stale","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-07T01:49:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T13:58:22.000Z","updated_at":"2026-06-07T01:49:24.000Z","time_to_close":388260,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"17.8.0","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 17.8.0 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=17.8.0\u0026new-version=21.0.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/codeparticle/formal/pull/1347","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeparticle%2Fformal/issues/1347","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1347/packages"}},{"old_version":"19.8.1","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-02T07:53:47.000Z","version_change":"19.8.1 → 21.0.2","issue":{"uuid":"4569572118","node_id":"PR_kwDOSNhAS87hsPPC","number":13,"state":"open","title":"chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.2","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-06-02T07:53:47.000Z","updated_at":"2026-06-02T07:53:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.8.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\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/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=19.8.1\u0026new-version=21.0.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/HoonyL84/harness-template/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HoonyL84%2Fharness-template/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-02T04:36:40.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4568450830","node_id":"PR_kwDOOJ7bUc7homot","number":156,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 21.0.1 to 21.0.2","user":"dependabot[bot]","labels":["dependencies","automerge-candidate"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T04:36:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T04:36:40.000Z","updated_at":"2026-06-02T04:37:46.000Z","time_to_close":10,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.1 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=21.0.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/yeyuqwer/yeyu-blog/pull/156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeyuqwer%2Fyeyu-blog/issues/156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/156/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-02T04:34:41.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4568442681","node_id":"PR_kwDOPNdhBM7hok-K","number":61,"state":"closed","title":"build: bump the commitlint group with 2 updates","user":"dependabot[bot]","labels":["dependencies","javascript","auto-approved"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T04:35:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T04:34:41.000Z","updated_at":"2026-06-02T04:35:51.000Z","time_to_close":69,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"commitlint","update_count":2,"packages":[{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the commitlint group with 2 updates: [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) and [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional).\n\nUpdates `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional\"\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/ukhsa-collaboration/standards-development/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukhsa-collaboration%2Fstandards-development/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"}},{"old_version":"21.0.1","new_version":"21.0.2","update_type":"patch","path":null,"pr_created_at":"2026-06-02T04:02:37.000Z","version_change":"21.0.1 → 21.0.2","issue":{"uuid":"4568306301","node_id":"PR_kwDOSeHP-s7hoJFv","number":28,"state":"open","title":"chore(deps): bump the minor-patch group with 9 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-06-02T04:02:37.000Z","updated_at":"2026-06-02T04:02:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-patch","update_count":9,"packages":[{"name":"ink","old_version":"7.0.4","new_version":"7.0.5","repository_url":"https://github.com/vadimdemedes/ink"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.15","new_version":"19.2.16","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@commitlint/cli","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.1","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@yao-pkg/pkg","old_version":"6.19.0","new_version":"6.20.0","repository_url":"https://github.com/yao-pkg/pkg"},{"name":"lint-staged","old_version":"17.0.5","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.59.4","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-patch group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ink](https://github.com/vadimdemedes/ink) | `7.0.4` | `7.0.5` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.15` | `19.2.16` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |\n| [@yao-pkg/pkg](https://github.com/yao-pkg/pkg) | `6.19.0` | `6.20.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.5` | `17.0.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.4` | `8.60.1` |\n\nUpdates `ink` from 7.0.4 to 7.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vadimdemedes/ink/releases\"\u003eink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Handle incomplete stack frames in error overview (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/965\"\u003e#965\u003c/a\u003e)  b2350c1\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\"\u003ehttps://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\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/vadimdemedes/ink/commit/cb222feec2bd4a70ec2e559997f73f6119d21329\"\u003e\u003ccode\u003ecb222fe\u003c/code\u003e\u003c/a\u003e 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/commit/dca5c06b8bc37688d406e1a65589e24315762d30\"\u003e\u003ccode\u003edca5c06\u003c/code\u003e\u003c/a\u003e Fix: Update to xo 2 (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadimdemedes/ink/commit/b2350c1e800ab5aadb14c0140ffb2797038e75f3\"\u003e\u003ccode\u003eb2350c1\u003c/code\u003e\u003c/a\u003e Fix: Handle incomplete stack frames in error overview (\u003ca href=\"https://redirect.github.com/vadimdemedes/ink/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vadimdemedes/ink/compare/v7.0.4...v7.0.5\"\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.6 to 19.2.7\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.7 (June 1st, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed missing \u003ccode\u003eFormData\u003c/code\u003e entries in Server Actions which regressed in 19.2.6\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36566\"\u003e#36566\u003c/a\u003e by \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/6117d7cca4906492c51fe6a03381e35adfd86e7d\"\u003e\u003ccode\u003e6117d7c\u003c/code\u003e\u003c/a\u003e Version 19.2.7 (\u003ca href=\"https://github.com/facebook/react/tree/HEAD/packages/react/issues/36591\"\u003e#36591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.7/packages/react\"\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 react since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.15 to 19.2.16\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 `@commitlint/cli` from 21.0.1 to 21.0.2\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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.0.1 to 21.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@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/react` from 19.2.15 to 19.2.16\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 `@yao-pkg/pkg` from 6.19.0 to 6.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yao-pkg/pkg/blob/main/CHANGELOG.md\"\u003e@​yao-pkg/pkg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\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/yao-pkg/pkg/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.5 to 17.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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.0.7\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/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.5...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.22.3 to 4.22.4\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.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.3...v4.22.4\"\u003e4.22.4\u003c/a\u003e (2026-05-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve CommonJS directory requires inside dependencies (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/803\"\u003e#803\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97\"\u003e1ce8463\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.4\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/1ce846335b7c445a3328c7d27f06424949356d97\"\u003e\u003ccode\u003e1ce8463\u003c/code\u003e\u003c/a\u003e fix: resolve CommonJS directory requires inside dependencies (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/803\"\u003e#803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.3...v4.22.4\"\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.4 to 8.60.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.60.1\u003c/h2\u003e\n\u003ch2\u003e8.60.1 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e respect ECMAScript line terminators in ts-comment rules (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352\"\u003e#12352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-shadow] correct rule to match ESLint v10 handling (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182\"\u003e#12182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003cli\u003eNevette Bailey \u003ca href=\"https://github.com/nevette-bailey\"\u003e\u003ccode\u003e@​nevette-bailey\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.60.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.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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.60.1 (2026-06-01)\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.60.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.60.0 (2026-05-25)\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.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/4f84a697aedc436559c3ae09b5b357d98b448d68\"\u003e\u003ccode\u003e4f84a69\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964\"\u003e\u003ccode\u003e1849b53\u003c/code\u003e\u003c/a\u003e chore: typecheck using tsgo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12139\"\u003e#12139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/typescript-eslint\"\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/anir-dev/git-smart-flow/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anir-dev%2Fgit-smart-flow/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-02T03:48:41.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4568243773","node_id":"PR_kwDOR1FfLs7hn77P","number":40,"state":"closed","title":"chore(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-06-07T12:35:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T03:48:41.000Z","updated_at":"2026-06-07T12:35:58.000Z","time_to_close":463628,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.5.3\u0026new-version=21.0.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\n\n\u003c!-- codesmith:footer --\u003e\n---\n\u003ca href=\"https://app.blacksmith.sh/frontal-labs/codesmith/mcp-server/pr/40\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg\"\u003e\u003cimg alt=\"View with Codesmith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://backend.blacksmith.sh/track/enable-autofix?expires=1782964124\u0026installation_id=135296669\u0026pr_number=40\u0026repository=frontal-labs%2Fmcp-server\u0026return_to=https%3A%2F%2Fgithub.com%2Ffrontal-labs%2Fmcp-server%2Fpull%2F40\u0026signature=9e7ae88528322950ac9f18b23270d91ba46601898c1a287688a22bba2c33bc11\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg\"\u003e\u003cimg alt=\"Autofix with Codesmith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003csup\u003eNeed help on this PR? Tag \u003ccode\u003e@codesmith\u003c/code\u003e with what you need. Autofix is disabled.\u003c/sup\u003e\n\n\u003c!-- codesmith:autofix:disabled --\u003e\n\u003c!-- /codesmith:footer --\u003e","html_url":"https://github.com/frontal-labs/mcp-server/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frontal-labs%2Fmcp-server/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-02T03:48:12.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4568241781","node_id":"PR_kwDORhjWjs7hn7g5","number":120,"state":"open","title":"chore(deps)(deps-dev): bump @commitlint/cli from 20.5.3 to 21.0.2","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-06-02T03:48:12.000Z","updated_at":"2026-06-02T03:52:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/xabierlameiro/price-tracker/pull/120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xabierlameiro%2Fprice-tracker/issues/120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/120/packages"}},{"old_version":"20.5.3","new_version":"21.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-02T03:45:45.000Z","version_change":"20.5.3 → 21.0.2","issue":{"uuid":"4568229917","node_id":"PR_kwDOQ_Czqs7hn5BN","number":21,"state":"open","title":"chore(deps): bump @commitlint/cli from 20.5.3 to 21.0.2","user":"dependabot[bot]","labels":["major-update"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T03:45:45.000Z","updated_at":"2026-06-02T03:45:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@commitlint/cli","old_version":"20.5.3","new_version":"21.0.2","repository_url":"https://github.com/conventional-changelog/commitlint"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 20.5.3 to 21.0.2.\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.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: emit actionable error when --edit cannot find COMMIT_EDITMSG (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/589\"\u003e#589\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/4755\"\u003econventional-changelog/commitlint#4755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply oxfmt formatting to get-edit-commit.ts 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/4768\"\u003econventional-changelog/commitlint#4768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): fail when --from and --to share no merge-base \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4555\"\u003e#4555\u003c/a\u003e by \u003ca href=\"https://github.com/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disallow same commit hash for --from and --to 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/4773\"\u003econventional-changelog/commitlint#4773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore/CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: have renovate rebase stale PRs before merging 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/4782\"\u003econventional-changelog/commitlint#4782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: have renovate hold PRs for 3 days after release 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/4788\"\u003econventional-changelog/commitlint#4788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: anchor vite 8 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/4790\"\u003econventional-changelog/commitlint#4790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run commitlint once per same-repo PR 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/4795\"\u003econventional-changelog/commitlint#4795\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/CervEdin\"\u003e\u003ccode\u003e@​CervEdin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4754\"\u003econventional-changelog/commitlint#4754\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow same commit hash for --from and --to (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4773\"\u003e#4773\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e121005e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\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/806904829c497cdfedeebfbac573bd1c8ee66b2b\"\u003e\u003ccode\u003e8069048\u003c/code\u003e\u003c/a\u003e v21.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/121005e86341537c4bf59a8453cae21dbd4954ec\"\u003e\u003ccode\u003e121005e\u003c/code\u003e\u003c/a\u003e fix: disallow same commit hash for --from and --to (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4773\"\u003e#4773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db39968cdcf7b655e5951d2f550edadc4f0768ef\"\u003e\u003ccode\u003edb39968\u003c/code\u003e\u003c/a\u003e chore: pre pnpm cleanup (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4759\"\u003e#4759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/40d7e36ffac0986ad0988fedd39a7ebcfde93d3c\"\u003e\u003ccode\u003e40d7e36\u003c/code\u003e\u003c/a\u003e feat!: show input from a new line (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4727\"\u003e#4727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac01464b453a818e01f2f232a307b61a66167920\"\u003e\u003ccode\u003eac01464\u003c/code\u003e\u003c/a\u003e chore: replace dependencies with Node 22 built-ins (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4681\"\u003e#4681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli\"\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=@commitlint/cli\u0026package-manager=npm_and_yarn\u0026previous-version=20.5.3\u0026new-version=21.0.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/byheaven/byheaven-skills/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/byheaven%2Fbyheaven-skills/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}}]}