{"id":3574,"name":"better-auth","ecosystem":"npm","repository_url":"https://github.com/better-auth/better-auth","issues_count":2419,"created_at":"2025-06-06T16:30:12.700Z","updated_at":"2025-06-06T16:30:12.700Z","purl":"pkg:npm/better-auth","metadata":{"id":9773890,"name":"better-auth","ecosystem":"npm","description":"The most comprehensive authentication library for TypeScript.","homepage":"https://github.com/better-auth/better-auth#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/better-auth/better-auth","keywords_array":["auth","oauth","oidc","2fa","social","security","typescript","nextjs"],"namespace":null,"versions_count":677,"first_release_published_at":"2024-04-22T14:47:41.978Z","latest_release_published_at":"2025-05-16T03:47:24.007Z","latest_release_number":"1.2.8","last_synced_at":"2025-06-03T19:13:53.390Z","created_at":"2024-04-22T20:25:26.612Z","updated_at":"2025-06-03T19:14:34.682Z","registry_url":"https://www.npmjs.com/package/better-auth","install_command":"npm install better-auth","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"alpha":"0.0.2-alpha.3","next":"0.8.7-beta.5","canary":"1.0.0-canary.14","latest":"1.2.8","beta":"1.2.9-beta.9"}},"repo_metadata":{"id":257804559,"uuid":"803014189","full_name":"better-auth/better-auth","owner":"better-auth","description":"The most comprehensive authentication framework for TypeScript","archived":false,"fork":false,"pushed_at":"2025-05-28T00:33:03.000Z","size":63601,"stargazers_count":14198,"open_issues_count":539,"forks_count":967,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-05-28T01:32:41.287Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://better-auth.com","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/better-auth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["better-auth"]}},"created_at":"2024-05-19T21:40:04.000Z","updated_at":"2025-05-28T00:55:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"b59bfa2a-0880-48a3-b469-95f190069ce6","html_url":"https://github.com/better-auth/better-auth","commit_stats":null,"previous_names":["better-auth/better-auth"],"tags_count":714,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/better-auth","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257785030,"owners_count":22602284,"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":"better-auth","name":"Better Auth","uuid":"163827765","kind":"organization","description":"The most comprehensive authentication framework for typescript","email":"contact@better-auth.com","website":"https://better-auth.com","location":null,"twitter":"better_auth","company":null,"icon_url":"https://avatars.githubusercontent.com/u/163827765?v=4","repositories_count":3,"last_synced_at":"2025-06-01T12:46:59.501Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/better-auth","funding_links":["https://github.com/sponsors/better-auth"],"total_stars":14622,"followers":405,"following":0,"created_at":"2024-09-29T10:04:38.653Z","updated_at":"2025-06-01T12:46:59.501Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/better-auth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/better-auth/repositories"},"tags":[{"name":"v1.2.9-beta.6","sha":"7c147ed34e6f1e7c6239e3046b66811f84bdf34a","kind":"tag","published_at":"2025-05-30T02:53:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.6/manifests"},{"name":"v1.2.9-beta.5","sha":"5e92c4b421e7d9b87bc991beaf4d2ada641f6827","kind":"tag","published_at":"2025-05-23T19:59:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.5/manifests"},{"name":"v1.2.9-beta.4","sha":"4a5c544755e87af3612862c8f75408e23ff93e20","kind":"tag","published_at":"2025-05-23T19:56:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.4/manifests"},{"name":"v1.2.9-beta.3","sha":"4d8b30b5c97c57dd2617f958cd7549cd0a7129c6","kind":"tag","published_at":"2025-05-23T19:56:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.3/manifests"},{"name":"v1.2.9-beta.2","sha":"70cc43f17de58d3e24ca18dc90d16b47b9105c93","kind":"tag","published_at":"2025-05-23T19:56:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.2/manifests"},{"name":"v1.2.9-beta.1","sha":"ec51c4050ce8f58c05bbbd685968798938639b71","kind":"tag","published_at":"2025-05-16T21:21:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.9-beta.1/manifests"},{"name":"v1.2.8","sha":"c822288518827d37c0a2e0279a8e9a29da1d068b","kind":"tag","published_at":"2025-05-16T03:45:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8/manifests"},{"name":"v1.2.8-beta.8","sha":"6cb02b868031facd2e513ff38fa6a853d7a6451e","kind":"tag","published_at":"2025-05-16T03:08:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.8/manifests"},{"name":"v1.2.8-beta.7","sha":"52c38e2395d7f56f79ff8bf39a12091c7a29067b","kind":"tag","published_at":"2025-05-08T15:45:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.7/manifests"},{"name":"v1.2.8-beta.6","sha":"4fc1f5a8503cffa4893e61b9daf865a0abb827bc","kind":"tag","published_at":"2025-05-07T19:56:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.6/manifests"},{"name":"v1.2.8-beta.5","sha":"87c39634646c216a3f7b6bfd2568cb4ccd3391a8","kind":"tag","published_at":"2025-05-05T23:51:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.5/manifests"},{"name":"v1.2.8-beta.4","sha":"b12b66cec66cde0ab74bbd105b98c60df25f96eb","kind":"tag","published_at":"2025-05-05T05:17:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.4/manifests"},{"name":"v1.2.8-beta.3","sha":"b5ed54be9b89a0f3fd18150671afde356ffe1508","kind":"tag","published_at":"2025-04-27T09:50:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.3/manifests"},{"name":"v1.2.8-beta.2","sha":"f3677072c7eaada4ac9345d46424c2f01d6b847b","kind":"tag","published_at":"2025-04-22T21:34:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.2/manifests"},{"name":"v1.2.8-beta.1","sha":"af79703a319d37a35291792985a8e6e4eedade06","kind":"tag","published_at":"2025-04-15T09:44:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.8-beta.1/manifests"},{"name":"v1.2.7","sha":"dfd91225713cc389c816f81ad659e1344f5997ea","kind":"tag","published_at":"2025-04-13T17:22:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.7/manifests"},{"name":"v1.2.7-beta.1","sha":"2d5349785fe2e513c5630aaed739e7a88ae1459c","kind":"tag","published_at":"2025-04-13T14:05:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.7-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.7-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.7-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.7-beta.1/manifests"},{"name":"v1.2.6","sha":"f3b630312cc25365a806e25bd405db05bc9d3cdf","kind":"tag","published_at":"2025-04-12T22:08:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6/manifests"},{"name":"v1.2.6-beta.13","sha":"6be9c58de9488d85f93d975086a1ce67fb00a473","kind":"tag","published_at":"2025-04-12T21:01:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.13/manifests"},{"name":"v1.2.6-beta.12","sha":"b885f350917e51780955e0747294824894318728","kind":"tag","published_at":"2025-04-11T18:02:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.12/manifests"},{"name":"v1.2.6-beta.11","sha":"7b6a6c8d715a4baab133a2825909b6056a8e24d2","kind":"tag","published_at":"2025-04-11T16:53:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.11/manifests"},{"name":"v1.2.6-beta.10","sha":"8643cb6d1330e2b4f9189a2caace9184e157e3dc","kind":"tag","published_at":"2025-04-11T10:53:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.10/manifests"},{"name":"v1.2.6-beta.9","sha":"4dd067cfb64bcc625302a736a8b5ad16ff9c8d06","kind":"tag","published_at":"2025-04-11T08:37:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.9/manifests"},{"name":"v1.2.6-beta.8","sha":"b93b28028cd1a9f0dc0dfe8fddeb110f3ec3770a","kind":"tag","published_at":"2025-04-11T08:30:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.8/manifests"},{"name":"v1.2.6-beta.7","sha":"dea6f554939548aa7b04a9b5d5aaebac86013fdc","kind":"tag","published_at":"2025-04-10T04:46:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.7/manifests"},{"name":"v1.2.6-beta.6","sha":"1f75bb504d8400f4b0ba69c9243e22ff33280a22","kind":"tag","published_at":"2025-04-07T06:01:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.6/manifests"},{"name":"v1.2.6-beta.5","sha":"520a3e7bdc24de03b777e6acc7e99becd119ab96","kind":"tag","published_at":"2025-04-05T05:06:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.5/manifests"},{"name":"v1.2.6-beta.4","sha":"ef18d1bb7e90b12273f325700430f8e016b2c14d","kind":"tag","published_at":"2025-04-03T22:00:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.4/manifests"},{"name":"v1.2.6-beta.3","sha":"e0fb2aecf73b667b7fd9df76dc59ba6b61681c33","kind":"tag","published_at":"2025-03-29T06:02:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.3/manifests"},{"name":"v1.2.6-beta.2","sha":"fc3492d6c1f1f897f9402ea60a2a4074810da6f0","kind":"tag","published_at":"2025-03-28T07:18:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.2/manifests"},{"name":"v1.2.6-beta.1","sha":"99f9f0575ca3277562a4171e417766459c206cdb","kind":"tag","published_at":"2025-03-27T08:03:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.6-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.6-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.6-beta.1/manifests"},{"name":"v1.2.5","sha":"4533c68a3eb54c07ce8db083fff228ca305e5ce5","kind":"tag","published_at":"2025-03-26T20:57:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5/manifests"},{"name":"v1.2.5-beta.10","sha":"4c304a9ad8efc90c961ef20722da963692c669b5","kind":"tag","published_at":"2025-03-26T08:57:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.10/manifests"},{"name":"v1.2.5-beta.9","sha":"b2c7d8f5987eb5d7f22cd9eba46bb6073e72ac45","kind":"tag","published_at":"2025-03-25T05:14:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.9/manifests"},{"name":"v1.2.5-beta.8","sha":"b41febc54f4313395fa0f8644e61dc7c4a0f2f9c","kind":"tag","published_at":"2025-03-23T15:57:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.8/manifests"},{"name":"v1.2.5-beta.7","sha":"3e16da63c6b19c4cfb47b5a6fb7c17415daadd09","kind":"tag","published_at":"2025-03-23T10:16:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.7/manifests"},{"name":"v1.2.5-beta.6","sha":"94d2d0544a9e86998444911bef88abca196069a5","kind":"tag","published_at":"2025-03-22T18:54:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.6/manifests"},{"name":"v1.2.5-beta.5","sha":"51eb62376c661223c6c143127a34416bbbb1b3a9","kind":"tag","published_at":"2025-03-20T05:56:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.5/manifests"},{"name":"v1.2.5-beta.4","sha":"09c6bb558538826065efedad6c755801f65d4e16","kind":"tag","published_at":"2025-03-17T18:49:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.4/manifests"},{"name":"v1.2.5-beta.3","sha":"cdfa3b18ba20666f792e9d98c961fcf53583cac0","kind":"tag","published_at":"2025-03-17T10:09:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.3/manifests"},{"name":"v1.2.5-beta.2","sha":"001126ba5ea27e94bb59c7def6d407345b623dcf","kind":"tag","published_at":"2025-03-15T21:02:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.2/manifests"},{"name":"v1.2.5-beta.1","sha":"971966ee64be4ebfd86f8ea5c19639fb7ff65104","kind":"tag","published_at":"2025-03-15T07:04:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.5-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.5-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.5-beta.1/manifests"},{"name":"v1.2.4","sha":"6c0ebf3171d50973f6eeb45bad7e0fe778db7da3","kind":"tag","published_at":"2025-03-13T21:12:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4/manifests"},{"name":"v1.2.4-beta.12","sha":"79b56f5db6f67d78ba9339d05a1e1bf16b4a006d","kind":"tag","published_at":"2025-03-13T08:13:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.12/manifests"},{"name":"v1.2.4-beta.11","sha":"0ab331a15d77f5f23e34c23e2230dcf80f3604dc","kind":"tag","published_at":"2025-03-13T05:41:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.11/manifests"},{"name":"v1.2.4-beta.10","sha":"384d842ec17113d1acbd3c84e7bc51b06115b161","kind":"tag","published_at":"2025-03-12T12:43:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.10/manifests"},{"name":"v1.2.4-beta.9","sha":"0860aa67ea137b57ab9d24b1faf0d762d68c33fa","kind":"tag","published_at":"2025-03-12T04:19:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.9/manifests"},{"name":"v1.2.4-beta.8","sha":"dc42cddb3e0537cc96dcc6c894694cabbd9d7103","kind":"tag","published_at":"2025-03-09T10:32:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.8/manifests"},{"name":"v1.2.4-beta.7","sha":"7e80a9680384c15e8659ee0d1083a8101adc23c4","kind":"tag","published_at":"2025-03-08T20:06:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.7/manifests"},{"name":"v1.2.4-beta.6","sha":"18b1c3ba4e8bd190c6d6bdcae9085b0ff07bd879","kind":"tag","published_at":"2025-03-08T10:14:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.6/manifests"},{"name":"v1.2.4-beta.5","sha":"de4dee5fdd6462326027c34e5e4386fd41af5059","kind":"tag","published_at":"2025-03-06T22:01:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.5/manifests"},{"name":"v1.2.4-beta.4","sha":"7d72173dcea39575b391137f9cc40e7ef2641da1","kind":"tag","published_at":"2025-03-05T18:13:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.4/manifests"},{"name":"v1.2.4-beta.3","sha":"b018f7d9d3aab1e54dde9332e46bfc8fd72fc57a","kind":"tag","published_at":"2025-03-05T10:44:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.3/manifests"},{"name":"v1.2.4-beta.2","sha":"38c0e13548c304cb6d7b355987902c60b8b62607","kind":"tag","published_at":"2025-03-05T08:55:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.2/manifests"},{"name":"v1.2.4-beta.1","sha":"78f01cd35926a7e8a99ed74d93e1d37056598d04","kind":"tag","published_at":"2025-03-05T06:26:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.4-beta.1/manifests"},{"name":"v1.2.3","sha":"7d3440ad0f41ef4f067f4cee4b4754ab00d63aa6","kind":"tag","published_at":"2025-03-04T21:08:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3/manifests"},{"name":"v1.2.3-beta.3","sha":"225d94f731ac3d12b7809732e968e0bb7bfe5413","kind":"tag","published_at":"2025-03-04T11:33:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.3/manifests"},{"name":"v1.2.3-beta.2","sha":"685145101af225a2e38214321e1a743a4da38bbc","kind":"tag","published_at":"2025-03-04T06:30:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.2/manifests"},{"name":"v1.2.3-beta.1","sha":"9863bbe679fea39bae1fb1286504ff5d0069c0fd","kind":"tag","published_at":"2025-03-04T05:44:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.3-beta.1/manifests"},{"name":"v1.2.2","sha":"2b19e6388924f081494bffe1e2ca90ad2b8a6490","kind":"tag","published_at":"2025-03-03T18:25:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2/manifests"},{"name":"v1.2.2-beta.6","sha":"602e14d0d9c8dcdfc0ea0a1a2a377b7ba6daf0c0","kind":"tag","published_at":"2025-03-03T16:51:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.6/manifests"},{"name":"v1.2.2-beta.5","sha":"e122692b52d979d8c67ac48c9b5019cf26af941d","kind":"tag","published_at":"2025-03-03T16:45:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.5/manifests"},{"name":"v1.2.2-beta.4","sha":"6815238d87e57e205861921ba7c7ce2f8d422e91","kind":"tag","published_at":"2025-03-03T12:56:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.4/manifests"},{"name":"v1.2.2-beta.3","sha":"da5ad11ec75453f4b0f27c701d45f9f2859ba2cf","kind":"tag","published_at":"2025-03-02T20:12:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.3/manifests"},{"name":"v1.2.2-beta.2","sha":"f12a7e79c93d6bfaca92dd312f0d400b225b2082","kind":"tag","published_at":"2025-03-02T17:37:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.2/manifests"},{"name":"v1.2.2-beta.1","sha":"2ed2939aeba74f37b4d1b4e108e90daaa75e3a12","kind":"tag","published_at":"2025-03-02T16:45:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.2-beta.1/manifests"},{"name":"v1.2.1","sha":"1719cce407c108b93fc120d85add17fe20a61a6d","kind":"tag","published_at":"2025-03-02T15:07:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1/manifests"},{"name":"v1.2.1-beta.8","sha":"0b92646d0cb0cfb3c59a33b6f8dd9c57e906805f","kind":"tag","published_at":"2025-03-02T11:55:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.8/manifests"},{"name":"v1.2.1-beta.7","sha":"90622d4b1a9a785cfc2bb3b7f760888ae18470fc","kind":"tag","published_at":"2025-03-02T10:36:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.7/manifests"},{"name":"v1.2.1-beta.6","sha":"9e96a92113b0267560f3183d5e3e62df30491833","kind":"tag","published_at":"2025-03-02T09:37:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.6/manifests"},{"name":"v1.2.1-beta.5","sha":"0971db62e81e0cd01bf23533e026738aae20bc86","kind":"tag","published_at":"2025-03-02T06:40:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.5/manifests"},{"name":"v1.2.1-beta.4","sha":"ee89ff6b7a24990f12d11d8ec088dcfd407e3938","kind":"tag","published_at":"2025-03-02T06:27:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.4/manifests"},{"name":"v1.2.1-beta.3","sha":"8d88151489867be754c13b982eb432a849817f63","kind":"tag","published_at":"2025-03-01T22:57:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.3/manifests"},{"name":"v1.2.1-beta.2","sha":"15289bc312a767fc3424654c22f91a323e0c6934","kind":"tag","published_at":"2025-03-01T22:30:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.2/manifests"},{"name":"v1.2.1-beta.1","sha":"8ca13802e978364b91d8795a06819b63bfe5003f","kind":"tag","published_at":"2025-03-01T21:54:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.1-beta.1/manifests"},{"name":"v1.2.0","sha":"47c38dacb267852ef212652f66967a0880577013","kind":"tag","published_at":"2025-03-01T21:13:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0/manifests"},{"name":"v1.2.0-beta.19","sha":"b6173e2063a6058b387b9c863f9946aae8cc8341","kind":"tag","published_at":"2025-03-01T09:40:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.19/manifests"},{"name":"v1.2.0-beta.18","sha":"cc89632c0973ea815e90cea7157f8fedb2a1c6a8","kind":"tag","published_at":"2025-02-28T23:02:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.18/manifests"},{"name":"v1.2.0-beta.17","sha":"17f187ebc0751d12b3e58c11c6818d33d739b3b9","kind":"tag","published_at":"2025-02-27T11:20:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.17/manifests"},{"name":"v1.1.22-beta.2","sha":"df2f5a4c79af5a3c73d30f546b3d921122ea507c","kind":"tag","published_at":"2025-02-25T10:43:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.22-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.22-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.22-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.22-beta.2/manifests"},{"name":"v1.1.22-beta.1","sha":"52ed183bdca101d9140ed79ec4466f44c26b0e07","kind":"tag","published_at":"2025-02-24T20:50:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.22-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.22-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.22-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.22-beta.1/manifests"},{"name":"v1.2.0-beta.16","sha":"474b01e0fbf15884984a958e169b61a32d8a6b78","kind":"tag","published_at":"2025-02-24T19:26:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.16/manifests"},{"name":"v1.1.21","sha":"4c5f0c279f2c6ebb97df8b1be01fade4d08d9f26","kind":"tag","published_at":"2025-02-24T19:13:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.21/manifests"},{"name":"v1.1.21-beta.1","sha":"ade3974ed55190dea167457ba3e1b3d885ce23b1","kind":"tag","published_at":"2025-02-24T18:57:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.21-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.21-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.21-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.21-beta.1/manifests"},{"name":"v1.2.0-beta.15","sha":"5812195479782f68d3910c188296227ccde24d22","kind":"tag","published_at":"2025-02-24T11:55:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.15/manifests"},{"name":"v1.1.20","sha":"ddebd0358d74376ea64541512d0167dd4377f182","kind":"tag","published_at":"2025-02-24T11:54:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20/manifests"},{"name":"v1.1.20-beta.5","sha":"1fadaeecfa6a6d4332380d29edf7856b6eb4b6a7","kind":"tag","published_at":"2025-02-24T09:28:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.5/manifests"},{"name":"v1.1.20-beta.4","sha":"94e8fe00b8173a4eeaa9d0281b3e9f6795c2d5c4","kind":"tag","published_at":"2025-02-24T09:28:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.4/manifests"},{"name":"v1.2.0-beta.14","sha":"2095c0e4dd6251a51db14cf606943fe9d246a9d0","kind":"tag","published_at":"2025-02-23T21:06:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.14/manifests"},{"name":"v1.2.0-beta.13","sha":"8fb384da21a6736866ca574977946b1d47cb91d8","kind":"tag","published_at":"2025-02-23T20:49:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.13/manifests"},{"name":"v1.1.20-beta.3","sha":"f822f0a2462245657a4a04474526fc6a636a7d3e","kind":"tag","published_at":"2025-02-23T20:43:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.3/manifests"},{"name":"v1.1.20-beta.2","sha":"12ed731b6cbc3ad643de359bd8e0f3c1194b9f4e","kind":"tag","published_at":"2025-02-23T09:41:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.2/manifests"},{"name":"v1.2.0-beta.12","sha":"4516b0fadb68389d6794cba10b20bf8490d805e0","kind":"tag","published_at":"2025-02-22T18:57:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.12/manifests"},{"name":"v1.1.20-beta.1","sha":"316e7175436195eb9ecf41917045e1823640503a","kind":"tag","published_at":"2025-02-21T14:07:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.20-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.20-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.20-beta.1/manifests"},{"name":"v1.2.0-beta.11","sha":"0324e6e8bc4489c91abf27817e5729724956438b","kind":"tag","published_at":"2025-02-20T22:26:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.11/manifests"},{"name":"v1.1.19","sha":"d26e600c66cd87df3c42d805a08748a381ad10a8","kind":"tag","published_at":"2025-02-20T21:58:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19/manifests"},{"name":"v1.1.19-beta.3","sha":"ba11b97dbd97abd1f9a24acccae832961b13509a","kind":"tag","published_at":"2025-02-20T17:48:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.19-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.19-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.3/manifests"},{"name":"v1.2.0-beta.10","sha":"90c449b94595e0035d85e5f0448cd6a4d06cec18","kind":"tag","published_at":"2025-02-17T21:25:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.10/manifests"},{"name":"v1.2.0-beta.9","sha":"0a9975f4ce840e19f9d92a5f1a7747275e04f9f0","kind":"tag","published_at":"2025-02-17T06:32:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.9/manifests"},{"name":"v1.2.0-beta.8","sha":"e2cbcb47ecf20ccc48a05e153f9ae124cddef196","kind":"tag","published_at":"2025-02-15T10:34:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.8/manifests"},{"name":"v1.2.0-beta.7","sha":"8c2327cc02f9742c560e5dee6a9fa93a8984c1e5","kind":"tag","published_at":"2025-02-15T10:18:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.7/manifests"},{"name":"v1.1.19-beta.2","sha":"5d945e00d9dfe6389e2307b6b71e6e9053a89cd2","kind":"tag","published_at":"2025-02-15T08:58:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.19-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.19-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.2/manifests"},{"name":"v1.1.19-beta.1","sha":"4e08cc2dcf0d04afbe53ff82617d88e0fa3c919a","kind":"tag","published_at":"2025-02-14T18:46:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.19-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.19-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.19-beta.1/manifests"},{"name":"v1.1.18","sha":"e531a7c33f47a37196f530b88fccc0539eed9898","kind":"tag","published_at":"2025-02-14T15:16:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18/manifests"},{"name":"v1.2.0-beta.6","sha":"0ae2c74f88059920e90d0b5c01bd1e600f13cbad","kind":"tag","published_at":"2025-02-14T12:17:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.6/manifests"},{"name":"v1.2.0-beta.5","sha":"d00716455e612a6faaf4a1859e94e36e9eb82d80","kind":"tag","published_at":"2025-02-14T11:54:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.5/manifests"},{"name":"v1.1.18-beta.3","sha":"56f47d85dd3b4037d2a2e37148b14e4590033108","kind":"tag","published_at":"2025-02-14T11:05:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.18-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.18-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.3/manifests"},{"name":"v1.1.18-beta.2","sha":"2116ace9637bcfac3b46c982237289e960637788","kind":"tag","published_at":"2025-02-14T08:40:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.18-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.18-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.2/manifests"},{"name":"v1.1.18-beta.1","sha":"52fa176d9f0e535569f207e4c50fc8b7589741bf","kind":"tag","published_at":"2025-02-12T10:33:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.18-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.18-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.18-beta.1/manifests"},{"name":"v1.2.0-beta.4","sha":"8591fa1e180c4c3bcc12a4d8677720542ff86b83","kind":"tag","published_at":"2025-02-12T09:51:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.4/manifests"},{"name":"v1.2.0-beta.3","sha":"71cb49bf6a34e287c4657f6eaffbda4594ab24b3","kind":"tag","published_at":"2025-02-12T09:45:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.3/manifests"},{"name":"v1.2.0-beta.2","sha":"d7952ff9bed022cf727ce9c912c6add5e45a3288","kind":"tag","published_at":"2025-02-11T16:54:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.2/manifests"},{"name":"v1.1.17","sha":"04b8d2d373e3aceb96d608e0bc017f0ce92f4577","kind":"tag","published_at":"2025-02-11T10:32:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17/manifests"},{"name":"v1.2.0-beta.1","sha":"9110bdfab9a527aba48ca5e040b9a54c2d85cdac","kind":"tag","published_at":"2025-02-11T07:54:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.2.0-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.2.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.2.0-beta.1/manifests"},{"name":"v1.1.17-beta.5","sha":"576a7b11fdd4a6c366a644b4f6a2410d466471b3","kind":"tag","published_at":"2025-02-10T19:46:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.5/manifests"},{"name":"v1.1.17-beta.4","sha":"68292174f7bf06221bb7c3b232fdb41ec68c4160","kind":"tag","published_at":"2025-02-10T19:43:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.4/manifests"},{"name":"v1.1.17-beta.3","sha":"ca0727a2243204f76d5ccf30c05904168c298179","kind":"tag","published_at":"2025-02-08T08:18:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.3/manifests"},{"name":"v1.1.17-beta.2","sha":"2c4083553194630d474a07fe0591f266d3b40ab9","kind":"tag","published_at":"2025-02-06T08:52:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.2/manifests"},{"name":"v1.1.17-beta.1","sha":"55c45c421a75ec9107836071414b838419f7df6d","kind":"tag","published_at":"2025-02-06T08:15:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.17-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.17-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.17-beta.1/manifests"},{"name":"v1.1.16","sha":"10d04cb7c18f595c6235c02bf3cc6ae54b87833f","kind":"tag","published_at":"2025-02-05T21:37:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16/manifests"},{"name":"v1.1.16-beta.10","sha":"e18700e26c95c934574dd89e168ea617304fffe9","kind":"tag","published_at":"2025-02-05T21:35:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.10/manifests"},{"name":"v1.1.16-beta.9","sha":"547677c8433cd6fdcd0106fc0ee13ff2f0997c53","kind":"tag","published_at":"2025-02-04T17:48:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.9/manifests"},{"name":"v1.1.16-beta.8","sha":"51a1a0ad1f8fcfd0e5291cd2f7c4e61e180f14f8","kind":"tag","published_at":"2025-02-04T10:47:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.8/manifests"},{"name":"v1.1.16-beta.7","sha":"5f2a70ef042998cc1c424c6f283fe0afc26a0762","kind":"tag","published_at":"2025-02-04T07:51:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.7/manifests"},{"name":"v1.1.16-beta.6","sha":"6a41f8abc125d1d9c0ddb370f917188cb9f0999d","kind":"tag","published_at":"2025-02-03T20:32:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.6/manifests"},{"name":"v1.1.16-beta.5","sha":"b0654fadb783a2c15163d043c16050fab9cfb3ab","kind":"tag","published_at":"2025-02-03T20:08:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.5/manifests"},{"name":"v1.1.16-beta.4","sha":"fb4c1a1923f03ec378749c0101664b0ca29403f3","kind":"tag","published_at":"2025-02-03T19:49:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.4/manifests"},{"name":"v1.1.16-beta.3","sha":"a32d41dfc754c069260c8ebaac8cad2082affa65","kind":"tag","published_at":"2025-02-02T08:03:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.3/manifests"},{"name":"v1.1.16-beta.2","sha":"8fe001519c2e43300eb212c905d1fcc246b877a2","kind":"tag","published_at":"2025-01-30T09:20:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.2/manifests"},{"name":"v1.1.16-beta.1","sha":"ff6fa6395f11d085dc679d4ceb1f0c2d38302fb5","kind":"tag","published_at":"2025-01-30T08:43:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.16-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.16-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.16-beta.1/manifests"},{"name":"v1.1.15","sha":"3bca303fa7fb75d9bffb82d90c1cb94d69154299","kind":"tag","published_at":"2025-01-29T11:30:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15/manifests"},{"name":"v1.1.15-beta.7","sha":"32f4e2c89e85f556be40ad9cde67bcbbfebea5df","kind":"tag","published_at":"2025-01-28T17:40:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.7/manifests"},{"name":"v1.1.15-beta.6","sha":"05d586ea58bac45abaa04cd99e4bd755acacb642","kind":"tag","published_at":"2025-01-24T11:46:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.6/manifests"},{"name":"v1.1.15-beta.5","sha":"184733a08cf1898cec5e0c4b9208a6424386c47a","kind":"tag","published_at":"2025-01-23T07:02:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.5/manifests"},{"name":"v1.1.15-beta.4","sha":"89b28d09538034eaf1b3a264e27f2f2211e5c5ea","kind":"tag","published_at":"2025-01-22T09:32:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.4/manifests"},{"name":"v1.1.15-beta.3","sha":"9719fee6bfee24b6562ec5e991b8fbe292ff132f","kind":"tag","published_at":"2025-01-21T16:42:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.3/manifests"},{"name":"v1.1.15-beta.2","sha":"249ccfc2f8ff7c5aacc10d337066a5033db44ece","kind":"tag","published_at":"2025-01-21T11:32:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.2/manifests"},{"name":"v1.1.15-beta.1","sha":"657d32f911b581303a06254a4de196f78f389265","kind":"tag","published_at":"2025-01-19T17:16:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.15-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.15-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.15-beta.1/manifests"},{"name":"v1.1.14","sha":"84cfc635e174ef270cbf90e1b6d5e1fa7589c5ec","kind":"tag","published_at":"2025-01-16T17:02:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14/manifests"},{"name":"v1.1.14-beta.6","sha":"0fb23d0a86ee1c4aa6195f174f38d22159c43e9a","kind":"tag","published_at":"2025-01-16T16:50:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.6/manifests"},{"name":"v1.1.14-beta.5","sha":"0ca68106bfda93b28df98aab18873ba7338f7009","kind":"tag","published_at":"2025-01-16T16:09:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.5/manifests"},{"name":"v1.1.14-beta.4","sha":"18c9ad3c90f62063d11d6c72619b84a3b858f864","kind":"tag","published_at":"2025-01-16T15:36:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.4/manifests"},{"name":"v1.1.14-beta.3","sha":"448b63977e52f7d9a39d0cd2fa2d2458b9fcd85d","kind":"tag","published_at":"2025-01-16T09:37:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.3/manifests"},{"name":"v1.1.14-beta.2","sha":"55fe428de5c30d3e4b853220cdbb38e7150e4cb4","kind":"tag","published_at":"2025-01-15T16:07:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.2/manifests"},{"name":"v1.1.14-beta.1","sha":"9b07a062957a2de92c2edea7ba53c1739e24179f","kind":"tag","published_at":"2025-01-15T09:09:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.14-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.14-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.14-beta.1/manifests"},{"name":"v1.1.13","sha":"fdd21afb1ba1e50d31f4721f214828c96161cd1d","kind":"tag","published_at":"2025-01-14T18:22:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13/manifests"},{"name":"v1.1.13-beta.3","sha":"144eb309b395193f9b67a182649ea27d1908e9ba","kind":"tag","published_at":"2025-01-14T18:18:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.13-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.13-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.3/manifests"},{"name":"v1.1.13-beta.2","sha":"f481a0f304398d0633c9dae6525162dae1408ea5","kind":"tag","published_at":"2025-01-14T17:55:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.13-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.13-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.2/manifests"},{"name":"v1.1.13-beta.1","sha":"2cb6d1c11b8895bc134f2acdcf4ae428cd5a768a","kind":"tag","published_at":"2025-01-14T17:51:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.13-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.13-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.13-beta.1/manifests"},{"name":"v1.1.12","sha":"dd399aa6a0f30a0bf982ed1eb2f4550f6e8ca716","kind":"tag","published_at":"2025-01-14T16:05:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12/manifests"},{"name":"v1.1.12-beta.4","sha":"36b490a80b187ae92d632ecf23bd1ee918d3e753","kind":"tag","published_at":"2025-01-14T11:48:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.12-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.12-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.4/manifests"},{"name":"v1.1.12-beta.3","sha":"7548666adc39ef4b39d4539e650a589c1724d1b6","kind":"tag","published_at":"2025-01-13T13:57:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.12-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.12-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.3/manifests"},{"name":"v1.1.12-beta.2","sha":"d8ea1d89d781992b67bba53ab6ca8fc791cc1614","kind":"tag","published_at":"2025-01-12T07:08:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.12-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.12-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.2/manifests"},{"name":"v1.1.12-beta.1","sha":"2a69aa4dd7344e873b468a4facee34625398c88d","kind":"tag","published_at":"2025-01-12T06:05:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.12-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.12-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.12-beta.1/manifests"},{"name":"v1.1.11","sha":"4326e191a4c5bade84eb50a0b1257b45a4f21219","kind":"tag","published_at":"2025-01-11T15:29:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.11/manifests"},{"name":"v1.1.11-beta.1","sha":"0b06fe9e4c8185ce11ce7640ad09b93cde84f4e8","kind":"tag","published_at":"2025-01-10T05:28:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.11-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.11-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.11-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.11-beta.1/manifests"},{"name":"v1.1.10","sha":"de1f0ff604f87088d354665630b92751780bdca6","kind":"tag","published_at":"2025-01-04T18:03:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10/manifests"},{"name":"v1.1.10-beta.2","sha":"51026f2fd601a6c157abb42143b3416d14952f5a","kind":"tag","published_at":"2025-01-04T14:28:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.10-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.10-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10-beta.2/manifests"},{"name":"v1.1.10-beta.1","sha":"8e3f17f3c37b9ee871ef814c302d70a468271146","kind":"tag","published_at":"2025-01-03T19:42:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.10-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.10-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.10-beta.1/manifests"},{"name":"v1.1.9","sha":"fc7942ce6a6663b9e86f340f2809007952215cc7","kind":"tag","published_at":"2025-01-03T18:05:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.9/manifests"},{"name":"v1.1.9-beta.1","sha":"3bf05c4902f5836ed70a4f013a6b48120bec992a","kind":"tag","published_at":"2025-01-02T05:43:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.9-beta.1/manifests"},{"name":"v1.1.8","sha":"d54e91264c597dd8a20e769093a5693017a6c759","kind":"tag","published_at":"2025-01-01T04:48:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8/manifests"},{"name":"v1.1.8-beta.3","sha":"a51411b89f73f8a47ab8298017143428b1d2573b","kind":"tag","published_at":"2025-01-01T04:07:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.8-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.8-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.3/manifests"},{"name":"v1.1.8-beta.2","sha":"b896949956eac0ead101be9247be1c1102124669","kind":"tag","published_at":"2024-12-31T12:26:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.2/manifests"},{"name":"v1.1.8-beta.1","sha":"88dd9df34960011100a7446c98b37f3d625a409d","kind":"tag","published_at":"2024-12-31T09:37:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.8-beta.1/manifests"},{"name":"v1.1.7","sha":"7ec8d5ba28f0ee232da837aa5b1a6fd8f362029c","kind":"tag","published_at":"2024-12-30T10:52:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7/manifests"},{"name":"v1.1.7-beta.5","sha":"395ee0ba7ba9185c79b5f4b79e2ce609d11899c3","kind":"tag","published_at":"2024-12-30T10:14:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.5/manifests"},{"name":"v1.1.7-beta.4","sha":"1d7560515b7b14b18ac3a98f3a360643d0d9dd69","kind":"tag","published_at":"2024-12-30T10:06:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.4/manifests"},{"name":"v1.1.7-beta.3","sha":"b2ccbb4b29a599a5f1892de417879e4c8d470dc8","kind":"tag","published_at":"2024-12-30T09:51:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.3/manifests"},{"name":"v1.1.7-beta.2","sha":"cf0a562ea0ac3fc6a65016679e235c8f7b2fa029","kind":"tag","published_at":"2024-12-30T08:38:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.2/manifests"},{"name":"v1.1.7-beta.1","sha":"f6224fd2b338e9adcdfc427e171fb55b9b379d9e","kind":"tag","published_at":"2024-12-30T08:17:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.7-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.7-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.7-beta.1/manifests"},{"name":"v1.1.6","sha":"e7a03bdc0efdf27ba3cd51c2716a3f78d3c0e996","kind":"tag","published_at":"2024-12-30T07:27:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"8a77c7a5b8cd9320e480e05450e7e2005b66f9c7","kind":"tag","published_at":"2024-12-30T06:41:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"5a7af5f5741a0f0fac9e59c4317c7e01856960fc","kind":"tag","published_at":"2024-12-27T04:40:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4/manifests"},{"name":"v1.1.4-beta.2","sha":"9c1c5fb2b11556a629973d8c43aa317be008fe9f","kind":"tag","published_at":"2024-12-26T15:45:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.4-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.4-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4-beta.2/manifests"},{"name":"v1.1.4-beta.1","sha":"05f6bb9f9ebbe1b8df66c32dffdcee03d27d81f3","kind":"tag","published_at":"2024-12-24T04:46:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.4-beta.1/manifests"},{"name":"v1.1.3","sha":"73c98e50b90b0aa2b1320e52bcd216a1e410e62b","kind":"tag","published_at":"2024-12-23T21:30:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3/manifests"},{"name":"v1.1.3-beta.9","sha":"d2f3d76fcdb41dbb8a21fafb570ee9d0460d35cb","kind":"tag","published_at":"2024-12-23T16:46:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.9/manifests"},{"name":"v1.1.3-beta.8","sha":"0dbe372973b45fe3e025006df6ebe35689526e5d","kind":"tag","published_at":"2024-12-23T15:21:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.8/manifests"},{"name":"v1.1.3-beta.7","sha":"1425069e1baa7db9801dee0a681cee14bd9ac3b7","kind":"tag","published_at":"2024-12-23T15:00:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.7/manifests"},{"name":"v1.1.3-beta.6","sha":"d377fd9698c44d1b9a6f596e230c7e5aae22ae5d","kind":"tag","published_at":"2024-12-23T12:44:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.6/manifests"},{"name":"v1.1.3-beta.4","sha":"339014f86cd4af51d977564840c9a2681f98d12a","kind":"tag","published_at":"2024-12-23T10:48:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.4/manifests"},{"name":"v1.1.3-beta.2","sha":"a5bdab27ef5e823fa781a04a2bac368524588c92","kind":"tag","published_at":"2024-12-23T09:56:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.2/manifests"},{"name":"v1.1.3-beta.1","sha":"63b2422f5779711212b02d4383d5d88bd9ff534c","kind":"tag","published_at":"2024-12-23T08:04:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.3-beta.1/manifests"},{"name":"v1.1.2","sha":"54e666c6517c2fcf8a839f3f57d614674638ffd6","kind":"tag","published_at":"2024-12-23T06:17:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2/manifests"},{"name":"v1.1.2-beta.4","sha":"125b44d5c5eff403782a90c9ec1a42fb6df93195","kind":"tag","published_at":"2024-12-22T18:58:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.4/manifests"},{"name":"v1.1.2-beta.3","sha":"431f853edd3b13becb958df0347b36befb79bbfe","kind":"tag","published_at":"2024-12-21T10:38:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.3/manifests"},{"name":"v1.1.2-beta.2","sha":"cb50920fcb79099c046716b7804cf23b03de4305","kind":"tag","published_at":"2024-12-21T10:34:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.2/manifests"},{"name":"v1.1.2-beta.1","sha":"fcb6e6ec8ba15cb1fcf448ff119f8e52595bdc03","kind":"tag","published_at":"2024-12-21T10:26:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.2-beta.1/manifests"},{"name":"v1.1.1","sha":"ad77120ef5cebb59d2158ac0fe6b303f1ada6345","kind":"tag","published_at":"2024-12-21T05:12:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"8c45b80571851b0ee537b60e4a0551391c45ce7f","kind":"tag","published_at":"2024-12-20T23:16:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.1.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.1.0/manifests"},{"name":"v1.0.23-beta.6","sha":"57254a251a8714487ca5eae0373c8cbe82c1986b","kind":"tag","published_at":"2024-12-20T13:34:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.6/manifests"},{"name":"v1.0.23-beta.5","sha":"cb74c3c999c91a1c29390e4eb3dc5145b7a16346","kind":"tag","published_at":"2024-12-20T10:47:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.5/manifests"},{"name":"v1.0.23-beta.4","sha":"68362aef858b48f621a0a35ecbcd812af410f48b","kind":"tag","published_at":"2024-12-20T10:37:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.4/manifests"},{"name":"v1.0.23-beta.3","sha":"9f1e852250101b5152fa6a787f63faa971877af3","kind":"tag","published_at":"2024-12-19T15:03:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.3/manifests"},{"name":"v1.0.23-beta.2","sha":"1e61852f3952c3cc4e521e53569598c4c6e75047","kind":"tag","published_at":"2024-12-19T07:19:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.2/manifests"},{"name":"v1.0.23-beta.1","sha":"c5a252fecd356731baf15f9cd6c0fb497d8d76e7","kind":"tag","published_at":"2024-12-18T06:54:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.23-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.23-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.23-beta.1/manifests"},{"name":"v1.0.22","sha":"965800007e616ce2572570df4d2b36d93eadbedc","kind":"tag","published_at":"2024-12-16T18:57:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.22","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22/manifests"},{"name":"v1.0.22-beta.4","sha":"f08ff116e7928e3270bb80229ba37f7ee734203f","kind":"tag","published_at":"2024-12-16T16:17:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.22-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.22-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.4/manifests"},{"name":"v1.0.22-beta.3","sha":"04cf81ad0482f8caa12c88ed030022c9b7e8242f","kind":"tag","published_at":"2024-12-16T14:27:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.22-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.22-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.3/manifests"},{"name":"v1.0.22-beta.2","sha":"69b804cfbc444a314beeda8a24623e229ec1bc04","kind":"tag","published_at":"2024-12-16T13:10:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.22-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.22-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.2/manifests"},{"name":"v1.0.22-beta.1","sha":"4ea586fd1b01be27dea8dec75c5cc249be0579b4","kind":"tag","published_at":"2024-12-16T12:37:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.22-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.22-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.22-beta.1/manifests"},{"name":"v1.0.21","sha":"d2078521a6b6939da96a41cf93278a67e2fe0e34","kind":"tag","published_at":"2024-12-15T06:04:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.21/manifests"},{"name":"v1.0.20","sha":"9af5230b7f25378aa0cee45da21c87434c985d7f","kind":"tag","published_at":"2024-12-14T06:48:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.20/manifests"},{"name":"v1.0.19","sha":"7c609de3a24dc829e12eac366b43f0b25ed6fe74","kind":"tag","published_at":"2024-12-13T12:57:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.19/manifests"},{"name":"v1.0.18","sha":"aaf94aa9c11ec0188a3dbd7910e1726bc4aa281f","kind":"tag","published_at":"2024-12-12T12:32:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.18/manifests"},{"name":"v1.0.17","sha":"4b4568b12825bf77e91a300b3df62d0be92aa7a1","kind":"tag","published_at":"2024-12-12T12:16:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.17/manifests"},{"name":"v1.0.16","sha":"26a79f59348974de1cd0847d318a41adb9a24582","kind":"tag","published_at":"2024-12-12T08:40:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16/manifests"},{"name":"v1.0.16-beta.2","sha":"884cb7bed401080d6fe6bbcc97843d5317c41183","kind":"tag","published_at":"2024-12-11T13:46:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.16-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.16-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16-beta.2/manifests"},{"name":"v1.0.16-beta.1","sha":"ff0ddbebe6bc07a2bdeee7c3085b6942029f141a","kind":"tag","published_at":"2024-12-11T13:05:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.16-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.16-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.16-beta.1/manifests"},{"name":"v1.0.15","sha":"e3e88dda94d1dd69d5055b44fcddfb508a8d23e3","kind":"tag","published_at":"2024-12-10T06:17:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.15/manifests"},{"name":"v1.0.15-beta.1","sha":"9cf55411082dc501c167ab67183dbaefa21bd314","kind":"tag","published_at":"2024-12-10T06:16:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.15-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.15-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.15-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.15-beta.1/manifests"},{"name":"v1.0.14","sha":"865ce87182a16e6711cff861310af5e831f50e5b","kind":"tag","published_at":"2024-12-08T21:37:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.14/manifests"},{"name":"v1.0.13","sha":"146de360873a8f6b5fe14af2915cde22451c3dc5","kind":"tag","published_at":"2024-12-08T14:10:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.13/manifests"},{"name":"v1.0.12","sha":"b3a7cc9fff93b91182b52002c16bb279855c3076","kind":"tag","published_at":"2024-12-08T13:59:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12/manifests"},{"name":"v1.0.12-beta.3","sha":"f0a3f327d3a366154129ebcce70a5e04a1212105","kind":"tag","published_at":"2024-12-08T13:54:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.12-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.12-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.3/manifests"},{"name":"v1.0.12-beta.2","sha":"b5e7757c3a27dc73c6ed782ef3cbda8cf8aa5423","kind":"tag","published_at":"2024-12-08T13:46:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.12-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.12-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.2/manifests"},{"name":"v1.0.12-beta.1","sha":"00b4cbe7224a257e16d2129e4cb3bea8d423fe9b","kind":"tag","published_at":"2024-12-08T12:15:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.12-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.12-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.12-beta.1/manifests"},{"name":"v1.0.11","sha":"14043118607dea9fc9782eb8a9f1650843f567eb","kind":"tag","published_at":"2024-12-08T11:38:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11/manifests"},{"name":"v1.0.11-beta.8","sha":"9eba2902527fa05315b1a2a6c064fec3d068c42d","kind":"tag","published_at":"2024-12-07T07:51:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.8/manifests"},{"name":"v1.0.11-beta.7","sha":"a44c942d1c1455459f31ac1e71be5fcce828a3a8","kind":"tag","published_at":"2024-12-07T06:18:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.7/manifests"},{"name":"v1.0.11-beta.6","sha":"915bdde649f1db10c42aa229b8f1e12f28c7f138","kind":"tag","published_at":"2024-12-07T05:49:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.6/manifests"},{"name":"v1.0.11-beta.5","sha":"c2e03d5a16c345687b549dc242f430980d408023","kind":"tag","published_at":"2024-12-06T20:36:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.5/manifests"},{"name":"v1.0.11-beta.4","sha":"d021e1c3857333ac229e8663c2f522c12692f61a","kind":"tag","published_at":"2024-12-05T18:31:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.4/manifests"},{"name":"v1.0.11-beta.3","sha":"db45153c3a096101de6669a4e7b7bf72e5d7bd03","kind":"tag","published_at":"2024-12-05T17:59:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.3/manifests"},{"name":"v1.0.11-beta.2","sha":"d1463bdf32327974379a6045b3652a54f9276943","kind":"tag","published_at":"2024-12-05T15:15:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.2/manifests"},{"name":"v1.0.11-beta.1","sha":"df009f7f94100a6007f65f3bafeddb3067809a54","kind":"tag","published_at":"2024-12-05T12:31:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.11-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.11-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.11-beta.1/manifests"},{"name":"v1.0.10","sha":"690feed88a17497f7269ef1310bbb0193726845b","kind":"tag","published_at":"2024-12-03T18:57:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10/manifests"},{"name":"v1.0.10-beta.3","sha":"f2445e08ab618c651afd9876ba4c2d9ba4dec4fb","kind":"tag","published_at":"2024-12-03T18:11:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.10-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.10-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.3/manifests"},{"name":"v1.0.10-beta.2","sha":"27c9b7fce5c005222f7c3492a41fe7c79b4525e4","kind":"tag","published_at":"2024-12-03T17:46:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.10-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.10-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.2/manifests"},{"name":"v1.0.10-beta.1","sha":"c2f758fa556dc5392cc2a3a872e8c242f183db42","kind":"tag","published_at":"2024-12-03T15:26:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.10-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.10-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.10-beta.1/manifests"},{"name":"v1.0.9","sha":"83c63a9795d8d3f91049249d225d573308c1d8ff","kind":"tag","published_at":"2024-12-03T13:56:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9/manifests"},{"name":"v1.0.9-beta.7","sha":"575754fadfb76cba12a2305049da48a5122e12d4","kind":"tag","published_at":"2024-12-03T10:00:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.7/manifests"},{"name":"v1.0.9-beta.6","sha":"16772440f58bd9f40b79d2b631e60285bf768b78","kind":"tag","published_at":"2024-12-03T08:48:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.6/manifests"},{"name":"v1.0.9-beta.5","sha":"5539c0704acc246513f61f4c5f412a569319bfbb","kind":"tag","published_at":"2024-12-02T13:29:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.5/manifests"},{"name":"v1.0.9-beta.4","sha":"23e670c502753dc622160a160fc781962da93b1f","kind":"tag","published_at":"2024-12-02T13:29:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.4/manifests"},{"name":"v1.0.9-beta.3","sha":"cb28efc167939475e4092bea6f7da4f1b07dd33a","kind":"tag","published_at":"2024-12-02T12:52:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.3/manifests"},{"name":"v1.0.9-beta.2","sha":"5c909f32c147c6d3056d7f993fbc65dabfc58e81","kind":"tag","published_at":"2024-12-02T12:51:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.2/manifests"},{"name":"v1.0.9-beta.1","sha":"76be156318591d1c3c18e4e6ce1d5f359f800b96","kind":"tag","published_at":"2024-12-02T12:43:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.9-beta.1/manifests"},{"name":"v1.0.8","sha":"8ebd7242d64dc4147988a93f8e8c23182d296090","kind":"tag","published_at":"2024-12-02T07:38:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8/manifests"},{"name":"v1.0.8-beta.4","sha":"02f17e1fd6ae2587436c5663eb103605b5b244d4","kind":"tag","published_at":"2024-12-02T07:27:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.8-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.8-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.4/manifests"},{"name":"v1.0.8-beta.3","sha":"ba36d78947cc057ec64147286865ad651b06a3fa","kind":"tag","published_at":"2024-12-02T07:27:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.8-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.8-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.3/manifests"},{"name":"v1.0.8-beta.2","sha":"f150dbf7730b6c86b351f7e148dd7cc5aec1dd45","kind":"tag","published_at":"2024-11-29T18:44:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.2/manifests"},{"name":"v1.0.8-beta.1","sha":"d2045e7d6938d1ac34c1ccc7f7d0ee77e73be5c6","kind":"tag","published_at":"2024-11-29T17:51:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.8-beta.1/manifests"},{"name":"v1.0.7","sha":"622610e5915c25c9f2065742a47f901f7f304f29","kind":"tag","published_at":"2024-11-28T05:25:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"9c68467ceb44d0c0f617f93fc04289873231b684","kind":"tag","published_at":"2024-11-27T19:15:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"b439db0a7fb6e7a316f4d318403e4d0faaed2683","kind":"tag","published_at":"2024-11-26T12:18:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"daa37d5d5a88101f8ab3a567658c62cbbefed462","kind":"tag","published_at":"2024-11-25T23:03:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"a461dce6adbd260c3eaec4605d96718f464008de","kind":"tag","published_at":"2024-11-25T07:40:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"331a2f68cd37fc9d3220f2710503fb34f6c12e59","kind":"tag","published_at":"2024-11-24T06:38:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"20afab0b654eedaa1fcc27312c2bab180348037b","kind":"tag","published_at":"2024-11-23T18:38:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"8e81ceb0e2727e220a9119a6bccca2c01fc878c3","kind":"tag","published_at":"2024-11-23T00:50:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0/manifests"},{"name":"v1.0.0-canary.14","sha":"bc0b244f386da8821b572dcc5010c3bea5543648","kind":"tag","published_at":"2024-11-22T12:03:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.14/manifests"},{"name":"v1.0.0-canary.13","sha":"2fb8a170221f05353e82ee03756e6e99d5525e84","kind":"tag","published_at":"2024-11-22T11:53:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.13/manifests"},{"name":"v1.0.0-canary.12","sha":"68a6d7ed85173756599f9938169d6fdadcb517ed","kind":"tag","published_at":"2024-11-22T07:32:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.12/manifests"},{"name":"v1.0.0-canary.11","sha":"3d8d560420ee9c9d4cde86b4b783b9fd6748de05","kind":"tag","published_at":"2024-11-21T19:05:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.11/manifests"},{"name":"v1.0.0-canary.10","sha":"2d9614df7b29876f0ca5bad698fe614e1132cf47","kind":"tag","published_at":"2024-11-21T15:39:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.10/manifests"},{"name":"v1.0.0-canary.9","sha":"3a9225cccf1d9009808050ee606d1728b182203f","kind":"tag","published_at":"2024-11-21T15:31:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.9/manifests"},{"name":"v1.0.0-canary.8","sha":"6988e803b851db33858a89d1763b6a8ef4f872f5","kind":"tag","published_at":"2024-11-20T20:19:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.8/manifests"},{"name":"v1.0.0-canary.7","sha":"dc9b3f157c52861bfa2ab102771b42c3ea37dc8c","kind":"tag","published_at":"2024-11-20T19:43:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.7/manifests"},{"name":"v1.0.0-canary.6","sha":"183bb67cedc052b609b06fe416d9eefeca4cde1f","kind":"tag","published_at":"2024-11-20T15:42:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.6/manifests"},{"name":"v0.8.9-beta.2","sha":"a50fce1561137b0ac506eb88a29e8604cd72c454","kind":"tag","published_at":"2024-11-20T14:14:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.9-beta.2/manifests"},{"name":"v0.8.9-beta.1","sha":"8e0ee3e29b43a26e1871ab1c3e0df45ff76b1d37","kind":"tag","published_at":"2024-11-20T14:09:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.9-beta.1/manifests"},{"name":"v1.0.0-canary.5","sha":"186ace3b15474aea3e156f0f4a5422ae7931fa6d","kind":"tag","published_at":"2024-11-20T14:04:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.5/manifests"},{"name":"v1.0.0-canary.4","sha":"0d8108cd608c175fc7908aeb00f84e2fd4b296e1","kind":"tag","published_at":"2024-11-20T13:28:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.4/manifests"},{"name":"v1.0.0-canary.3","sha":"ef62ef276de5d76aad1e4f3a8c695f81d9ed57e2","kind":"tag","published_at":"2024-11-20T11:35:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.3/manifests"},{"name":"v1.0.0-canary.2","sha":"84917cb5de2dad9febcb93d00291b030b9b72ba2","kind":"tag","published_at":"2024-11-20T10:05:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.2/manifests"},{"name":"v1.0.0-canary.1","sha":"78c41827da277261a9cf9d4eba802c374d4ed03d","kind":"tag","published_at":"2024-11-20T09:57:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v1.0.0-canary.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v1.0.0-canary.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v1.0.0-canary.1/manifests"},{"name":"v0.8.8","sha":"a9efa09cb6f26d58d9e258f3384d19651429d5bc","kind":"tag","published_at":"2024-11-20T08:52:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8/manifests"},{"name":"v0.8.8-beta.2","sha":"d1c2894e7be4281e95378f3eaa4d55bbb1eced18","kind":"tag","published_at":"2024-11-19T22:12:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8-beta.2/manifests"},{"name":"v0.8.8-beta.1","sha":"991d3b9ef7b3eefa8098d529ed62a083e7096106","kind":"tag","published_at":"2024-11-19T20:37:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.8-beta.1/manifests"},{"name":"v0.9.0-canary.1","sha":"a3f0793d68956bdf9167c0621433ccaa9c668e85","kind":"tag","published_at":"2024-11-19T17:46:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.9.0-canary.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.9.0-canary.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.9.0-canary.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.9.0-canary.1/manifests"},{"name":"v0.8.7","sha":"bd23af86ffe4739373ed8985cfddd6fd9a0b1b6e","kind":"tag","published_at":"2024-11-19T16:41:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7/manifests"},{"name":"v0.8.7-canary.2","sha":"5661cfcfa689bd7af606dec759bed9d863fa2e64","kind":"tag","published_at":"2024-11-19T15:45:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-canary.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-canary.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-canary.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-canary.2/manifests"},{"name":"v0.8.7-canary.1","sha":"5a20c2f091a35f9e69f4711456803016b8cd830c","kind":"tag","published_at":"2024-11-19T15:41:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-canary.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-canary.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-canary.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-canary.1/manifests"},{"name":"v0.8.7-beta.5","sha":"6a2953fdd51cde1e0edb71bc024b0f67165f1f80","kind":"tag","published_at":"2024-11-19T09:01:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.5/manifests"},{"name":"v0.8.7-beta.4","sha":"5f15a83029baf1ce430bb0a8100b5b3ff1b8ff52","kind":"tag","published_at":"2024-11-19T07:57:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.4/manifests"},{"name":"v0.8.7-beta.3","sha":"29e676575908f112f6b87dbcc93377b050b53fe5","kind":"tag","published_at":"2024-11-18T18:38:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.3/manifests"},{"name":"v0.8.7-beta.2","sha":"6c6ff671ea5da08b93f668dc4393103394666df9","kind":"tag","published_at":"2024-11-18T17:58:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.2/manifests"},{"name":"v0.8.7-beta.1","sha":"b286d7b2384bd6f81b246825ce30cc33fda771f3","kind":"tag","published_at":"2024-11-18T12:30:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.7-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.7-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.7-beta.1/manifests"},{"name":"v0.8.6","sha":"f820098eb4f4d506f6a2c9001b88ad19fbce2431","kind":"tag","published_at":"2024-11-18T11:23:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6/manifests"},{"name":"v0.8.6-beta.6","sha":"a398b5d2dcc0fb72082f85d21a4c203352a5de8a","kind":"tag","published_at":"2024-11-18T08:40:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.6/manifests"},{"name":"v0.8.6-beta.5","sha":"5d07d63c6e9a1368682ded6b3dd73eb5941ecd68","kind":"tag","published_at":"2024-11-18T08:21:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.5/manifests"},{"name":"v0.8.6-beta.4","sha":"bae3d5d1d1ac68805a9d30eae1c02371402952a9","kind":"tag","published_at":"2024-11-17T14:13:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.4/manifests"},{"name":"v0.8.6-beta.3","sha":"a917c5e7ae35a4c059e8cab0e5d6c19a427bede7","kind":"tag","published_at":"2024-11-16T13:37:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.3/manifests"},{"name":"v0.8.6-beta.2","sha":"0a57b52ea524bea41fc942ba1155c86fec743dc4","kind":"tag","published_at":"2024-11-16T11:36:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.2/manifests"},{"name":"v0.8.6-beta.1","sha":"947fabf39ea47dfc4549a9b3965d025369ad2480","kind":"tag","published_at":"2024-11-16T10:18:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.6-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.6-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.6-beta.1/manifests"},{"name":"v0.8.5","sha":"b79eae2fbf69239ac83313603fc3afe8caa07c9c","kind":"tag","published_at":"2024-11-16T08:52:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5/manifests"},{"name":"v0.8.5-beta.3","sha":"56448ca05ac16ed2eb13ef9d4e9334296622a0ba","kind":"tag","published_at":"2024-11-15T21:37:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.5-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.5-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.3/manifests"},{"name":"v0.8.5-beta.2","sha":"1dc5544dd0b2a9874fd1c2660a7d8229b3c82345","kind":"tag","published_at":"2024-11-15T19:37:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.5-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.5-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.2/manifests"},{"name":"v0.8.5-beta.1","sha":"ceebec9138576c19a5f43710e49fd5486d9c118b","kind":"tag","published_at":"2024-11-15T17:46:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.5-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.5-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.5-beta.1/manifests"},{"name":"v0.8.4","sha":"843efd70f50bfac11831354105d14123bcf1ccdb","kind":"tag","published_at":"2024-11-15T17:43:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4/manifests"},{"name":"v0.8.4-beta.7","sha":"9939a06d0a840eb54000da11d3dced7bfac7ebf5","kind":"tag","published_at":"2024-11-15T12:05:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.7/manifests"},{"name":"v0.8.4-beta.6","sha":"43c1ba15508a18561db6a07f3b8a07a575e594fb","kind":"tag","published_at":"2024-11-15T11:58:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.6/manifests"},{"name":"v0.8.4-beta.5","sha":"e27131e528f1d675e5a1de7898c972ffb37fae40","kind":"tag","published_at":"2024-11-15T09:21:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.5/manifests"},{"name":"v0.8.4-beta.4","sha":"56f14b6fd1d300eb83881ca99ef8d2547404467b","kind":"tag","published_at":"2024-11-14T23:18:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.4/manifests"},{"name":"v0.8.4-beta.2","sha":"bac7e5d6df8161f3b991a8381f485e96d45acfb2","kind":"tag","published_at":"2024-11-14T18:12:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.2/manifests"},{"name":"v0.8.4-beta.1","sha":"534d6205d19501d4cc5fc31329d837ecd537c3c3","kind":"tag","published_at":"2024-11-14T16:57:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.4-beta.1/manifests"},{"name":"v0.8.3","sha":"826a395dfeeaad1c3fb28d8f751208770ab265fa","kind":"tag","published_at":"2024-11-14T16:27:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3/manifests"},{"name":"v0.8.3-beta.7","sha":"ab2187266931767c97438eee95df86fac79f9a41","kind":"tag","published_at":"2024-11-14T15:43:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.7/manifests"},{"name":"v0.8.3-beta.6","sha":"b4e34696f9df20ac1c8d5981d58e6998382cfeb3","kind":"tag","published_at":"2024-11-14T15:23:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.6/manifests"},{"name":"v0.8.3-beta.5","sha":"7ee6effa04c05efed4cde4105b523d553e958ff8","kind":"tag","published_at":"2024-11-13T21:02:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.5/manifests"},{"name":"v0.8.3-beta.4","sha":"1313207614405edf56aef721e303b3ad34ae3a48","kind":"tag","published_at":"2024-11-13T19:27:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.4/manifests"},{"name":"v0.8.3-beta.3","sha":"d052192c5101f6da43b657ca7c3c22b02d51873b","kind":"tag","published_at":"2024-11-13T18:43:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.3/manifests"},{"name":"v0.8.3-beta.2","sha":"a54ba49344e65d75498a5f3c10f156ec311b407e","kind":"tag","published_at":"2024-11-13T17:06:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.2/manifests"},{"name":"v0.8.3-beta.1","sha":"739d51022e840ff4c4b9b74c30cb83dd2b7dad52","kind":"tag","published_at":"2024-11-12T16:32:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.3-beta.1/manifests"},{"name":"v0.8.2","sha":"333afe63587858778834e3a6c6d1276fe6164940","kind":"tag","published_at":"2024-11-11T20:28:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2/manifests"},{"name":"v0.8.2-beta.3","sha":"5c882f88d1a292ffc18bd5697d3b80ed43a08afd","kind":"tag","published_at":"2024-11-11T18:17:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.3/manifests"},{"name":"v0.8.2-beta.2","sha":"e882326a8d2e551661750e448d0200e6c7302299","kind":"tag","published_at":"2024-11-11T06:06:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.2/manifests"},{"name":"v0.8.2-beta.1","sha":"691510711e6030a38c17b01f998cc62823bb1a06","kind":"tag","published_at":"2024-11-10T18:48:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.2-beta.1/manifests"},{"name":"v0.8.1","sha":"88369eb3db800e96dd29e8b4b4d7f9b7cdbbcc21","kind":"tag","published_at":"2024-11-10T06:12:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1/manifests"},{"name":"v0.8.1-beta.5","sha":"d1252a6620e485a7e7c6383e452ddd7827e8d234","kind":"tag","published_at":"2024-11-09T19:38:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.5/manifests"},{"name":"v0.8.1-beta.4","sha":"b20b08a3765120d8cf9837d6efbe5844cc69477b","kind":"tag","published_at":"2024-11-09T07:31:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.4/manifests"},{"name":"v0.8.1-beta.3","sha":"3bdf23924c40336fb3ba7c7753f7596a390c0226","kind":"tag","published_at":"2024-11-09T06:45:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.3/manifests"},{"name":"v0.8.1-beta.2","sha":"f05e6211d7854874fc4284d12404dd95ca00083f","kind":"tag","published_at":"2024-11-09T06:31:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.2/manifests"},{"name":"v0.8.1-beta.1","sha":"ac08b1fd797b10cd39fa231d273c00c21e31f290","kind":"tag","published_at":"2024-11-09T03:49:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.1-beta.1/manifests"},{"name":"v0.8.0","sha":"a2de76d9934217d2cd01264b3695b8f6bd4ae6e9","kind":"tag","published_at":"2024-11-08T22:32:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.8.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.8.0/manifests"},{"name":"v0.7.6-beta.4","sha":"c2032622bef635f2b22a258f813f349aaf401ebb","kind":"tag","published_at":"2024-11-08T22:01:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.6-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.6-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.4/manifests"},{"name":"v0.7.6-beta.3","sha":"f6da8b62bcbc65b0ad7a7a0ad98e6c0971bbeacd","kind":"tag","published_at":"2024-11-08T16:25:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.6-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.6-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.3/manifests"},{"name":"v0.7.6-beta.2","sha":"743ff2bd5f12ec83a083643d2da425787b778fdd","kind":"tag","published_at":"2024-11-08T09:01:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.6-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.6-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.2/manifests"},{"name":"v0.7.6-beta.1","sha":"00d36eb42482771a834f27573a55afda2f17a602","kind":"tag","published_at":"2024-11-08T07:16:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.6-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.6-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.6-beta.1/manifests"},{"name":"v0.7.5","sha":"03e965e4f316e80dc4e7d5c35ede9dd8cfc2d986","kind":"tag","published_at":"2024-11-07T18:43:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5/manifests"},{"name":"v0.7.5-beta.9","sha":"f33c2b74b8915a8394e9a796a27b33d8b2cf9576","kind":"tag","published_at":"2024-11-07T17:37:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.9/manifests"},{"name":"v0.7.5-beta.8","sha":"ef0afd28355921f23a220eca6dfd11f9223b571f","kind":"tag","published_at":"2024-11-07T17:19:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.8/manifests"},{"name":"v0.7.5-beta.7","sha":"a9119755d13c9c8a36eb9f1b1f0d75a44224b251","kind":"tag","published_at":"2024-11-07T16:55:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.7/manifests"},{"name":"v0.7.5-beta.6","sha":"05d054e780541f7873d7288e91a0799a65caf853","kind":"tag","published_at":"2024-11-07T16:08:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.6/manifests"},{"name":"v0.7.5-beta.5","sha":"b92c4b80e97e8cfe489f642927c70af6981ea0a4","kind":"tag","published_at":"2024-11-07T14:02:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.5/manifests"},{"name":"v0.7.5-beta.4","sha":"9277b2a31c20597446c4d5f8f16bf2c67c7d276f","kind":"tag","published_at":"2024-11-07T13:48:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.4/manifests"},{"name":"v0.7.5-beta.3","sha":"79ce37090f7d960dec8c6427946f3100c992dba2","kind":"tag","published_at":"2024-11-07T13:36:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.3/manifests"},{"name":"v0.7.5-beta.2","sha":"4c280b406b9add10b5e29e8c7d24d8a09cb68dcf","kind":"tag","published_at":"2024-11-07T13:10:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.2/manifests"},{"name":"v0.7.5-beta.1","sha":"0a7a58de6ccfffeb719e5202124f28989076b53e","kind":"tag","published_at":"2024-11-07T09:31:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.5-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.5-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.5-beta.1/manifests"},{"name":"v0.7.4","sha":"1384baff9f5bb728d92118b936097396423d1dbf","kind":"tag","published_at":"2024-11-06T21:56:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.4/manifests"},{"name":"v0.7.4-beta.1","sha":"2ce1d0b1b1708e3f0fa2ef6543c7e90b1cffcb45","kind":"tag","published_at":"2024-11-06T19:29:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.4-beta.1/manifests"},{"name":"v0.7.3","sha":"867d5dba4b74b1ec3dbc16bca50632913d175243","kind":"tag","published_at":"2024-11-06T07:19:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3/manifests"},{"name":"v0.7.3-beta.11","sha":"77292860385babedb1346c0d297a72f1cae56102","kind":"tag","published_at":"2024-11-06T07:10:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.11/manifests"},{"name":"v0.7.3-beta.10","sha":"6573e56f1b7a7f6a82b1c62fda4ec811ffdaa3c6","kind":"tag","published_at":"2024-11-06T06:20:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.10/manifests"},{"name":"v0.7.3-beta.9","sha":"1ad54f0a0bb0eda810ab857c2435daf34f518829","kind":"tag","published_at":"2024-11-05T21:40:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.9/manifests"},{"name":"v0.7.3-beta.8","sha":"9a34677b87a1685a82a92ccdd333ac05343058fc","kind":"tag","published_at":"2024-11-05T20:29:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.8/manifests"},{"name":"v0.7.3-beta.7","sha":"7a53952bb54219a96f9fc4594288c0db0cca1e68","kind":"tag","published_at":"2024-11-05T20:21:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.7/manifests"},{"name":"v0.7.3-beta.6","sha":"3865ea80daf2ebe9169fcdf27826e312e397db2b","kind":"tag","published_at":"2024-11-05T18:08:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.6/manifests"},{"name":"v0.7.3-beta.5","sha":"e6b36c2887b06482176a450e86ec69793b3f609e","kind":"tag","published_at":"2024-11-05T17:58:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.5/manifests"},{"name":"v0.7.3-beta.4","sha":"03c71168d624509e68cc206b4e05a9e7c7a4ef13","kind":"tag","published_at":"2024-11-05T16:32:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.4/manifests"},{"name":"v0.7.3-beta.3","sha":"97396027322821a5a7edce3f2108ed48b4319d94","kind":"tag","published_at":"2024-11-05T16:22:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.3/manifests"},{"name":"v0.7.3-beta.2","sha":"df6824cac83c3eb5e1f805c2a1adf37cc611604a","kind":"tag","published_at":"2024-11-05T11:22:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.2/manifests"},{"name":"v0.7.3-beta.1","sha":"9b154607452d230d74ef470c9b98eaaaa1b165a8","kind":"tag","published_at":"2024-11-05T08:24:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.3-beta.1/manifests"},{"name":"v0.7.2","sha":"0676d78006cfa355fe15f64a5fab352ce6744a23","kind":"tag","published_at":"2024-11-04T23:09:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2/manifests"},{"name":"v0.7.2-beta.5","sha":"8ce3c7f9ab9234a8be7192b8e5e6890a625c072f","kind":"tag","published_at":"2024-11-04T17:51:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.5/manifests"},{"name":"v0.7.2-beta.4","sha":"994a48e9d53f0f7ee5daca3df82a213da0778df6","kind":"tag","published_at":"2024-11-04T17:19:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.4/manifests"},{"name":"v0.7.2-beta.3","sha":"c11a5757f031a7556e5d9b1d587714f0bb1ea2e7","kind":"tag","published_at":"2024-11-04T17:06:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.3/manifests"},{"name":"v0.7.2-beta.2","sha":"6310d3ed0c76450328a0eca3d75a7edba258cecb","kind":"tag","published_at":"2024-11-04T16:39:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.2/manifests"},{"name":"v0.7.2-beta.1","sha":"8b4b6a77a077688307fd0bca98a3d30a35e2adae","kind":"tag","published_at":"2024-11-04T14:38:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.2-beta.1/manifests"},{"name":"v0.7.1","sha":"db858e73dcbea4024647125aa4be819a8908ec12","kind":"tag","published_at":"2024-11-04T12:53:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1/manifests"},{"name":"v0.7.1-beta.6","sha":"ca7d9caada463486738f43e65531e03ef5ec242d","kind":"tag","published_at":"2024-11-04T07:15:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.6/manifests"},{"name":"v0.7.1-beta.5","sha":"194d6406bca72d0a6d9ea908b2020322c6ca0bb1","kind":"tag","published_at":"2024-11-03T21:14:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.5/manifests"},{"name":"v0.7.1-beta.4","sha":"a9762a7c0e2c1dd621eeeb724b839a49b190e9ee","kind":"tag","published_at":"2024-11-03T10:43:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.4/manifests"},{"name":"v0.7.1-beta.3","sha":"5b58b8413270b06ab8541f6816b2efca23500994","kind":"tag","published_at":"2024-11-03T07:21:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.3/manifests"},{"name":"v0.7.1-beta.2","sha":"b04ccd0d61d90f0598dd3b81d612241d6d2119c2","kind":"tag","published_at":"2024-11-03T07:19:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.2/manifests"},{"name":"v0.7.1-beta.1","sha":"5df3bc2b357b66c95d4daa0f9d0183d87ad2a8a3","kind":"tag","published_at":"2024-11-02T23:38:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.1-beta.1/manifests"},{"name":"v0.7.0","sha":"5530c6409787dd37b8ec35245869db927660c2e1","kind":"tag","published_at":"2024-11-02T23:00:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.0/manifests"},{"name":"v0.7.0-beta.1","sha":"f21403ac26b2908e545ee4de8e49e5f32555ebf6","kind":"tag","published_at":"2024-11-02T09:42:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.7.0-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.7.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.7.0-beta.1/manifests"},{"name":"v0.6.3-beta.5","sha":"41355032e17033cdbca280e6bdb2d7d3878042b7","kind":"tag","published_at":"2024-11-01T07:48:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.5/manifests"},{"name":"v0.6.3-beta.4","sha":"c83829a9c4d245442ca021d2fee64c427b11c17a","kind":"tag","published_at":"2024-11-01T06:22:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.4/manifests"},{"name":"v0.6.3-beta.3","sha":"05f415b4837f91fe622ea459eb2f150f25b07c98","kind":"tag","published_at":"2024-10-30T14:14:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.3/manifests"},{"name":"v0.6.3-beta.2","sha":"c741a9b5ba91d2769d674e568957c4fff98e7a07","kind":"tag","published_at":"2024-10-30T08:21:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.2/manifests"},{"name":"v0.6.3-beta.1","sha":"1ca0ceeabe2fe2ea935df6afa7ae780dd21c27b5","kind":"tag","published_at":"2024-10-30T07:50:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.3-beta.1/manifests"},{"name":"v0.6.2","sha":"2a4fe8db642ad7ad07c8cda94612712c43b6f0f4","kind":"tag","published_at":"2024-10-28T10:07:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2/manifests"},{"name":"v0.6.2-beta.8","sha":"463d7944f67054ea7753fea51f63bf7c4ee1f714","kind":"tag","published_at":"2024-10-28T08:31:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.8/manifests"},{"name":"v0.6.2-beta.7","sha":"568b00dda856fb7c1fccb183619b7f3086ad5929","kind":"tag","published_at":"2024-10-28T06:43:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.7/manifests"},{"name":"v0.6.2-beta.6","sha":"7eab525eff5e6bb1250588baf3db55f42b9f3248","kind":"tag","published_at":"2024-10-28T05:48:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.6/manifests"},{"name":"v0.6.2-beta.5","sha":"93b1438d1aced24fcf7ff42907063b760a600942","kind":"tag","published_at":"2024-10-28T05:21:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.5/manifests"},{"name":"v0.6.2-beta.4","sha":"855b28ba410a226a5b79231f00fdd02c3ab2b472","kind":"tag","published_at":"2024-10-28T05:18:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.4/manifests"},{"name":"v0.6.2-beta.3","sha":"6208f58c2f4c935755c81c7d026b03f09298b387","kind":"tag","published_at":"2024-10-28T03:59:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.3/manifests"},{"name":"v0.6.2-beta.2","sha":"5743182a33efae097a12552778b569a7108e6f91","kind":"tag","published_at":"2024-10-27T19:13:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.2/manifests"},{"name":"v0.6.2-beta.1","sha":"f3ce7618c4cb81621185f60a5729d344a4de6564","kind":"tag","published_at":"2024-10-27T19:03:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.2-beta.1/manifests"},{"name":"v0.6.1","sha":"0cf3799bc1e045321fa1528d5f873378af611a8f","kind":"tag","published_at":"2024-10-27T15:17:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1/manifests"},{"name":"v0.6.1-beta.9","sha":"72b90702b9ae48f944dbad8a9fc0a13e7cc32ad8","kind":"tag","published_at":"2024-10-27T13:57:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.9/manifests"},{"name":"v0.6.1-beta.8","sha":"8fb19aa24df82ab9629e4c0f8c067f2a115f045c","kind":"tag","published_at":"2024-10-27T13:46:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.8/manifests"},{"name":"v0.6.1-beta.7","sha":"14bcaa6ddb0fcf89e7150096fe226f6409031fb3","kind":"tag","published_at":"2024-10-27T11:31:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.7/manifests"},{"name":"v0.6.1-beta.6","sha":"c5d6db6aaecc57e8c9a2113819cda23bb66ec1fc","kind":"tag","published_at":"2024-10-27T10:42:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.6/manifests"},{"name":"v0.6.1-beta.5","sha":"2b3d41c086cd988cf4010e5f8cb817f4f759eb5b","kind":"tag","published_at":"2024-10-27T07:41:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.5/manifests"},{"name":"v0.6.1-beta.4","sha":"92347c17935cdc6104d60eaa2f1c9e9a1bee16ef","kind":"tag","published_at":"2024-10-27T05:58:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.4/manifests"},{"name":"v0.6.1-beta.3","sha":"b54233bd3a9c80c943502abb8f60bbd887858e76","kind":"tag","published_at":"2024-10-26T21:11:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.3/manifests"},{"name":"v0.6.1-beta.2","sha":"a2a6b3ff75a0c97482f90d1cf883bbddb542eea5","kind":"tag","published_at":"2024-10-26T20:19:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.2/manifests"},{"name":"v0.6.1-beta.1","sha":"d3950d6b60272176cc14ba57040f382b326c33d1","kind":"tag","published_at":"2024-10-26T16:49:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.1-beta.1/manifests"},{"name":"v0.6.0","sha":"16450137ad79cc23a9871667c8dd7456c7472be7","kind":"tag","published_at":"2024-10-26T16:18:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.0/manifests"},{"name":"v0.6.0-beta.1","sha":"2d4aab8581d44e42c6aeed5e4dbbd72700c2b004","kind":"tag","published_at":"2024-10-26T16:14:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.6.0-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.6.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.6.0-beta.1/manifests"},{"name":"v0.5.4-beta.9","sha":"f8e583eec7b7e993425bf2c3c181879553a1cb3a","kind":"tag","published_at":"2024-10-26T05:18:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.9/manifests"},{"name":"v0.5.4-beta.8","sha":"9e914dd0caf90b7209e03a34423ee638565119e2","kind":"tag","published_at":"2024-10-26T05:10:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.8/manifests"},{"name":"v0.5.4-beta.7","sha":"c174ded0061334a3972aa651f3d0966b66fcf210","kind":"tag","published_at":"2024-10-25T14:04:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.7/manifests"},{"name":"v0.5.4-beta.6","sha":"ebf2fc08932aa43e07c61fb5618af26c1b693fed","kind":"tag","published_at":"2024-10-24T10:59:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.6/manifests"},{"name":"v0.5.4-beta.5","sha":"8f5789dc14bebd7e77b5e2c0ae1f22a578172676","kind":"tag","published_at":"2024-10-24T08:31:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.5/manifests"},{"name":"v0.5.4-beta.4","sha":"36b4c729afa5371b478d644f3c77c081b65c3d8f","kind":"tag","published_at":"2024-10-24T07:53:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.4/manifests"},{"name":"v0.5.4-beta.3","sha":"9ff76ed91f77ada4dbfe7e43856c8a53cd903b50","kind":"tag","published_at":"2024-10-24T04:11:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.3/manifests"},{"name":"v0.5.4-beta.2","sha":"f0dec90909f71f120e39e4cb7014f97a4bbba3a6","kind":"tag","published_at":"2024-10-23T22:41:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.2/manifests"},{"name":"v0.5.4-beta.1","sha":"37a46c3ffbaa4e9896bf7dbbe40b939fbd284b54","kind":"tag","published_at":"2024-10-23T21:42:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.4-beta.1/manifests"},{"name":"v0.5.3","sha":"e58f82fee1848572e51a58c455c81f41462d0d2d","kind":"tag","published_at":"2024-10-23T19:19:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3/manifests"},{"name":"v0.5.3-beta.17","sha":"ee981c63fc964c79f320f4facc21700fed4125e4","kind":"tag","published_at":"2024-10-23T16:28:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.17/manifests"},{"name":"v0.5.3-beta.16","sha":"764466bf3c5013233a7aa583ddc2ddf55f302083","kind":"tag","published_at":"2024-10-23T11:41:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.16/manifests"},{"name":"v0.5.3-beta.15","sha":"8a8759f20fdec5a4d6f47503ec74ebe167639dba","kind":"tag","published_at":"2024-10-23T11:08:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.15/manifests"},{"name":"v0.5.3-beta.14","sha":"24ee9fc10e9ff78bf6d9e32c8c3b0c274ca7f40b","kind":"tag","published_at":"2024-10-23T07:00:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.14/manifests"},{"name":"v0.5.3-beta.13","sha":"07a65abe44d95b87fc016987c43465a8f123d95b","kind":"tag","published_at":"2024-10-22T22:13:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.13/manifests"},{"name":"v0.5.3-beta.12","sha":"2981d8a0e98108a61f9379db5d5dce742f3b1d70","kind":"tag","published_at":"2024-10-22T21:53:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.12/manifests"},{"name":"v0.5.3-beta.11","sha":"7dca106738204f7180ea6023517c79f5ea229276","kind":"tag","published_at":"2024-10-22T13:16:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.11/manifests"},{"name":"v0.5.3-beta.10","sha":"8f44ea08c63d8b9654cf85d68f7cbf31b549543e","kind":"tag","published_at":"2024-10-22T07:37:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.10/manifests"},{"name":"v0.5.3-beta.9","sha":"716d6de090d362570125db6e2cdf53454a31a815","kind":"tag","published_at":"2024-10-22T06:24:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.9/manifests"},{"name":"v0.5.3-beta.8","sha":"1b9693b11f9d00d0c1c9574580a857b59f50890c","kind":"tag","published_at":"2024-10-22T05:39:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.8/manifests"},{"name":"v0.5.3-beta.7","sha":"9c7e4644bbe0a7a604e16dc7eacc919f02944984","kind":"tag","published_at":"2024-10-21T20:03:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.7/manifests"},{"name":"v0.5.3-beta.6","sha":"6b9bedfc8c38007a8619479bfc8812cd9d35106a","kind":"tag","published_at":"2024-10-21T19:52:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.6/manifests"},{"name":"v0.5.3-beta.5","sha":"16e6dff1fbab00d2083b0f585ed3c16377bdff06","kind":"tag","published_at":"2024-10-21T19:19:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.5/manifests"},{"name":"v0.5.3-beta.4","sha":"bf29217881076b0b1150874b76f5fc82743c3e69","kind":"tag","published_at":"2024-10-21T18:48:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.4/manifests"},{"name":"v0.5.3-beta.3","sha":"dd0de97572ee23f18ab78e85c3b9a3ae1cc013d9","kind":"tag","published_at":"2024-10-21T18:38:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.3/manifests"},{"name":"v0.5.3-beta.2","sha":"b17f30baa680f6b1807d613a5ae4a71a0bcafe1a","kind":"tag","published_at":"2024-10-21T13:28:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.2/manifests"},{"name":"v0.5.3-beta.1","sha":"658e99ace1c8da0a38fc34a1ae839d4e80a96e51","kind":"tag","published_at":"2024-10-21T12:49:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.3-beta.1/manifests"},{"name":"v0.5.2","sha":"a3e7e31d3c76b3afe85bb96c09d7bb89bfb5d232","kind":"tag","published_at":"2024-10-21T12:03:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2/manifests"},{"name":"v0.5.2-beta.21","sha":"003449f052054df8b79333a4fe1d59de3822df2a","kind":"tag","published_at":"2024-10-21T11:40:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.21/manifests"},{"name":"v0.5.2-beta.20","sha":"3d95bd463b6ed6a3b5780f9b0315d19153a0cf0a","kind":"tag","published_at":"2024-10-21T08:48:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.20/manifests"},{"name":"v0.5.2-beta.19","sha":"16dc0aa9bc4cb90bc1ad9e92d1808d1936212c83","kind":"tag","published_at":"2024-10-21T07:49:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.19/manifests"},{"name":"v0.5.2-beta.18","sha":"a1c32bf12fa060528912e9354a387aeef3b0d209","kind":"tag","published_at":"2024-10-21T07:24:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.18/manifests"},{"name":"v0.5.2-beta.17","sha":"23b610dffd9fe1bbae7bb3b079095e1b1636faad","kind":"tag","published_at":"2024-10-20T16:46:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.17/manifests"},{"name":"v0.5.2-beta.16","sha":"8baed2b21f1807d7990e22d64a3b50907a671cca","kind":"tag","published_at":"2024-10-20T15:03:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.16/manifests"},{"name":"v0.5.2-beta.15","sha":"689bff89365547ce89bb938b037e3ee7af9b7f89","kind":"tag","published_at":"2024-10-20T14:30:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.15/manifests"},{"name":"v0.5.2-beta.14","sha":"47a4d5923bcd940768eed4a635b1184b564409d5","kind":"tag","published_at":"2024-10-20T13:01:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.14/manifests"},{"name":"v0.5.2-beta.13","sha":"e8bad1e8bbd7d3d0c96c38f38daeb972308be65e","kind":"tag","published_at":"2024-10-20T12:32:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.13/manifests"},{"name":"v0.5.2-beta.12","sha":"774d7a393f2761ab2e82e315b2551aa1c7d56218","kind":"tag","published_at":"2024-10-20T12:07:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.12/manifests"},{"name":"v0.5.2-beta.11","sha":"9d8f3450a364c43e96744692d405488abd4591ea","kind":"tag","published_at":"2024-10-20T09:53:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.11/manifests"},{"name":"v0.5.2-beta.10","sha":"0dac2238467e06eadc7189aba42dbcbe1207c569","kind":"tag","published_at":"2024-10-20T06:28:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.10/manifests"},{"name":"v0.5.2-beta.9","sha":"672a2813c572808b22713107ef5a4f67cab2cd0b","kind":"tag","published_at":"2024-10-20T05:36:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.9/manifests"},{"name":"v0.5.2-beta.8","sha":"07bcad4561a994d134194ce10c77a314201ef382","kind":"tag","published_at":"2024-10-20T03:47:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.8/manifests"},{"name":"v0.5.2-beta.7","sha":"8078b79dcd81e458634f094250f8242554faae36","kind":"tag","published_at":"2024-10-19T18:33:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.7/manifests"},{"name":"v0.5.2-beta.6","sha":"7c8b9191f3d56bed6454c1a8491cc4d39a548a55","kind":"tag","published_at":"2024-10-19T15:27:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.6/manifests"},{"name":"v0.5.2-beta.5","sha":"0082a55a8afbd90b9908124ed4b018701caab17e","kind":"tag","published_at":"2024-10-19T14:48:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.5/manifests"},{"name":"v0.5.2-beta.4","sha":"e639891ea56a331fb89bdfc20d7a8076f9e0432a","kind":"tag","published_at":"2024-10-19T14:09:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.4/manifests"},{"name":"v0.5.2-beta.3","sha":"11b8f7714f120e45ba8750cf1a48ded87292d680","kind":"tag","published_at":"2024-10-19T13:15:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.3/manifests"},{"name":"v0.5.2-beta.2","sha":"555ce278599beb701aa69c54969d813ab3cf9d36","kind":"tag","published_at":"2024-10-19T12:43:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.2/manifests"},{"name":"v0.5.2-beta.1","sha":"8275a21f448ae84ded861a7f08e490de3c72087e","kind":"tag","published_at":"2024-10-19T12:19:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.2-beta.1/manifests"},{"name":"v0.5.1","sha":"477537b8265ad19b87267051419f44f0e9a16112","kind":"tag","published_at":"2024-10-19T10:29:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1/manifests"},{"name":"v0.5.1-beta.7","sha":"89ba3478b46b990dcd44c10850c3be29f8717482","kind":"tag","published_at":"2024-10-19T09:59:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.7/manifests"},{"name":"v0.5.1-beta.6","sha":"33565d014b06e4735c1cb8eb57897c64465398c4","kind":"tag","published_at":"2024-10-19T09:26:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.6/manifests"},{"name":"v0.5.1-beta.5","sha":"2efce1ea46fb84622b1e27d6fdb94a0e56ffc321","kind":"tag","published_at":"2024-10-19T03:54:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.5/manifests"},{"name":"v0.5.1-beta.4","sha":"dd84923ef9792b9c548f13ee39569607e9d4805c","kind":"tag","published_at":"2024-10-18T22:48:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.4/manifests"},{"name":"v0.5.1-beta.3","sha":"ed06242acf815fbbcdc19299ebc6419725e3b24e","kind":"tag","published_at":"2024-10-18T22:32:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.3/manifests"},{"name":"v0.5.1-beta.2","sha":"bf6fe6f6b39a96205a3c010ce118efddfe9f6be1","kind":"tag","published_at":"2024-10-18T21:52:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.2/manifests"},{"name":"v0.5.1-beta.1","sha":"4f600a9280056a371a7cd7cde1527a7285f83626","kind":"tag","published_at":"2024-10-18T21:26:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.1-beta.1/manifests"},{"name":"v0.5.0","sha":"14fc273c0885cdd553a155ed0ba243df7d70ec42","kind":"tag","published_at":"2024-10-18T20:31:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.5.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.5.0/manifests"},{"name":"v0.4.14-beta.2","sha":"34daae91efe400d01b90ea28d8a6d8737f6eb4a0","kind":"tag","published_at":"2024-10-18T15:23:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.14-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.14-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.14-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.14-beta.2/manifests"},{"name":"v0.4.14-beta.1","sha":"16887b8f00d5c3ac3ec8f18ce75c30f407be1703","kind":"tag","published_at":"2024-10-18T08:43:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.14-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.14-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.14-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.14-beta.1/manifests"},{"name":"v0.4.13","sha":"bb2002e0523cd4a869f9094095ab76aaa0e6f1c1","kind":"tag","published_at":"2024-10-18T06:22:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.13/manifests"},{"name":"v0.4.12","sha":"df5597c7d3a1820bb351bae93c2b1eb5b6c3943c","kind":"tag","published_at":"2024-10-17T19:42:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12/manifests"},{"name":"v0.4.12-beta.7","sha":"f8dda515c4a16ff42180f880df8cae5ddf3d5b1a","kind":"tag","published_at":"2024-10-17T17:03:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.7/manifests"},{"name":"v0.4.12-beta.6","sha":"3a19a36f4ffbc68016d6d90e47792e9fa14789aa","kind":"tag","published_at":"2024-10-17T15:02:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.6/manifests"},{"name":"v0.4.12-beta.5","sha":"a06c7485458c27785bc2ff1ae21aca3035a34c35","kind":"tag","published_at":"2024-10-17T04:53:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.5/manifests"},{"name":"v0.4.12-beta.4","sha":"170460b45aaabb72c69ad25bd699f9e52a640f58","kind":"tag","published_at":"2024-10-17T04:51:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.4/manifests"},{"name":"v0.4.12-beta.3","sha":"590691aa6766ae0ecafe068e9957f53628f55ae3","kind":"tag","published_at":"2024-10-16T21:07:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.3/manifests"},{"name":"v0.4.12-beta.2","sha":"46a1805e00fc7bc3d8a65526c191007c1e2a2719","kind":"tag","published_at":"2024-10-16T20:17:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.2/manifests"},{"name":"v0.4.12-beta.1","sha":"8ce64f5b9b24788b024e995aeeb698363f9bdf96","kind":"tag","published_at":"2024-10-16T20:09:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.12-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.12-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.12-beta.1/manifests"},{"name":"v0.4.11","sha":"f2901c474d9605e711941bca41f25cf85559abb2","kind":"tag","published_at":"2024-10-16T17:46:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11/manifests"},{"name":"v0.4.11-beta.3","sha":"5c2db0838ce95b44629d5b38e89d4ab28810bda7","kind":"tag","published_at":"2024-10-16T17:15:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.11-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.11-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.3/manifests"},{"name":"v0.4.11-beta.2","sha":"580b4c370c5685b83502306d146d55d38501db68","kind":"tag","published_at":"2024-10-16T16:49:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.11-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.11-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.2/manifests"},{"name":"v0.4.11-beta.1","sha":"e13fc96d83158d17d90e1351dbe9c7a88edce64e","kind":"tag","published_at":"2024-10-16T10:59:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.11-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.11-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.11-beta.1/manifests"},{"name":"v0.4.10-beta.10","sha":"639a5b5259d420b44c1b775255bf6400fc9ed561","kind":"tag","published_at":"2024-10-16T10:44:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.10/manifests"},{"name":"v0.4.10-beta.9","sha":"2de5598f576ccbdb2a24d9dae5d8fb037ad0637d","kind":"tag","published_at":"2024-10-16T10:05:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.9/manifests"},{"name":"v0.4.10","sha":"b85868c7f47181ce82e7c185d6f6351835a0605d","kind":"tag","published_at":"2024-10-16T09:54:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10/manifests"},{"name":"v0.4.10-beta.8","sha":"a5c737f68ab7b09923da2793b21a7200608cd924","kind":"tag","published_at":"2024-10-16T05:24:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.8/manifests"},{"name":"v0.4.10-beta.7","sha":"a48a8a175a7cf7140f96f89c285b8874e3286b96","kind":"tag","published_at":"2024-10-16T05:08:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.7/manifests"},{"name":"v0.4.10-beta.6","sha":"b1020d184feb494318e81275d62302630376a98b","kind":"tag","published_at":"2024-10-16T04:42:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.6/manifests"},{"name":"v0.4.10-beta.5","sha":"d43131f2f74da56160c62178850ac6f5f749c16d","kind":"tag","published_at":"2024-10-15T23:41:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.5/manifests"},{"name":"v0.4.10-beta.4","sha":"a6758cfc943351860559db58ca3a488daed5b730","kind":"tag","published_at":"2024-10-15T23:15:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.4/manifests"},{"name":"v0.4.10-beta.3","sha":"f0e9228ab2551cda275160f304183c64d248932f","kind":"tag","published_at":"2024-10-15T18:31:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.3/manifests"},{"name":"v0.4.10-beta.2","sha":"a4801a5bb0d0087eacdd591ffa611a3338a6d30d","kind":"tag","published_at":"2024-10-15T17:34:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.2/manifests"},{"name":"v0.4.10-beta.1","sha":"4a1343bcc0c227258443c56011dbc764c0b94291","kind":"tag","published_at":"2024-10-15T16:59:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.10-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.10-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.10-beta.1/manifests"},{"name":"v0.4.9","sha":"544efb5944851fe808d1162311973d9a76762940","kind":"tag","published_at":"2024-10-15T13:34:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9/manifests"},{"name":"v0.4.9-beta.14","sha":"fa523658e0e4a1083ffa53221045297191b20fb0","kind":"tag","published_at":"2024-10-15T13:24:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.14/manifests"},{"name":"v0.4.9-beta.13","sha":"60982e522f868459237f4e9d1dc46bce0ee2c264","kind":"tag","published_at":"2024-10-15T12:20:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.13/manifests"},{"name":"v0.4.9-beta.12","sha":"69a30eb4cb526c7d7d2bec6f34b89f63e78e5494","kind":"tag","published_at":"2024-10-15T11:40:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.12/manifests"},{"name":"v0.4.9-beta.11","sha":"67e66d06e9d3f484cb133947cf84bd216363b11a","kind":"tag","published_at":"2024-10-15T03:22:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.11/manifests"},{"name":"v0.4.9-beta.10","sha":"14fd34ba09f563d513fc6265fa0e9516afdcb53f","kind":"tag","published_at":"2024-10-14T19:27:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.10/manifests"},{"name":"v0.4.9-beta.9","sha":"88975f8b2dd919f61ea540df3affff9879ce3c64","kind":"tag","published_at":"2024-10-14T18:21:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.9/manifests"},{"name":"v0.4.9-beta.8","sha":"a28d21b75c3e3d44809ddd90e5612f5aaeb6329e","kind":"tag","published_at":"2024-10-14T17:23:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.8/manifests"},{"name":"v0.4.9-beta.7","sha":"0c415b21cb068d0139943fcfa93bbf596eff757a","kind":"tag","published_at":"2024-10-14T15:44:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.7/manifests"},{"name":"v0.4.9-beta.6","sha":"749d9001703177a54462f478ad1913c5f3c5d382","kind":"tag","published_at":"2024-10-14T11:51:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.6/manifests"},{"name":"v0.4.9-beta.5","sha":"904ee0a8477597f4271ad5069355e5404a7df1b4","kind":"tag","published_at":"2024-10-14T10:55:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.5/manifests"},{"name":"v0.4.9-beta.4","sha":"b0fed2d070dbfecad129de266192f7826c866184","kind":"tag","published_at":"2024-10-14T08:29:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.4/manifests"},{"name":"v0.4.9-beta.3","sha":"dfdf405cd0e11e896aff0ff0111dda4261c01471","kind":"tag","published_at":"2024-10-14T07:52:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.3/manifests"},{"name":"v0.4.9-beta.2","sha":"bce1201ac53f8acd3ff7e91a8329704ce5531ab2","kind":"tag","published_at":"2024-10-14T00:35:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.2/manifests"},{"name":"v0.4.9-beta.1","sha":"9316a0a2f0f6cb6470bc8388f098838124045815","kind":"tag","published_at":"2024-10-13T23:49:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.9-beta.1/manifests"},{"name":"v0.4.8","sha":"f7d8e4faedaab15bfb83d696b7ec6711b1b0fc3c","kind":"tag","published_at":"2024-10-13T23:23:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.8/manifests"},{"name":"v0.4.7","sha":"8097841d40765daf0e2d1b426f0dd155616a5cb9","kind":"tag","published_at":"2024-10-13T18:57:15.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7/manifests"},{"name":"v0.4.7-beta.2","sha":"bd13f13d44e46a1589a9a963e46660182d923760","kind":"tag","published_at":"2024-10-13T15:25:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.7-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.7-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7-beta.2/manifests"},{"name":"v0.4.7-beta.1","sha":"2cb0bc2fd90661fa9175aadc841fe1763d2a4bbc","kind":"tag","published_at":"2024-10-13T15:14:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.7-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.7-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.7-beta.1/manifests"},{"name":"v0.4.6","sha":"35700c51cc40a39ebac370cf7ec9d790895d473b","kind":"tag","published_at":"2024-10-13T14:45:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"1acb9bdf2170e753a86062ed3a35fe71da231853","kind":"tag","published_at":"2024-10-13T07:42:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"f9d7637460f60b803b720a6dd601f24b958df0b0","kind":"tag","published_at":"2024-10-12T22:37:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.4/manifests"},{"name":"v0.4.4-beta.1","sha":"21808cea49bd9f5c7e04c5864b6610f8a876cc1f","kind":"tag","published_at":"2024-10-12T22:24:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.4-beta.1/manifests"},{"name":"v0.4.3","sha":"f9d46ec33f55e170b7ce4a9c44bd23b9475526b9","kind":"tag","published_at":"2024-10-12T19:05:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.3/manifests"},{"name":"v0.4.3-beta.1","sha":"c83ee8c86508b84cd555d14d8ac0e094625f79e7","kind":"tag","published_at":"2024-10-12T12:32:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.3-beta.1/manifests"},{"name":"v0.4.2","sha":"a295de821d52f205b1282f9e6d5d84fb2577f28e","kind":"tag","published_at":"2024-10-12T11:47:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.2/manifests"},{"name":"v0.4.2-beta.1","sha":"31d4e9059822bec7e2a3d2a0987b5b5c8dd96b78","kind":"tag","published_at":"2024-10-12T10:34:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.2-beta.1/manifests"},{"name":"v0.4.1","sha":"dfbcbdf5acecee388c8cf60acdadf8228a0e91ad","kind":"tag","published_at":"2024-10-12T05:47:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"9eb55be2d2c9db8026b9372bcf8312f4ed53a5e9","kind":"tag","published_at":"2024-10-12T01:20:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.4.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.4.0/manifests"},{"name":"v0.3.6","sha":"831825486c50f6afa60856d6dec1677379a3064c","kind":"tag","published_at":"2024-10-11T21:00:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"6fb44b2235c87e45256a4c758470517ee00ab6fe","kind":"tag","published_at":"2024-10-11T18:50:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5/manifests"},{"name":"v0.3.5-beta.8","sha":"f8befcca55d3f1b085d52ea251c348fdd7004ff0","kind":"tag","published_at":"2024-10-11T10:54:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.8/manifests"},{"name":"v0.3.5-beta.7","sha":"499fdd139ce5a858afc8a0ffac309e7d841eef0b","kind":"tag","published_at":"2024-10-10T18:27:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.7/manifests"},{"name":"v0.3.5-beta.6","sha":"5fbb6b174606d7c60fee5716370ee586afd531ba","kind":"tag","published_at":"2024-10-10T11:42:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.6/manifests"},{"name":"v0.3.5-beta.5","sha":"456381170b92c793519b4c046fc8c6d902ab1292","kind":"tag","published_at":"2024-10-10T11:06:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.5/manifests"},{"name":"v0.3.5-beta.4","sha":"a04fa19671c6d4c138076590d4a1a5e3ec138d4d","kind":"tag","published_at":"2024-10-10T10:57:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.4/manifests"},{"name":"v0.3.5-beta.3","sha":"9f7fd504ae27559a5ba5498554232a801d1f3fd0","kind":"tag","published_at":"2024-10-10T04:33:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.3/manifests"},{"name":"v0.3.5-beta.2","sha":"cf05bcd6adc9e5760d4b83b269d09f06bd9dded1","kind":"tag","published_at":"2024-10-09T20:42:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.2/manifests"},{"name":"v0.3.5-beta.1","sha":"40c26da6c4d7773988fb6c462c2bb2c6f242352f","kind":"tag","published_at":"2024-10-09T17:24:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.5-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.5-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.5-beta.1/manifests"},{"name":"v0.3.4","sha":"1dc573bca9e53c36f84f4dab1144e10f94066df1","kind":"tag","published_at":"2024-10-09T16:03:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4/manifests"},{"name":"v0.3.4-beta.6","sha":"07a93ad47b1ee9fad84c9a31fc996e15929363e7","kind":"tag","published_at":"2024-10-09T15:59:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.6/manifests"},{"name":"v0.3.4-beta.5","sha":"f3cdaab23a04e5cfbc182f8de5c9e86919969ed6","kind":"tag","published_at":"2024-10-09T13:58:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.5/manifests"},{"name":"v0.3.4-beta.4","sha":"a6994ec0d4c8ef7d23ca8ec8c4e9ccd98d22e7bd","kind":"tag","published_at":"2024-10-09T07:41:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.4/manifests"},{"name":"v0.3.4-beta.3","sha":"7212faead0df961036923f3ecfb9c52d183d486e","kind":"tag","published_at":"2024-10-08T22:11:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.3/manifests"},{"name":"v0.3.4-beta.2","sha":"291f616772814f3ccaff17315fbdc6176f7f9a5d","kind":"tag","published_at":"2024-10-08T11:46:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.2/manifests"},{"name":"v0.3.4-beta.1","sha":"a7f0c30cf67a1f80a41e56011db4a123b066094f","kind":"tag","published_at":"2024-10-08T11:39:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.4-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.4-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.4-beta.1/manifests"},{"name":"v0.3.3","sha":"b2e5a06b4c3dd2db52ebd70c7d1f104fadbc1ce6","kind":"tag","published_at":"2024-10-07T16:36:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3/manifests"},{"name":"v0.3.3-beta.12","sha":"a9e04f25787ab6970b0f36301d2c8cab7febb550","kind":"tag","published_at":"2024-10-07T12:37:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.12/manifests"},{"name":"v0.3.3-beta.11","sha":"266a46fdab79ffa3375009d771819a4fbd756207","kind":"tag","published_at":"2024-10-07T10:03:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.11/manifests"},{"name":"v0.3.3-beta.10","sha":"2ec09afeb5cf166da7c8f89d0598ed4c3113d54b","kind":"tag","published_at":"2024-10-07T09:59:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.10/manifests"},{"name":"v0.3.3-beta.9","sha":"00d145c15f12cc5a2209e7ecdc7812019933ab73","kind":"tag","published_at":"2024-10-06T11:23:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.9/manifests"},{"name":"v0.3.3-beta.8","sha":"41d81565f5eeefbca85e356bc793639d4d4c5381","kind":"tag","published_at":"2024-10-06T05:24:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.8/manifests"},{"name":"v0.3.3-beta.7","sha":"d2fcfdb94ca9034789d4eb9dd011b3b451aa4f0d","kind":"tag","published_at":"2024-10-05T20:39:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.7/manifests"},{"name":"v0.3.3-beta.6","sha":"795192360bb723598165ffd99e4df393a9e9c032","kind":"tag","published_at":"2024-10-05T20:33:11.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.6/manifests"},{"name":"v0.3.3-beta.5","sha":"e79cb72b591eaf9fe90548064c9ed1040f136156","kind":"tag","published_at":"2024-10-05T18:31:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.5/manifests"},{"name":"v0.3.3-beta.4","sha":"c047699f47633c28983e55addc971630be952f34","kind":"tag","published_at":"2024-10-05T18:28:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.4/manifests"},{"name":"v0.3.3-beta.3","sha":"aff4096f3e603e6e90ae46637d68d673b1b0b19e","kind":"tag","published_at":"2024-10-05T17:40:33.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.3/manifests"},{"name":"v0.3.3-beta.2","sha":"5c9519c4f07129d6d401eaab612e70954a64328c","kind":"tag","published_at":"2024-10-05T14:24:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.2/manifests"},{"name":"v0.3.3-beta.1","sha":"e3feda5e3e405946d003e1d275301a2d6d5917af","kind":"tag","published_at":"2024-10-05T13:28:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.3-beta.1/manifests"},{"name":"v0.3.2","sha":"50448399dc2652c203fc137271563560bbf06731","kind":"tag","published_at":"2024-10-05T08:29:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"30395a1369b1262486c05106a1f9b2acde19b5a5","kind":"tag","published_at":"2024-10-05T04:52:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"7b9dd9741fdf9b78173a7f348f5c7a04ebb5a02c","kind":"tag","published_at":"2024-10-04T20:12:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.3.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.3.0/manifests"},{"name":"v0.2.11","sha":"cc203fb7adffc134c9c139a54120ea0a34ba9354","kind":"tag","published_at":"2024-10-04T17:50:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.11/manifests"},{"name":"v0.2.10","sha":"83b5f764bf68a36b53f8498c983000bf73308bce","kind":"tag","published_at":"2024-10-04T13:39:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.10/manifests"},{"name":"v0.2.9","sha":"099ab526fd0ab6710b5626e2e9fbc0e65b0a3370","kind":"tag","published_at":"2024-10-04T13:31:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9/manifests"},{"name":"v0.2.9-beta.10","sha":"63e3630b3a1e298aa5613bf9625df070a6a47881","kind":"tag","published_at":"2024-10-04T13:04:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.10/manifests"},{"name":"v0.2.9-beta.9","sha":"2e45c5b590fa167542df1e60ddd551d50f2c6057","kind":"tag","published_at":"2024-10-04T10:33:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.9/manifests"},{"name":"v0.2.9-beta.8","sha":"c48b46c241da18aca8f28322854d791406618de8","kind":"tag","published_at":"2024-10-04T08:09:17.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.8/manifests"},{"name":"v0.2.9-beta.7","sha":"50737cf4e15aaa628dc5e878491f2b5999162c6a","kind":"tag","published_at":"2024-10-04T05:42:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.7/manifests"},{"name":"v0.2.9-beta.6","sha":"ee20d55a5e2079f01248eed9ad9245c3bb29d344","kind":"tag","published_at":"2024-10-03T14:17:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.6/manifests"},{"name":"v0.2.9-beta.5","sha":"bdb2205015a4754062f01073c8e4c9cf4e1cee55","kind":"tag","published_at":"2024-10-03T14:03:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.5/manifests"},{"name":"v0.2.9-beta.4","sha":"5ce60246d701b54df6b009fc67295c4479843018","kind":"tag","published_at":"2024-10-03T13:36:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.4/manifests"},{"name":"v0.2.9-beta.3","sha":"d26561f1bdbba0f48f27a1efaaa95d36098b267a","kind":"tag","published_at":"2024-10-03T12:26:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.3/manifests"},{"name":"v0.2.9-beta.2","sha":"362993cf420423cc4ae09d04d158b8b181d97caf","kind":"tag","published_at":"2024-10-03T07:25:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.2/manifests"},{"name":"v0.2.9-beta.1","sha":"bba8af6a5508ef553446152ccbbfbbe15e3409a2","kind":"tag","published_at":"2024-10-02T21:17:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.9-beta.1/manifests"},{"name":"v0.2.8","sha":"66c060d4e2b574b86026dfcce581d86f1880ec7d","kind":"tag","published_at":"2024-10-02T20:06:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8/manifests"},{"name":"v0.2.8-beta.13","sha":"d80fd6d0016aa25d5309f6d375f450b914dd8131","kind":"tag","published_at":"2024-10-02T19:47:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.13/manifests"},{"name":"v0.2.8-beta.12","sha":"07ba7d315a9691818fa1519c88a83854204983b6","kind":"tag","published_at":"2024-10-02T18:07:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.12/manifests"},{"name":"v0.2.8-beta.11","sha":"afce79f3eb91477c9239de2c1578a546c7fd5b43","kind":"tag","published_at":"2024-10-02T17:49:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.11/manifests"},{"name":"v0.2.8-beta.10","sha":"04e50cab2b90ce52a2ec03117f7149eea9fa8339","kind":"tag","published_at":"2024-10-02T17:26:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.10/manifests"},{"name":"v0.2.8-beta.9","sha":"80e7c5fcfc157ee184062488eda16329112c0d74","kind":"tag","published_at":"2024-10-02T17:05:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.9/manifests"},{"name":"v0.2.8-beta.8","sha":"880740d99b2f9d2248935132a0488d5bd5ba54d5","kind":"tag","published_at":"2024-10-02T16:49:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.8/manifests"},{"name":"v0.2.8-beta.7","sha":"919574e5a427015aa064aa8b1894424bbe6d092b","kind":"tag","published_at":"2024-10-02T10:28:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.7/manifests"},{"name":"v0.2.8-beta.6","sha":"7ff80f9c6d4ffd17454b6f1ca5c9b3cb5d7b81f4","kind":"tag","published_at":"2024-10-02T10:16:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.6/manifests"},{"name":"v0.2.8-beta.5","sha":"6946d3133d2a653de64cf27a60ce1fc341ca4f7e","kind":"tag","published_at":"2024-10-02T09:56:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.5/manifests"},{"name":"v0.2.8-beta.4","sha":"6fd722d5fe84f569e3d8b2428a703c405a06e44d","kind":"tag","published_at":"2024-10-02T09:55:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.4/manifests"},{"name":"v0.2.8-beta.3","sha":"4eca3534815f2c3add77272324cb9c5a20639216","kind":"tag","published_at":"2024-10-02T09:39:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.3/manifests"},{"name":"v0.2.8-beta.2","sha":"8caf3e6bd0ef404331a7c628987f8656908d4ea2","kind":"tag","published_at":"2024-10-02T09:12:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.2/manifests"},{"name":"v0.2.8-beta.1","sha":"51b142240eed8128d85a1d209406dec10d374499","kind":"tag","published_at":"2024-10-01T15:00:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.8-beta.1/manifests"},{"name":"v0.2.7","sha":"1236992ac09ef26a79b66513db6f7660f53f7518","kind":"tag","published_at":"2024-10-01T14:58:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.7/manifests"},{"name":"v0.2.6","sha":"d965aea39eba69bd0aa96717c51b505b6b38ae19","kind":"tag","published_at":"2024-10-01T14:21:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6/manifests"},{"name":"v0.2.6-beta.10","sha":"62956b0528bd41c4d1a300a032a5c2eff4d98109","kind":"tag","published_at":"2024-10-01T11:40:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.10/manifests"},{"name":"v0.2.6-beta.9","sha":"2762edfeeee17b87955f28e285859463cfbca64f","kind":"tag","published_at":"2024-10-01T09:55:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.9/manifests"},{"name":"v0.2.6-beta.8","sha":"91711d4f074d180cbf158f3f749d17c021512af7","kind":"tag","published_at":"2024-10-01T09:35:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.8/manifests"},{"name":"v0.2.6-beta.7","sha":"3e39ee5130873652e075514fe9b32fe303d89fcf","kind":"tag","published_at":"2024-10-01T08:02:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.7/manifests"},{"name":"v0.2.6-beta.6","sha":"9c404b38b486c6551f6049304ba6e2a682651878","kind":"tag","published_at":"2024-10-01T06:45:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.6/manifests"},{"name":"v0.2.6-beta.5","sha":"4b4b5456005b1dca32d85a701c5b2b278776342e","kind":"tag","published_at":"2024-10-01T06:05:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.5/manifests"},{"name":"v0.2.6-beta.4","sha":"a104ec1b59089baf7553745d3108923fb3f36c47","kind":"tag","published_at":"2024-10-01T05:38:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.4/manifests"},{"name":"v0.2.6-beta.3","sha":"ee796b21eec1b2a45e1c5a717baaa2bbdf0db571","kind":"tag","published_at":"2024-09-30T20:00:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.3/manifests"},{"name":"v0.2.6-beta.2","sha":"7cb0db702d76323348f10a54309a18be9eab7578","kind":"tag","published_at":"2024-09-30T18:07:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.2/manifests"},{"name":"v0.2.6-beta.1","sha":"a861794b7c0e1741b33ecf76b1c082231062d5b0","kind":"tag","published_at":"2024-09-30T17:40:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.6-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.6-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.6-beta.1/manifests"},{"name":"v0.2.5","sha":"23abe6a4d4d91c1a7f98317a7729a4db4360b576","kind":"tag","published_at":"2024-09-30T17:09:52.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5/manifests"},{"name":"v0.2.5-beta.5","sha":"c7dd6158163df697e99786dc2c74ffcefcb4a59b","kind":"tag","published_at":"2024-09-30T16:14:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.5/manifests"},{"name":"v0.2.5-beta.4","sha":"bd3c3170570373e5c315952b8e137a2410686c78","kind":"tag","published_at":"2024-09-30T15:41:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.4/manifests"},{"name":"v0.2.5-beta.3","sha":"54930515337ef1ab5810c9dd3766c82f8f3d6a15","kind":"tag","published_at":"2024-09-30T15:37:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.3/manifests"},{"name":"v0.2.5-beta.2","sha":"fce42e46528934c1479c50dff16fb354a4399f49","kind":"tag","published_at":"2024-09-30T15:27:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.2/manifests"},{"name":"v0.2.5-beta.1","sha":"8455a0a2fdf73b05d79e543532d29073d808b734","kind":"tag","published_at":"2024-09-30T12:02:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.5-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.5-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.5-beta.1/manifests"},{"name":"v0.2.4","sha":"ea249906853f2843728e0df8d5a9c6c1d1f7202f","kind":"tag","published_at":"2024-09-30T11:52:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"968111a5c24924b840c498431572d83ef66b38cd","kind":"tag","published_at":"2024-09-30T11:32:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3/manifests"},{"name":"v0.2.3-beta.14","sha":"6d76a4e2a36cb8e1387b678df0af1f4f2487bf60","kind":"tag","published_at":"2024-09-30T11:17:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.14/manifests"},{"name":"v0.2.3-beta.13","sha":"8444d822515da60461acf888bf5061557cfdfd39","kind":"tag","published_at":"2024-09-30T11:07:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.13/manifests"},{"name":"v0.2.3-beta.12","sha":"bf255c2ed63d7d834720b1a9b0dcaad384d2ada3","kind":"tag","published_at":"2024-09-30T10:48:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.12/manifests"},{"name":"v0.2.3-beta.11","sha":"fb649b7e67a45f3a0e106cd2feb3c79c777875cc","kind":"tag","published_at":"2024-09-30T09:50:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.11/manifests"},{"name":"v0.2.3-beta.10","sha":"13df28ab8c2bf148748a003613eea032d342b64d","kind":"tag","published_at":"2024-09-30T09:47:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.10/manifests"},{"name":"v0.2.3-beta.9","sha":"baf530595621bc2a7d30a74f4c97f575d1934c2f","kind":"tag","published_at":"2024-09-30T09:46:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.9/manifests"},{"name":"v0.2.3-beta.8","sha":"aa829388ffe202a3d4a748ed30778cf6c92ccb77","kind":"tag","published_at":"2024-09-30T09:13:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.8/manifests"},{"name":"v0.2.3-beta.7","sha":"ad70743adc70a35ca9e5826f8456ca6a19845645","kind":"tag","published_at":"2024-09-30T08:15:14.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.7/manifests"},{"name":"v0.2.3-beta.6","sha":"f9aabbdabd133093192c2feeb324575bd4a40467","kind":"tag","published_at":"2024-09-30T08:12:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.6/manifests"},{"name":"v0.2.3-beta.5","sha":"bade0ab3aaa98fc4db4dcb853dccd280db9ae311","kind":"tag","published_at":"2024-09-30T07:49:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.5/manifests"},{"name":"v0.2.3-beta.4","sha":"7fca025bc061163419f40ec5ba50126f9e40c1dd","kind":"tag","published_at":"2024-09-30T07:32:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.4/manifests"},{"name":"v0.2.3-beta.3","sha":"a04d4cc3b47f6e695fc98ddf800d6d8998b0b30a","kind":"tag","published_at":"2024-09-30T07:29:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.3/manifests"},{"name":"v0.2.3-beta.2","sha":"60dbe61099b3a5a49ed8753a4c373aa7027ed415","kind":"tag","published_at":"2024-09-30T07:25:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.2/manifests"},{"name":"v0.2.3-beta.1","sha":"502b8740a87e9d8065bc66d298ad6f8c7f4abb6b","kind":"tag","published_at":"2024-09-30T06:52:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.3-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.3-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.3-beta.1/manifests"},{"name":"v0.2.2","sha":"9d5591828ef0451d7ee7a999b257bdae569c0fd6","kind":"tag","published_at":"2024-09-30T00:24:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"ee7d45aebb0911d340559f14a72a3e0902b63bf7","kind":"tag","published_at":"2024-09-30T00:22:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.1/manifests"},{"name":"v0.2.1-beta.1","sha":"7d5523f44440a6f3e5b1de4d7b795f6485f9d3ee","kind":"tag","published_at":"2024-09-29T21:56:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.1-beta.1/manifests"},{"name":"v0.2.0","sha":"724ccd994b89f0f54bb45d2d724540fc9971988c","kind":"tag","published_at":"2024-09-29T17:03:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.2.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.2.0/manifests"},{"name":"v0.1.1-beta.6","sha":"47312f66f791a5ded949649729aa6902bba5aecb","kind":"tag","published_at":"2024-09-29T08:09:29.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.6/manifests"},{"name":"v0.1.1-beta.5","sha":"ac5ae6398760d51d5de5601f1d7711c703f8e52d","kind":"tag","published_at":"2024-09-29T06:38:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.5/manifests"},{"name":"v0.1.1-beta.4","sha":"949c4d93f6cac19668f6e9cc45a6546427c51396","kind":"tag","published_at":"2024-09-28T19:39:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.4/manifests"},{"name":"v0.1.1-beta.3","sha":"b1957d41ac9e3c1c6420835c7ee4b6cb3e48df46","kind":"tag","published_at":"2024-09-28T19:39:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.3/manifests"},{"name":"v0.1.1-beta.2","sha":"8e3ab751adfb854d875043ac1ffa99f505a6093a","kind":"tag","published_at":"2024-09-28T05:22:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.2/manifests"},{"name":"v0.1.1-beta.1","sha":"a3bc61a89740133f511bbb32ad978f241b9793e4","kind":"tag","published_at":"2024-09-27T23:55:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.1-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.1-beta.1/manifests"},{"name":"v0.1.0","sha":"dde702808bda3c736246135e3c734f6c574b214e","kind":"tag","published_at":"2024-09-27T21:46:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.1.0","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.1.0/manifests"},{"name":"v0.0.10-beta.27","sha":"845d5ec8ca1811890dc88397ad3e0fa0bc118f2a","kind":"tag","published_at":"2024-09-27T13:58:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.27","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.27/manifests"},{"name":"v0.0.10-beta.26","sha":"eada4cb1af72d70577c24ba290ab6df6fd36e8b5","kind":"tag","published_at":"2024-09-26T11:16:06.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.26","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.26/manifests"},{"name":"v0.0.10-beta.25","sha":"0db2c5324af59a3c8b84201230321041cfb6de9a","kind":"tag","published_at":"2024-09-26T10:38:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.25","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.25/manifests"},{"name":"v0.0.10-beta.24","sha":"cdc9a28c61316035751faeb15d7485296e77c0a8","kind":"tag","published_at":"2024-09-26T10:30:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.24","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.24/manifests"},{"name":"v0.0.10-beta.23","sha":"ab050a87c9db23286acec3f8a9c1fdbf6a4f8db5","kind":"tag","published_at":"2024-09-26T10:16:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.23","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.23/manifests"},{"name":"v0.0.10-beta.22","sha":"602a4f3bea1ca165f710589e108e6de580fd5321","kind":"tag","published_at":"2024-09-26T10:02:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.22","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.22/manifests"},{"name":"v0.0.10-beta.21","sha":"9be280ddcea8368690f68089805e653c2cf93b18","kind":"tag","published_at":"2024-09-26T09:44:51.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.21/manifests"},{"name":"v0.0.10-beta.20","sha":"7d796466078783074b12d5e4754390f1075880db","kind":"tag","published_at":"2024-09-26T08:07:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.20/manifests"},{"name":"v0.0.10-beta.19","sha":"ea01a693b942da0185d7e676518808b906c8fa6f","kind":"tag","published_at":"2024-09-26T04:57:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.19/manifests"},{"name":"v0.0.10-beta.18","sha":"22b3a18856425f60cda4dd6e6fbecba756eadd16","kind":"tag","published_at":"2024-09-25T11:23:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.18/manifests"},{"name":"v0.0.10-beta.17","sha":"ac2501d28ec9a9261cd923f6f0c7101712689c3a","kind":"tag","published_at":"2024-09-24T06:24:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.17/manifests"},{"name":"v0.0.10-beta.16","sha":"e7971f59bd292e6753c743e9683c1b129c910755","kind":"tag","published_at":"2024-09-24T05:54:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.16/manifests"},{"name":"v0.0.10-beta.15","sha":"e330c9f702e566b135aa2e0b1e601f542e63ea62","kind":"tag","published_at":"2024-09-24T01:09:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.15/manifests"},{"name":"v0.0.10-beta.14","sha":"9098a20696e83d1041c9f3f26943674c5adb5eae","kind":"tag","published_at":"2024-09-23T23:43:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.14/manifests"},{"name":"v0.0.10-beta.13","sha":"3acb0d6d2bdb5673b6d38c1725d77b6fa7f49920","kind":"tag","published_at":"2024-09-23T23:42:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.13/manifests"},{"name":"v0.0.10-beta.12","sha":"516458aeddbc65e02ddd7bf2bf44f46d1c177a6b","kind":"tag","published_at":"2024-09-23T19:34:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.12/manifests"},{"name":"v0.0.10-beta.11","sha":"950b836f992af345d33619970a52fc9f5640600d","kind":"tag","published_at":"2024-09-23T19:31:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.11/manifests"},{"name":"v0.0.10-beta.10","sha":"1fc5695b0b45463f529c2c9578ca059ccdddcd14","kind":"tag","published_at":"2024-09-23T19:12:31.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.10/manifests"},{"name":"v0.0.10-beta.9","sha":"6c433c6baef9956922d46c66f20fbe858ddef81d","kind":"tag","published_at":"2024-09-23T18:55:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.9/manifests"},{"name":"v0.0.10-beta.8","sha":"1462e798b1e3386142f39a7a48db8b9e5016131b","kind":"tag","published_at":"2024-09-23T18:48:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.8/manifests"},{"name":"v0.0.10-beta.7","sha":"1057c89ef6c30c550bfafc610f47a6beefcf7088","kind":"tag","published_at":"2024-09-23T18:40:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.7/manifests"},{"name":"v0.0.10-beta.6","sha":"f4460ac986b9ccdaab7c10752ba5aa25395d7001","kind":"tag","published_at":"2024-09-23T18:30:36.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.6/manifests"},{"name":"v0.0.10-beta.5","sha":"2830e219ba45a0bcdafc18adc32b763764247b6f","kind":"tag","published_at":"2024-09-23T12:54:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.5/manifests"},{"name":"v0.0.10-beta.4","sha":"ba3fcdb93d8dfbe7318c9cb452df52f9f74a1345","kind":"tag","published_at":"2024-09-23T12:29:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.4/manifests"},{"name":"v0.0.10-beta.3","sha":"af59d52ec8c2b3c217700d00b9fb9392504ec9e9","kind":"tag","published_at":"2024-09-23T11:51:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.3/manifests"},{"name":"v0.0.10-beta.2","sha":"829af5710ed780fa2e15ff903c1439501b0288a7","kind":"tag","published_at":"2024-09-22T08:39:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.2/manifests"},{"name":"v0.0.10-beta.1","sha":"89b0ee7c0159d9ce1ec082a288fefeccb5f4a2a5","kind":"tag","published_at":"2024-09-21T22:59:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.10-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.10-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.10-beta.1/manifests"},{"name":"v0.0.9","sha":"4af8f25bae4e54e0cf1ab991974f31ca418487f3","kind":"tag","published_at":"2024-09-21T22:53:54.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9/manifests"},{"name":"v0.0.9-beta.38","sha":"1452de923f85bb5b7fa33635cd573e66d3d722bd","kind":"tag","published_at":"2024-09-16T09:50:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.38","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.38","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.38","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.38/manifests"},{"name":"v0.0.9-beta.37","sha":"ec2b52b9630d0f190fbc29b2cfe0a909e179d513","kind":"tag","published_at":"2024-09-16T09:35:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.37","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.37","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.37","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.37/manifests"},{"name":"v0.0.9-beta.36","sha":"4cf2095b325bde56597c479af89b9dfb0147cb90","kind":"tag","published_at":"2024-09-16T09:22:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.36","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.36","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.36","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.36/manifests"},{"name":"v0.0.9-beta.35","sha":"63dd132707ff91aa008b963184283235936babd0","kind":"tag","published_at":"2024-09-16T08:24:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.35","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.35","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.35/manifests"},{"name":"v0.0.9-beta.34","sha":"92294e4636e8b58838c055f4eaf324a84d66f2c8","kind":"tag","published_at":"2024-09-16T08:03:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.34","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.34","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.34/manifests"},{"name":"v0.0.9-beta.33","sha":"508981daa7ee117efddbe919b5243e29192fc663","kind":"tag","published_at":"2024-09-16T07:56:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.33","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.33","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.33/manifests"},{"name":"v0.0.9-beta.32","sha":"df5ec2a2d69c4231f35f038eefb371d77199c8d1","kind":"tag","published_at":"2024-09-15T22:27:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.32","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.32","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.32","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.32/manifests"},{"name":"v0.0.9-beta.31","sha":"51d80a97c7691721d4db8cd70953cdf6c1c8937a","kind":"tag","published_at":"2024-09-15T22:24:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.31","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.31/manifests"},{"name":"v0.0.9-beta.30","sha":"48519d772adecac5836992f695662aa4434ea8e1","kind":"tag","published_at":"2024-09-15T22:19:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.30","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.30/manifests"},{"name":"v0.0.9-beta.29","sha":"b0d30847709f5cbca1fc228bd59aa2ff15664a1a","kind":"tag","published_at":"2024-09-14T20:57:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.29","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.29/manifests"},{"name":"v0.0.9-beta.28","sha":"ebf25091b52d82e1ff18b1f772e77c915636dd29","kind":"tag","published_at":"2024-09-14T18:50:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.28","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.28/manifests"},{"name":"v0.0.9-beta.27","sha":"e47d8553f51f3d146b55486b3d2412dc8b70e4ec","kind":"tag","published_at":"2024-09-14T18:12:48.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.27","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.27/manifests"},{"name":"v0.0.9-beta.26","sha":"ef52912fb74868032cd7b8b9e845f856c323eb07","kind":"tag","published_at":"2024-09-14T18:03:55.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.26","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.26/manifests"},{"name":"v0.0.9-beta.25","sha":"914debb78e8a204c0460667192101e00cf64dd78","kind":"tag","published_at":"2024-09-14T17:15:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.25","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.25/manifests"},{"name":"v0.0.9-beta.24","sha":"ab41a064a27d42716a1c1449c74e382ad579277a","kind":"tag","published_at":"2024-09-14T15:14:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.24","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.24/manifests"},{"name":"v0.0.9-beta.23","sha":"4dcc3835c91f4487ddd0eafb77aafbaf098c9cce","kind":"tag","published_at":"2024-09-13T23:34:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.23","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.23/manifests"},{"name":"v0.0.9-beta.22","sha":"fbd779da371d2cf0ea6e90293ddda62675823c05","kind":"tag","published_at":"2024-09-13T23:22:59.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.22","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.22/manifests"},{"name":"v0.0.9-beta.21","sha":"dc217a1091c19314063af2d00a91b38cf0af7f95","kind":"tag","published_at":"2024-09-13T23:16:04.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.21/manifests"},{"name":"v0.0.9-beta.20","sha":"9ab9941c6c6bf7a91fd57422a7d46a1f26929f4c","kind":"tag","published_at":"2024-09-13T23:10:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.20/manifests"},{"name":"v0.0.9-beta.19","sha":"5c58a01d312deabfb1a87ff3352917eead69dbbb","kind":"tag","published_at":"2024-09-13T22:23:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.19/manifests"},{"name":"v0.0.9-beta.18","sha":"7874e3816b178bdc63ef3a1c1f048b868c59716b","kind":"tag","published_at":"2024-09-13T21:18:39.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.18/manifests"},{"name":"v0.0.9-beta.17","sha":"87ace4cae06145129ab89785b25690770e7cac65","kind":"tag","published_at":"2024-09-13T21:14:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.17/manifests"},{"name":"v0.0.9-beta.16","sha":"5622edce79c6de0a21b3166ad1006aaa607fe686","kind":"tag","published_at":"2024-09-13T20:36:18.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.16/manifests"},{"name":"v0.0.9-beta.15","sha":"8143f2cfa116171a9d14aafc7b09c0aa2c2fdc64","kind":"tag","published_at":"2024-09-13T13:47:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.15/manifests"},{"name":"v0.0.9-beta.14","sha":"d523f99ae00fe317aa3b70587a407d8fdec6679e","kind":"tag","published_at":"2024-09-13T13:03:57.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.14/manifests"},{"name":"v0.0.9-beta.13","sha":"ff8678a68ccd3038a25c5400e7e73b0942b49e54","kind":"tag","published_at":"2024-09-13T12:59:24.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.13/manifests"},{"name":"v0.0.9-beta.12","sha":"5c0ef84512b6125fb131b2ff098ad9c4a83cb718","kind":"tag","published_at":"2024-09-13T12:34:45.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.12/manifests"},{"name":"v0.0.9-beta.11","sha":"f4c5d034daae9deb413b65e8ace55ad3a3b19e6e","kind":"tag","published_at":"2024-09-13T07:47:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.11/manifests"},{"name":"v0.0.9-beta.10","sha":"5a8ec6018a131ef3dcb80765d6e1d33b614f6a84","kind":"tag","published_at":"2024-09-12T19:10:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.10/manifests"},{"name":"v0.0.9-beta.9","sha":"da34235014b30ff3cc6a59fe850e97610518855e","kind":"tag","published_at":"2024-09-12T19:03:25.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.9/manifests"},{"name":"v0.0.9-beta.8","sha":"fde4b98572a4667b8e77eb94ac88808cdbddb5e0","kind":"tag","published_at":"2024-09-12T18:29:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.8/manifests"},{"name":"v0.0.9-beta.7","sha":"b60630d190369ce15a67238f13d9ed893c81809d","kind":"tag","published_at":"2024-09-12T13:39:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.7/manifests"},{"name":"v0.0.9-beta.6","sha":"b0e50dea4269322959109d0828691812d0d23e78","kind":"tag","published_at":"2024-09-12T12:33:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.6/manifests"},{"name":"v0.0.9-beta.5","sha":"42a70ed1ba76df08fe20ed54f5d14192c31fd854","kind":"tag","published_at":"2024-09-12T11:31:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.5/manifests"},{"name":"v0.0.9-beta.4","sha":"910ce4066ef91526ef43e381fa0c80dc2142f404","kind":"tag","published_at":"2024-09-12T09:28:30.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.4/manifests"},{"name":"v0.0.9-beta.3","sha":"98bd7309eb3cacdd1dcba615b7bfe97ebca718ee","kind":"tag","published_at":"2024-09-12T07:23:47.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.3/manifests"},{"name":"v0.0.9-beta.2","sha":"959810d48bb3f2b39365078a8582ebabe5386597","kind":"tag","published_at":"2024-09-12T07:21:26.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.2/manifests"},{"name":"v0.0.9-beta.1","sha":"efd34b0c96dd5d55ed023e228033bd3a6cc189b7","kind":"tag","published_at":"2024-09-12T07:16:08.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.9-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.9-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.9-beta.1/manifests"},{"name":"v0.0.8","sha":"08af13d16af8aa25d4fc2c7a9df5f16d897fcbae","kind":"tag","published_at":"2024-09-11T09:01:58.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8/manifests"},{"name":"v0.0.8-beta.29","sha":"a71934ebbe3c05da658225de1f5683b5b98de25a","kind":"tag","published_at":"2024-09-10T07:55:53.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.29","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.29/manifests"},{"name":"v0.0.8-beta.28","sha":"8f77a07b8beb00bdeebc6ee98e7c1e4c1434e7e1","kind":"tag","published_at":"2024-09-10T07:16:10.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.28","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.28/manifests"},{"name":"v0.0.8-beta.27","sha":"888180c9ea3c094a20ae5d75d8b3e71442044de5","kind":"tag","published_at":"2024-09-10T07:15:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.27","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.27/manifests"},{"name":"v0.0.8-beta.26","sha":"894d98c1a4a2060ea03eea7beedc637a33e9cccb","kind":"tag","published_at":"2024-09-09T19:32:41.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.26","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.26/manifests"},{"name":"v0.0.8-beta.25","sha":"9cc621fc1c9be5e98188dffe67f4ba6a34bf543e","kind":"tag","published_at":"2024-09-08T07:16:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.25","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.25/manifests"},{"name":"v0.0.8-beta.24","sha":"3027dc4ea8b4a32155a16a71517bdfeedb45f913","kind":"tag","published_at":"2024-09-07T22:33:16.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.24","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.24/manifests"},{"name":"v0.0.8-beta.23","sha":"eef55b87239e29e64c75f6efa032d2f10c5d20f3","kind":"tag","published_at":"2024-09-07T21:16:49.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.23","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.23/manifests"},{"name":"v0.0.8-beta.22","sha":"4a2f718d67884a5e03b1b5e5da7158fe89636c35","kind":"tag","published_at":"2024-09-07T16:50:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.22","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.22/manifests"},{"name":"v0.0.8-beta.21","sha":"ece399277fb4cf7a536347e5ded281c5eb8a20e5","kind":"tag","published_at":"2024-09-07T16:13:37.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.21","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.21/manifests"},{"name":"v0.0.8-beta.20","sha":"7fb602a801af6952e6d854231c0435e3d807c83a","kind":"tag","published_at":"2024-09-07T09:33:40.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.20","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.20/manifests"},{"name":"v0.0.8-beta.19","sha":"eae55cc08331449dd7c3e9d8e1014ebc706e0a20","kind":"tag","published_at":"2024-09-07T09:32:00.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.19","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.19/manifests"},{"name":"v0.0.8-beta.18","sha":"7c70ea663ff91639120c99b42c61fdaa151ad035","kind":"tag","published_at":"2024-09-06T20:53:03.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.18","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.18/manifests"},{"name":"v0.0.8-beta.17","sha":"2946139509f74f11d2a6370a19c631079e359e52","kind":"tag","published_at":"2024-09-06T20:43:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.17","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.17/manifests"},{"name":"v0.0.8-beta.16","sha":"408ee7134e9f38cf277dd6d3bdd6817e4fdb17d4","kind":"tag","published_at":"2024-09-06T18:40:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.16","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.16/manifests"},{"name":"v0.0.8-beta.15","sha":"405c13ac26f65a5a3c56a2958cb0e40ca25683a4","kind":"tag","published_at":"2024-09-06T18:26:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.15","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.15/manifests"},{"name":"v0.0.8-beta.14","sha":"761d8b54a063a9b710001daed18bb9d3438cf992","kind":"tag","published_at":"2024-09-06T09:54:38.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.14","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.14/manifests"},{"name":"v0.0.8-beta.13","sha":"2b4a47e042e0711d0b5417bb6c8b4a32d5f538ef","kind":"tag","published_at":"2024-09-05T22:02:32.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.13","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.13/manifests"},{"name":"v0.0.8-beta.12","sha":"87788ad5a0bdb80c9e9870852da927c1bacebd13","kind":"tag","published_at":"2024-09-05T21:29:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.12","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.12/manifests"},{"name":"v0.0.8-beta.11","sha":"b56e5d7a6b19e605dcbc63d4373b893b71d6d67b","kind":"tag","published_at":"2024-09-05T21:28:07.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.11","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.11/manifests"},{"name":"v0.0.8-beta.10","sha":"64f2179edc10916e86442bf895064a110a673e6c","kind":"tag","published_at":"2024-09-05T20:54:56.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.10","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.10/manifests"},{"name":"v0.0.8-beta.9","sha":"753c7ba20afe4018a19e1839a2514924138b8627","kind":"tag","published_at":"2024-09-05T19:38:34.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.9","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.9/manifests"},{"name":"v0.0.8-beta.8","sha":"19c9587e157e048a4474017485199316437094c3","kind":"tag","published_at":"2024-09-04T23:06:35.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.8/manifests"},{"name":"v0.0.8-beta.7","sha":"1a049b245a209e8858ccb76b3cb6a5a0c7f7153b","kind":"tag","published_at":"2024-09-04T10:30:44.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.7/manifests"},{"name":"v0.0.8-beta.6","sha":"5fe5155c275b92ae4b1260801114fac6e5d710ef","kind":"tag","published_at":"2024-09-04T09:56:20.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.6/manifests"},{"name":"v0.0.8-beta.5","sha":"286326bebc017a069672a1945c00d7357d4dde4a","kind":"tag","published_at":"2024-09-03T23:55:27.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.5/manifests"},{"name":"v0.0.8-beta.4","sha":"f95f9c62fe49841b44f88e0579cdf152702b1af5","kind":"tag","published_at":"2024-09-03T07:11:05.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.4/manifests"},{"name":"v0.0.8-beta.3","sha":"fdecd38b3d9b3dee65dbb2e755a96d683abda507","kind":"tag","published_at":"2024-09-03T07:10:21.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.3/manifests"},{"name":"v0.0.8-beta.2","sha":"4e5117f4989183ab3cff92a4ec9cb9d3f9551534","kind":"tag","published_at":"2024-09-03T07:01:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.2/manifests"},{"name":"v0.0.8-beta.1","sha":"22797ea757fe6e8e39e7c7b9789d0e0210ea1bdc","kind":"tag","published_at":"2024-09-03T06:58:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.8-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.8-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.8-beta.1/manifests"},{"name":"v0.0.7","sha":"0c8534b9ea3e325139d00a8dc58c8197a307074f","kind":"tag","published_at":"2024-09-03T06:52:01.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.7/manifests"},{"name":"v0.0.6","sha":"d04a8d3ed685c2bf0dac967bce225d75a3522408","kind":"tag","published_at":"2024-09-03T06:43:13.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.6/manifests"},{"name":"v0.0.5","sha":"8ffa80c938a1cd3c759614bad2e1b42579191ef2","kind":"tag","published_at":"2024-09-02T21:40:46.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"d82a0127a244b7aa6e1ca26def6708cb832b1403","kind":"tag","published_at":"2024-09-02T21:06:19.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"fe71d6613634e6fa7d614bb29efe168417d019a7","kind":"tag","published_at":"2024-09-02T21:05:23.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"345ac495003d510607aba35eb99c47cf978523ed","kind":"tag","published_at":"2024-09-02T21:02:42.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2/manifests"},{"name":"v0.0.2-beta.8","sha":"c5b4fd242fd942555d748d2a95b40a4f762d59c4","kind":"tag","published_at":"2024-05-21T09:19:50.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.8","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.8/manifests"},{"name":"v0.0.2-beta.7","sha":"fe612361c1cefe4eac9d0e1ad6739f55ba782279","kind":"tag","published_at":"2024-05-21T09:08:09.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.7","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.7/manifests"},{"name":"v0.0.2-beta.6","sha":"5a3da20154aa49d6ef36d2f5b0da341b62231d9b","kind":"tag","published_at":"2024-05-21T00:46:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.6","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.6/manifests"},{"name":"v0.0.2-beta.5","sha":"d28282429563befe7f706e5bc55675d7f32bf49f","kind":"tag","published_at":"2024-05-21T00:43:22.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.5","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.5/manifests"},{"name":"v0.0.2-beta.4","sha":"41b1f855595bf567520ab3d84f54e60aa7172226","kind":"tag","published_at":"2024-05-21T00:39:43.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.4","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.4/manifests"},{"name":"v0.0.2-beta.3","sha":"8d5325fcdb682d8e084adc7bb7d5b0400481742b","kind":"tag","published_at":"2024-05-21T00:27:12.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.3","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.3/manifests"},{"name":"v0.0.2-beta.2","sha":"0d4ce489c8b29ad9b7cccdcfaf86b6bbc8a4b66c","kind":"tag","published_at":"2024-05-21T00:20:28.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.2","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.2/manifests"},{"name":"v0.0.2-beta.1","sha":"6b6ce040bfa53e2e59c8db6950e8c9b5dceeb3f4","kind":"tag","published_at":"2024-05-19T21:42:02.000Z","download_url":"https://codeload.github.com/better-auth/better-auth/tar.gz/v0.0.2-beta.1","html_url":"https://github.com/better-auth/better-auth/releases/tag/v0.0.2-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/better-auth%2Fbetter-auth/tags/v0.0.2-beta.1/manifests"}]},"repo_metadata_updated_at":"2025-06-03T19:14:34.682Z","dependent_packages_count":0,"downloads":422738,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":30.45287702408765,"dependent_packages_count":43.593776788000284,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":37.02332690604396},"purl":"pkg:npm/better-auth","advisories":[{"uuid":"GSA_kwCzR0hTQS05eDR2LXhmcTUtbTh4Nc4ABEKr","url":"https://github.com/advisories/GHSA-9x4v-xfq5-m8x5","title":"Better Auth URL parameter HTML Injection (Reflected Cross-Site scripting)","description":"### Summary\nThe better-auth `/api/auth/error` page was vulnerable to HTML injection, resulting in a reflected cross-site scripting (XSS) vulnerability.\n\n### Details\nThe value of `error` URL parameter was reflected as HTML on the error page: https://github.com/better-auth/better-auth/blob/05ada0b79dbcac93cc04ceb79b23ca598d07830c/packages/better-auth/src/api/routes/error.ts#L81\n\n### PoC\n\nhttps://demo.better-auth.com/api/auth/error?error=%3Cscript%3Ealert(1)%3C/script%3E\n\n![image](https://github.com/user-attachments/assets/35b1b95d-3dc9-45fd-89cd-20cd0361bb6c)\n\n### Impact\nAn attacker who exploited this vulnerability by coercing a user to visit a specially-crafted URL could execute arbitrary JavaScript in the context of the user's browser.\n\nBecause better-auth is a dependency of web applications, the impact of such a vulnerability is unknowable; it depends on the functionality of the application/site using better-auth. I have calculated the CVSS score assuming the hypothetical victim is an administrator with elevated permissions and access.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2025-02-05T21:49:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N","references":["https://github.com/better-auth/better-auth/security/advisories/GHSA-9x4v-xfq5-m8x5","https://github.com/better-auth/better-auth/commit/7ae340e2eddad641b7e43d24d37c58a66ce9ddcf","https://github.com/better-auth/better-auth/blob/05ada0b79dbcac93cc04ceb79b23ca598d07830c/packages/better-auth/src/api/routes/error.ts#L81","https://github.com/advisories/GHSA-9x4v-xfq5-m8x5"],"source_kind":"github","identifiers":["GHSA-9x4v-xfq5-m8x5"],"repository_url":"https://github.com/better-auth/better-auth","blast_radius":1.0,"packages":[{"versions":[{"first_patched_version":"1.1.16","vulnerable_version_range":"\u003e= 0.0.2, \u003c 1.1.16"}],"ecosystem":"npm","package_name":"better-auth"}],"created_at":"2025-02-05T22:07:48.989Z","updated_at":"2025-02-05T21:49:41.000Z","epss_percentage":null,"epss_percentile":null},{"uuid":"GSA_kwCzR0hTQS12cDU4LWoyNzUtNzk3eM4ABEvM","url":"https://github.com/advisories/GHSA-vp58-j275-797x","title":"Better Auth allows bypassing the trustedOrigins Protection which leads to ATO","description":"### Summary\nA bypass was found for **wildcard** or **absolute URLs** trustedOrigins configurations and opens the victims website to a **Open Redirect** vulnerability, where it can be used to steal the **reset password token** of a victims account by changing the \"callbackURL\" parameter value to a website owned by the attacker.\n\n### Details\n\n#### Absolute URLs\n\nThe issue here appears in the **middleware**,  [specifically](https://github.com/better-auth/better-auth/blob/ddebd0358d74376ea64541512d0167dd4377f182/packages/better-auth/src/api/middlewares/origin-check.ts#L53). This protection is not sufficiente and it allows attackers to exploit a open redirect vulnerability, by using the payload `/\\/example.com`. We can check this is a valid URL ( or it will be a valid URL because the URL parser fix it for us ), by checking the image bellow:\n\n![image](https://github.com/user-attachments/assets/d192f06d-358d-4612-97d9-cab89ba55b06)\n\n```typescript\n// trustedOrigins = [ \"https://example.com\" ]\nvalidateURL(\"https://attacker.com\", \"callbackURL\") // ❌ APIError, No Redirect\nvalidateURL(\"/\\/attacker.com\", \"callbackURL\")       // ✅ Redirect to http://attacker.com\n```\n\n#### Regex\n\nThe issue here is because the regex is not strong enough `[^/\\\\]*?\\.example\\.com[/\\\\]*?` ( this is the regex it will be created if we have a wildcard as the trustedOrigins config ), but we can bypass by using a payload like:\n\n```text\n// trustedOrigins = [ \"*.example.com\" ]\n  ┌──────────────────┐       ┌────────────────┐       ┌─────────────────┐\n  │ None of [ \"/\\\" ] │ ────▶ │ \".example.com\" │ ────▶ │ One of [ \"/\\\" ] │\n  └──────────────────┘       └────────────────┘       └─────────────────┘\n          demo                  .example.com                    /               ✅ Redirect to https://example.com\n          demo                  .attacker.com                   /               ❌ APIError, no redirect\n   http:attacker.com?           .example.com                    /               ✅ Redirect to http://attacker.com\n````\n\nThis works because **:** and **?** are special chars in a URL, so when the URL parser sees, **http:** it will fix our happily fix our URL to http://attacker.com? and make  `.example.com` as parameter, thus, bypassing this check.\n\n### PoC\nWe can PoC the open redirect by using the `demo.better-auth.com`. \nIf we access the URL bellow, we are redirected to example.com:\n- https://demo.better-auth.com/api/auth/reset-password/x?callbackURL=/\\/example.com\n\n### Impact\nEvery single website using the **better-auth** library, is vulnerable to un-auth open redirect and more importantilly, vulnerable to potential one click account take over vulnerability, as the attacker can send the victim a email to reset their account while changing the \"redirectTo\" parameter [here](https://demo.better-auth.com/forget-password), and when the victim clicks on the link, the reset token is sent to the attackers website, which then a attacker could use that token to reset the password of the victims account.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2025-02-24T20:49:50.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/better-auth/better-auth/security/advisories/GHSA-vp58-j275-797x","https://github.com/better-auth/better-auth/commit/b381cac7aafd6aa53ef78b6ab771ebfa24643c80","https://github.com/better-auth/better-auth/blob/ddebd0358d74376ea64541512d0167dd4377f182/packages/better-auth/src/api/middlewares/origin-check.ts#L53","https://github.com/advisories/GHSA-vp58-j275-797x"],"source_kind":"github","identifiers":["GHSA-vp58-j275-797x"],"repository_url":"https://github.com/better-auth/better-auth","blast_radius":1.0,"packages":[{"versions":[{"first_patched_version":"1.1.21","vulnerable_version_range":"\u003c= 1.1.20"}],"ecosystem":"npm","package_name":"better-auth"}],"created_at":"2025-02-24T21:07:11.703Z","updated_at":"2025-03-03T13:45:00.000Z","epss_percentage":null,"epss_percentile":null},{"uuid":"GSA_kwCzR0hTQS1oanBtLTdtcm0tMjZ3OM4ABEvD","url":"https://github.com/advisories/GHSA-hjpm-7mrm-26w8","title":"Beter Auth has an Open Redirect via Scheme-Less Callback Parameter","description":"### Summary\nThe application is vulnerable to an open redirect due to improper validation of the callbackURL parameter in the email verification endpoint and any other endpoint that accepts callback url. While the server blocks fully qualified URLs (e.g., https://evil.com), it incorrectly allows scheme-less URLs (e.g., //malicious-site.com). This results in the browser interpreting the URL as https://malicious-site.com, leading to unintended redirection.\n\nbypass for : https://github.com/better-auth/better-auth/security/advisories/GHSA-8jhw-6pjj-8723\n\n### Affected Versions\nAll versions prior to 1.1.19\n\n### Details\nThe application’s email verification endpoint (/auth/verify-email) accepts a callbackURL parameter intended to redirect users after successful email verification. While the server correctly blocks fully qualified external URLs (e.g., https://evil.com), it improperly allows scheme-less URLs (e.g., //malicious-site.com). This issue occurs because browsers interpret //malicious-site.com as https://malicious-site.com, leading to an open redirect vulnerability.\n\nAn attacker can exploit this flaw by crafting a malicious verification link and tricking users into clicking it. Upon successful email verification, the user will be automatically redirected to the attacker's website, which can be used for phishing, malware distribution, or stealing sensitive authentication tokens.\n\n### Impact\nPhishing \u0026 Credential Theft – Attackers can redirect users to a fake login page, tricking them into entering sensitive credentials, which can then be stolen.\n\nSession Hijacking \u0026 Token Theft – If used in OAuth flows, an attacker could redirect authentication tokens to their own domain, leading to account takeover.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2025-02-24T18:27:55.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/better-auth/better-auth/security/advisories/GHSA-8jhw-6pjj-8723","https://github.com/better-auth/better-auth/security/advisories/GHSA-hjpm-7mrm-26w8","https://github.com/better-auth/better-auth/commit/24659aefc35a536b95ea4e5347e52c8803910153","https://nvd.nist.gov/vuln/detail/CVE-2025-27143","https://github.com/better-auth/better-auth/commit/b381cac7aafd6aa53ef78b6ab771ebfa24643c80","https://github.com/better-auth/better-auth/releases/tag/v1.1.21","https://github.com/advisories/GHSA-hjpm-7mrm-26w8"],"source_kind":"github","identifiers":["GHSA-hjpm-7mrm-26w8","CVE-2025-27143"],"repository_url":"https://github.com/better-auth/better-auth","blast_radius":1.0,"packages":[{"versions":[{"first_patched_version":"1.1.20","vulnerable_version_range":"\u003c 1.1.20"}],"ecosystem":"npm","package_name":"better-auth"}],"created_at":"2025-02-24T19:07:47.199Z","updated_at":"2025-02-25T18:00:23.000Z","epss_percentage":0.00083,"epss_percentile":0.20557},{"uuid":"GSA_kwCzR0hTQS04amh3LTZwamotODcyM84ABC0_","url":"https://github.com/advisories/GHSA-8jhw-6pjj-8723","title":"Better Auth has an Open Redirect Vulnerability in Verify Email Endpoint","description":"## Summary\nAn **open redirect vulnerability** has been identified in the **verify email endpoint** of Better Auth, potentially allowing attackers to redirect users to malicious websites. This issue affects users relying on email verification links generated by the library.\n\n## Affected Versions\n- All versions prior to **v1.1.6**.\n\n## Impact\nAttackers could craft malicious email verification links that exploit the redirect functionality to send users to untrusted domains. This can result in:\n\n- **Phishing attacks** – Users may unknowingly enter sensitive information on fake login pages.\n- **Reputation damage** – Trust issues for applications using Better Auth.\n\n## Vulnerability Details\nThe verify email callback endpoint accepts a `callbackURL` parameter. Unlike other verification methods, email verification only uses JWT to verify and redirect without proper validation of the target domain. The origin checker is bypassed in this scenario because it only checks for `POST` requests. An attacker can manipulate this parameter to redirect users to arbitrary URLs controlled by the attacker.\n\n**Example Exploit:**\n```\nhttps://example.com/auth/verify-email?token=abcd1234\u0026callbackURL=https://malicious-site.com\n```\n\n## Patches\nUpgrade to Better Auth **v1.1.6** or later. This version enforces domain validation for `callbackURL` for `/verify-email` path and for all other `GET` endpoints.\n\n## Workarounds\nYou can also use hooks to pre-check URLs in your auth instance to prevent this without upgrading:\n\n```ts\nconst auth = betterAuth({\n    hooks: {\n         before: (ctx) =\u003e {\n            if (ctx.path === \"/verify-email\") {\n               const callbackURL = ctx.query.callbackURL; // Check if this is a trusted callback URL or not\n            }\n         }\n    }\n})\n```","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-12-30T16:49:12.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/better-auth/better-auth/security/advisories/GHSA-8jhw-6pjj-8723","https://github.com/better-auth/better-auth/commit/deb3d73aea90d0468d92723f4511542b593e522f","https://nvd.nist.gov/vuln/detail/CVE-2024-56734","https://github.com/advisories/GHSA-8jhw-6pjj-8723"],"source_kind":"github","identifiers":["GHSA-8jhw-6pjj-8723","CVE-2024-56734"],"repository_url":"https://github.com/better-auth/better-auth","blast_radius":1.0,"packages":[{"versions":[{"first_patched_version":"1.1.6","vulnerable_version_range":"\u003c 1.1.6"}],"ecosystem":"npm","package_name":"better-auth"}],"created_at":"2024-12-30T17:08:09.986Z","updated_at":"2025-03-25T03:08:23.299Z","epss_percentage":0.00111,"epss_percentile":0.26424}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/better-auth","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/better-auth","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/better-auth/dependencies","status":null,"funding_links":["https://github.com/sponsors/better-auth"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/better-auth/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/better-auth/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/better-auth/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/better-auth/related_packages","maintainers":[{"uuid":"bekacru","login":"bekacru","name":null,"email":"Bekacru@gmail.com","url":null,"packages_count":37,"html_url":"https://www.npmjs.com/~bekacru","role":null,"created_at":"2024-04-22T20:25:27.070Z","updated_at":"2024-04-22T20:25:27.070Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/bekacru/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5006543,"maintainers_count":1012935,"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":835,"unique_repositories_count_past_30_days":108,"recent_issues":[{"uuid":"4608945092","node_id":"PR_kwDORgtSgM7js3Cw","number":80,"state":"open","title":"chore(deps): bump the production-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T22:37:44.000Z","updated_at":"2026-06-07T22:37:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":12,"packages":[{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-email","old_version":"6.1.4","new_version":"6.5.0","repository_url":"https://github.com/resend/react-email"},{"name":"resend","old_version":"6.12.3","new_version":"6.12.4","repository_url":"https://github.com/resend/resend-node"},{"name":"@hono/node-server","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/honojs/node-server"},{"name":"@scalar/hono-api-reference","old_version":"0.10.16","new_version":"0.10.20","repository_url":"https://github.com/scalar/scalar"},{"name":"hono","old_version":"4.12.19","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"@better-auth/infra","old_version":"0.2.8","new_version":"0.2.13","repository_url":"https://github.com/better-auth/better-auth-infra"},{"name":"@better-auth/redis-storage","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `6.1.4` | `6.5.0` |\n| [resend](https://github.com/resend/resend-node) | `6.12.3` | `6.12.4` |\n| [@hono/node-server](https://github.com/honojs/node-server) | `2.0.3` | `2.0.4` |\n| [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) | `0.10.16` | `0.10.20` |\n| [hono](https://github.com/honojs/hono) | `4.12.19` | `4.12.23` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [@better-auth/infra](https://github.com/better-auth/better-auth-infra/tree/HEAD/packages/infra) | `0.2.8` | `0.2.13` |\n| [@better-auth/redis-storage](https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage) | `1.6.11` | `1.6.14` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\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 `react-dom` 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-dom'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-dom/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-dom\"\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-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-email` from 6.1.4 to 6.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/releases\"\u003ereact-email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-email@6.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e3875d2a: add a \u003ccode\u003e--clients\u003c/code\u003e option to \u003ccode\u003eemail dev\u003c/code\u003e and a \u003ccode\u003eCOMPATIBILITY_EMAIL_CLIENTS\u003c/code\u003e environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for \u003ccode\u003egmail\u003c/code\u003e, \u003ccode\u003eapple-mail\u003c/code\u003e, \u003ccode\u003eoutlook\u003c/code\u003e, and \u003ccode\u003eyahoo\u003c/code\u003e. Teams that only target one or two clients can now skip the noise: \u003ccode\u003eemail dev --clients outlook,apple-mail\u003c/code\u003e. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on \u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/2797\"\u003e#2797\u003c/a\u003e by \u003ca href=\"https://github.com/ReemX\"\u003e\u003ccode\u003e@​ReemX\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed47825a: Add accessibility defaults to components: \u003ccode\u003edir\u003c/code\u003e/\u003ccode\u003elang\u003c/code\u003e on \u003ccode\u003eBody\u003c/code\u003e, an empty \u003ccode\u003ealt\u003c/code\u003e fallback on \u003ccode\u003eImg\u003c/code\u003e, \u003ccode\u003erole=\u0026quot;presentation\u0026quot;\u003c/code\u003e on the \u003ccode\u003eMarkdown\u003c/code\u003e table, and a \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e from \u003ccode\u003ePreview\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba99365: resolve and strip unresolved \u003ccode\u003e--tw-*\u003c/code\u003e CSS variables in non-inlinable rules so Tailwind media query utilities no longer break Gmail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ereact-email@6.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbda5c8: increase whitespace padding to 200 characters for better Gmail preview text rendering\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec610dc0: fix: padding in Container/Section failing on Klaviyo and Outlook desktop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ereact-email@6.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e192d82a: Add \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props to \u003ccode\u003e\u0026lt;Tailwind\u0026gt;\u003c/code\u003e for Tailwind v4 CSS-first configuration. Both accept a CSS string and can be combined with the existing \u003ccode\u003econfig\u003c/code\u003e prop.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003eimport themeCss from \u0026quot;./theme.css?inline\u0026quot;;\n\u003cp\u003e\u0026lt;Tailwind theme={themeCss}\u0026gt;\u003cbr /\u003e\n\u0026lt;div className=\u0026quot;bg-brand font-display\u0026quot;\u0026gt;Custom themed content\u0026lt;/div\u0026gt;\u003cbr /\u003e\n\u0026lt;/Tailwind\u0026gt;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eEmpty strings are no-ops. The base Tailwind theme and utilities are still loaded — \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e layer on top.\u003c/p\u003e\n\u003cp\u003eThe preview server, \u003ccode\u003eemail export\u003c/code\u003e, and the caniemail compatibility check all understand the Vite-style \u003ccode\u003e?inline\u003c/code\u003e and \u003ccode\u003e?raw\u003c/code\u003e suffixes on CSS imports, so the pattern above works the same in your project and inside the preview UI. The compatibility check also extracts the \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props (in addition to \u003ccode\u003econfig\u003c/code\u003e) when analyzing your template, so any caniemail incompatibilities in CSS produced by those props will surface as warnings.\u003c/p\u003e\n\u003cp\u003eInternal note: the exported \u003ccode\u003esetupTailwind\u003c/code\u003e helper now takes \u003ccode\u003e{ config, cssConfigs }\u003c/code\u003e instead of a positional \u003ccode\u003eTailwindConfig\u003c/code\u003e. Calling it with the old shape throws with a migration hint.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md\"\u003ereact-email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e3875d2a: add a \u003ccode\u003e--clients\u003c/code\u003e option to \u003ccode\u003eemail dev\u003c/code\u003e and a \u003ccode\u003eCOMPATIBILITY_EMAIL_CLIENTS\u003c/code\u003e environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for \u003ccode\u003egmail\u003c/code\u003e, \u003ccode\u003eapple-mail\u003c/code\u003e, \u003ccode\u003eoutlook\u003c/code\u003e, and \u003ccode\u003eyahoo\u003c/code\u003e. Teams that only target one or two clients can now skip the noise: \u003ccode\u003eemail dev --clients outlook,apple-mail\u003c/code\u003e. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on \u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/2797\"\u003e#2797\u003c/a\u003e by \u003ca href=\"https://github.com/ReemX\"\u003e\u003ccode\u003e@​ReemX\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed47825a: Add accessibility defaults to components: \u003ccode\u003edir\u003c/code\u003e/\u003ccode\u003elang\u003c/code\u003e on \u003ccode\u003eBody\u003c/code\u003e, an empty \u003ccode\u003ealt\u003c/code\u003e fallback on \u003ccode\u003eImg\u003c/code\u003e, \u003ccode\u003erole=\u0026quot;presentation\u0026quot;\u003c/code\u003e on the \u003ccode\u003eMarkdown\u003c/code\u003e table, and a \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e from \u003ccode\u003ePreview\u003c/code\u003e.\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\u003eba99365: resolve and strip unresolved \u003ccode\u003e--tw-*\u003c/code\u003e CSS variables in non-inlinable rules so Tailwind media query utilities no longer break Gmail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.3\u003c/h2\u003e\n\u003ch2\u003e6.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbda5c8: increase whitespace padding to 200 characters for better Gmail preview text rendering\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec610dc0: fix: padding in Container/Section failing on Klaviyo and Outlook desktop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e192d82a: Add \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props to \u003ccode\u003e\u0026lt;Tailwind\u0026gt;\u003c/code\u003e for Tailwind v4 CSS-first configuration. Both accept a CSS string and can be combined with the existing \u003ccode\u003econfig\u003c/code\u003e prop.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003eimport themeCss from \u0026quot;./theme.css?inline\u0026quot;;\n\u003cp\u003e\u0026lt;Tailwind theme={themeCss}\u0026gt;\u003cbr /\u003e\n\u0026lt;div className=\u0026quot;bg-brand font-display\u0026quot;\u0026gt;Custom themed content\u0026lt;/div\u0026gt;\u003cbr /\u003e\n\u0026lt;/Tailwind\u0026gt;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eEmpty strings are no-ops. The base Tailwind theme and utilities are still loaded — \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e layer on top.\u003c/p\u003e\n\u003cp\u003eThe preview server, \u003ccode\u003eemail export\u003c/code\u003e, and the caniemail compatibility check all understand the Vite-style \u003ccode\u003e?inline\u003c/code\u003e and \u003ccode\u003e?raw\u003c/code\u003e suffixes on CSS imports, so the pattern above works the same in your project and inside the preview UI. The compatibility check also extracts the \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props (in addition to \u003ccode\u003econfig\u003c/code\u003e) when analyzing your template, so any caniemail incompatibilities in CSS produced by those props will surface as warnings.\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/resend/react-email/commit/62630604e92aaca0c4d2fa0477cba1c0996856c4\"\u003e\u003ccode\u003e6263060\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3548\"\u003e#3548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/3875d2a228450223c8130ed366aacb3bae7d9780\"\u003e\u003ccode\u003e3875d2a\u003c/code\u003e\u003c/a\u003e feat(react-email): filter compatibility warnings by email client (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3547\"\u003e#3547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/d47825a4d7ce10514d3143ff69cba43799966aa3\"\u003e\u003ccode\u003ed47825a\u003c/code\u003e\u003c/a\u003e feat: better accessibility defaults (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3546\"\u003e#3546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/c295594053ff02eb7387c844a9097b264f501b18\"\u003e\u003ccode\u003ec295594\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3543\"\u003e#3543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/ba993652e42a300b899f7bb07e8fa846d853bef1\"\u003e\u003ccode\u003eba99365\u003c/code\u003e\u003c/a\u003e fix(tailwind): tw-* variables in non inlined rules (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3542\"\u003e#3542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/32cb16c5ff69f5ab060aa896d1aaee060fc9e1cd\"\u003e\u003ccode\u003e32cb16c\u003c/code\u003e\u003c/a\u003e fix(editor): repair columns.spec.tsx type errors + run typecheck on CI (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3539\"\u003e#3539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/a79acd1f19f4da032ad7c287d78b9ec3dcbb2da0\"\u003e\u003ccode\u003ea79acd1\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3535\"\u003e#3535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/7745296a31a7d463a170c7f3f8dc3f70a69a24ae\"\u003e\u003ccode\u003e7745296\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3533\"\u003e#3533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/fbda5c8a2b0671e5725d29f37025c737fec7d5ef\"\u003e\u003ccode\u003efbda5c8\u003c/code\u003e\u003c/a\u003e fix(preview): increase whitespace padding to 200 chars for Gmail (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/f52257156d9ca7b003527108ee742e65d39dd3fd\"\u003e\u003ccode\u003ef522571\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3530\"\u003e#3530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resend/react-email/commits/react-email@6.5.0/packages/react-email\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `resend` from 6.12.3 to 6.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/resend-node/releases\"\u003eresend's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.12.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): update dependency next to v16.2.6 [security] by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/957\"\u003eresend/resend-node#957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dev-660): harden github actions workflows by \u003ca href=\"https://github.com/felipefreitag\"\u003e\u003ccode\u003e@​felipefreitag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/959\"\u003eresend/resend-node#959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add sync-prs-to-linear action by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/961\"\u003eresend/resend-node#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: rename misnamed \u003ccode\u003eget-contact.interface.ts\u003c/code\u003e to \u003ccode\u003eget-topic.interface.ts\u003c/code\u003e in topics module by \u003ca href=\"https://github.com/wesleyramalho\"\u003e\u003ccode\u003e@​wesleyramalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/903\"\u003eresend/resend-node#903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating payloads in emails, broadcasts, and templates by \u003ca href=\"https://github.com/Shubhdeep12\"\u003e\u003ccode\u003e@​Shubhdeep12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/862\"\u003eresend/resend-node#862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add optional baseUrl and userAgent to Resend constructor by \u003ca href=\"https://github.com/xiaoyu2er\"\u003e\u003ccode\u003e@​xiaoyu2er\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/839\"\u003eresend/resend-node#839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump public-shared-workflows hash by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/965\"\u003eresend/resend-node#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump public-shared-workflows hash by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/966\"\u003eresend/resend-node#966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: align \u003ccode\u003edelete\u003c/code\u003e method with other HTTP methods in Resend class by \u003ca href=\"https://github.com/wesleyramalho\"\u003e\u003ccode\u003e@​wesleyramalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/904\"\u003eresend/resend-node#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: to support \u003ccode\u003e@​react-email/render\u003c/code\u003e exports across versions in templates by \u003ca href=\"https://github.com/Shubhdeep12\"\u003e\u003ccode\u003e@​Shubhdeep12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/863\"\u003eresend/resend-node#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: replace svix with standardwebhooks to reduce install size (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/969\"\u003e#969\u003c/a\u003e) by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/970\"\u003eresend/resend-node#970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 6.12.4 by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/971\"\u003eresend/resend-node#971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\"\u003ehttps://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\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/resend/resend-node/commit/58db880a67575d9231bcbc5cae9c438793698f05\"\u003e\u003ccode\u003e58db880\u003c/code\u003e\u003c/a\u003e chore: bump version to 6.12.4 (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/63f5ddb8fc0d35fa590e27f7ca4d69d3051969db\"\u003e\u003ccode\u003e63f5ddb\u003c/code\u003e\u003c/a\u003e fix: replace svix with standardwebhooks to reduce install size (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/969\"\u003e#969\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/45dc73dae27646930d460d52de7528640ba9fb8e\"\u003e\u003ccode\u003e45dc73d\u003c/code\u003e\u003c/a\u003e fix: to support \u003ccode\u003e@​react-email/render\u003c/code\u003e exports across versions in templates (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/863\"\u003e#863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/24950d7aa54bf19d929fe26e63557611411938cb\"\u003e\u003ccode\u003e24950d7\u003c/code\u003e\u003c/a\u003e refactor: align \u003ccode\u003edelete\u003c/code\u003e method with other HTTP methods in Resend class (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/904\"\u003e#904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/2759316719f54e602dbf3d0b1fa58703f52b79c0\"\u003e\u003ccode\u003e2759316\u003c/code\u003e\u003c/a\u003e chore: bump public-shared-workflows hash (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/966\"\u003e#966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/fa04efcf72a2c1d89a6530ee14ce08986a4c1a08\"\u003e\u003ccode\u003efa04efc\u003c/code\u003e\u003c/a\u003e chore: bump public-shared-workflows hash (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/77bbf2d63285a1e527fe3fc85493235a6131d084\"\u003e\u003ccode\u003e77bbf2d\u003c/code\u003e\u003c/a\u003e feat: add optional baseUrl and userAgent to Resend constructor (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/ebdb2d3f1ad3880ed81e4bb437796577e3e2ab6b\"\u003e\u003ccode\u003eebdb2d3\u003c/code\u003e\u003c/a\u003e fix: avoid mutating payloads in emails, broadcasts, and templates (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/674ab1bf6c09ddc1942d317a9e2939692fd32340\"\u003e\u003ccode\u003e674ab1b\u003c/code\u003e\u003c/a\u003e fix: rename misnamed \u003ccode\u003eget-contact.interface.ts\u003c/code\u003e to \u003ccode\u003eget-topic.interface.ts\u003c/code\u003e i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/ac0c09ffc9dde924b5b147b8767c1b5e636778f6\"\u003e\u003ccode\u003eac0c09f\u003c/code\u003e\u003c/a\u003e chore: add sync-prs-to-linear action (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\"\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/~dielduarte\"\u003edielduarte\u003c/a\u003e, a new releaser for resend since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@hono/node-server` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/node-server/releases\"\u003e@​hono/node-server's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: stub ws types to prevent them leaking in public types by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/node-server/pull/359\"\u003ehonojs/node-server#359\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\"\u003ehttps://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\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/honojs/node-server/commit/9e1cdee836baeb13f33e857a582b29546185c324\"\u003e\u003ccode\u003e9e1cdee\u003c/code\u003e\u003c/a\u003e 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/node-server/commit/b4ca62216c9b537f1e56e0282bc8b5ee5b953b26\"\u003e\u003ccode\u003eb4ca622\u003c/code\u003e\u003c/a\u003e fix: stub ws types to prevent them leaking in public types (\u003ca href=\"https://redirect.github.com/honojs/node-server/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@scalar/hono-api-reference` from 0.10.16 to 0.10.20\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md\"\u003e@​scalar/hono-api-reference's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.10.20\u003c/h2\u003e\n\u003ch2\u003e0.10.19\u003c/h2\u003e\n\u003ch2\u003e0.10.18\u003c/h2\u003e\n\u003ch2\u003e0.10.17\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scalar/scalar/commits/HEAD/integrations/hono\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hono` from 4.12.19 to 4.12.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/hono/releases\"\u003ehono's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(serve-static): normalize all backslashes in file paths, not just the first in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4962\"\u003ehonojs/hono#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): export the Context class publicly by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4543\"\u003ehonojs/hono#4543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contribution): add AI Usage Policy by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4970\"\u003ehonojs/hono#4970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(compress): add contentTypeFilter option and \u003ccode\u003eCOMPRESSIBLE_CONTENT_TYPE_REGEX\u003c/code\u003e re-export by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4961\"\u003ehonojs/hono#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4971\"\u003ehonojs/hono#4971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.22...v4.12.23\"\u003ehttps://github.com/honojs/hono/compare/v4.12.22...v4.12.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update vitest to v4 and cleanups by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4952\"\u003ehonojs/hono#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mime): specify charset parameter per MIME type instead of mechanical detection by \u003ca href=\"https://github.com/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compress): respect Accept-Encoding when encoding option is set by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deno): echo negotiated WebSocket subprotocol in upgrade response by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add msgpack as a compressible content type by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\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/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.21...v4.12.22\"\u003ehttps://github.com/honojs/hono/compare/v4.12.21...v4.12.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.21\u003c/h2\u003e\n\u003ch2\u003eSecurity fixes\u003c/h2\u003e\n\u003cp\u003eThis release includes fixes for the following security issues:\u003c/p\u003e\n\u003ch3\u003eapp.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003eapp.mount()\u003c/code\u003e. Fixes prefix stripping using the raw URL pathname instead of the decoded path, where percent-encoded characters in the mount prefix or path could cause the prefix to be removed at the wrong position, resulting in the sub-application receiving an incorrect path. GHSA-2gcr-mfcq-wcc3\u003c/p\u003e\n\u003ch3\u003eIP Restriction bypasses static deny rules for non-canonical IPv6\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/ip-restriction\u003c/code\u003e. Fixes IP address comparison using string equality, where non-canonical IPv6 representations of a denied address — such as compressed forms or hex-notation IPv4-mapped addresses — could bypass static deny rules. GHSA-xrhx-7g5j-rcj5\u003c/p\u003e\n\u003ch3\u003eCookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/cookie\u003c/code\u003e. Fixes missing validation of \u003ccode\u003esameSite\u003c/code\u003e and \u003ccode\u003epriority\u003c/code\u003e options against injection characters (\u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e), where user-controlled input passed to either option could inject additional attributes into the Set-Cookie response header. GHSA-3hrh-pfw6-9m5x\u003c/p\u003e\n\u003ch3\u003eJWT middleware accepts any Authorization scheme, not only Bearer\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/jwt\u003c/code\u003e, \u003ccode\u003ehono/jwk\u003c/code\u003e. Fixes missing scheme validation in the Authorization header, where any two-part header value was accepted regardless of the scheme name, allowing non-Bearer schemes to pass JWT authentication. GHSA-f577-qrjj-4474\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eUsers who use \u003ccode\u003eapp.mount()\u003c/code\u003e, \u003ccode\u003ehono/ip-restriction\u003c/code\u003e, \u003ccode\u003ehono/cookie\u003c/code\u003e, or \u003ccode\u003ehono/jwt\u003c/code\u003e/\u003ccode\u003ehono/jwk\u003c/code\u003e are encouraged to upgrade to this version.\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/honojs/hono/commit/83bfb3bb4a12c1d92c163a39e907df5d662ff78d\"\u003e\u003ccode\u003e83bfb3b\u003c/code\u003e\u003c/a\u003e 4.12.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/bcd290a64c0b392fd06d2bd1f256c5dc9835e4a4\"\u003e\u003ccode\u003ebcd290a\u003c/code\u003e\u003c/a\u003e fix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4971\"\u003e#4971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c968177d9c11ddc7c7cca57c384497f11a6d60ae\"\u003e\u003ccode\u003ec968177\u003c/code\u003e\u003c/a\u003e feat(compress): add contentTypeFilter option and `COMPRESSIBLE_CONTENT_TYPE_R...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/0265a5453a7c272417eaa22b93d3fb319d2188ed\"\u003e\u003ccode\u003e0265a54\u003c/code\u003e\u003c/a\u003e docs(contribution): add AI Usage Policy (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c84c5d2d46ca6a78c316529491d42ab7bb956368\"\u003e\u003ccode\u003ec84c5d2\u003c/code\u003e\u003c/a\u003e feat(context): export the Context class publicly (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4543\"\u003e#4543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/82dad6297c90c33c41bf48b4530509a21588ad06\"\u003e\u003ccode\u003e82dad62\u003c/code\u003e\u003c/a\u003e fix(serve-static): normalize all backslashes in file paths, not just the firs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/2f01b774b168911d24e4864fb66054f5de9d9a4e\"\u003e\u003ccode\u003e2f01b77\u003c/code\u003e\u003c/a\u003e 4.12.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/6bc0dff277684ee50ace6dc87a7ad73a9c131c99\"\u003e\u003ccode\u003e6bc0dff\u003c/code\u003e\u003c/a\u003e feat: add msgpack as a compressible content type (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/7e0555d14c72d4204347ac9afaae32ba5c013ab9\"\u003e\u003ccode\u003e7e0555d\u003c/code\u003e\u003c/a\u003e fix(deno): echo negotiated WebSocket subprotocol in upgrade response (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4955\"\u003e#4955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/f0ed2465913f2a89ebdf65cc54d6254915fc3ff6\"\u003e\u003ccode\u003ef0ed246\u003c/code\u003e\u003c/a\u003e fix(compress): respect Accept-Encoding when encoding option is set (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4951\"\u003e#4951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.19...v4.12.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/infra` from 0.2.8 to 0.2.13\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth-infra/commits/HEAD/packages/infra\"\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@​better-auth/infra\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/redis-storage` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/redis-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/redis-storage/CHANGELOG.md\"\u003e@​better-auth/redis-storage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/a3b0c63de908b9f85d6c1d6c06f89bab16a72ba3\"\u003e\u003ccode\u003ea3b0c63\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/04303a92acd6fd3cf9d5f5ab5901255e67526ad3\"\u003e\u003ccode\u003e04303a9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7bf5449b11866bd82deafee910619660c153d799\"\u003e\u003ccode\u003e7bf5449\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.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/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/redis-storage@1.6.14/packages/redis-storage\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=...\n\n_Description has been truncated_","html_url":"https://github.com/xconics-dev/proptryx-server/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xconics-dev%2Fproptryx-server/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"},{"uuid":"4606966001","node_id":"PR_kwDOSSxBlM7jmwAI","number":26,"state":"open","title":"build(deps): Bump the npm-production group with 5 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-07T10:24:18.000Z","updated_at":"2026-06-07T10:26:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"npm-production","update_count":5,"packages":[{"name":"@tanstack/react-query","old_version":"5.100.14","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"better-auth","old_version":"1.6.12","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-production group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.14` | `5.101.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.12` | `1.6.14` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n\nUpdates `@tanstack/react-query` from 5.100.14 to 5.101.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3042860e3c8731c94ca4dec0e277e415d0484fce\"\u003e\u003ccode\u003e3042860\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/query/commit/e631dc3fa17bff71f413246b7a770a730016d346\"\u003e\u003ccode\u003ee631dc3\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10857\"\u003e#10857\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/7cf5923308fb91f3eff0fe952d8c64676e2bdad7\"\u003e\u003ccode\u003e7cf5923\u003c/code\u003e\u003c/a\u003e - fix(react-query-next-experimental): replace deprecated 'isServer' with 'environmentManager.isServer()'\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f3d8d2abbf15bf81ff7575d3be9845d7b402f25a\"\u003e\u003ccode\u003ef3d8d2a\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10774\"\u003e#10774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/532bb298fba15e945e69c6ee4edc0c759ff21324\"\u003e\u003ccode\u003e532bb29\u003c/code\u003e\u003c/a\u003e fix(tests): disable local coverage instrumentation (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10776\"\u003e#10776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.101.0/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.12 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.2.6 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\"\u003enext'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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://redirect.github.com/vercel/next.js/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\u003c/blockquote\u003e\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/c63224f3d8e8dd0a4ef8635916f92954421e5f1e\"\u003e\u003ccode\u003ec63224f\u003c/code\u003e\u003c/a\u003e [backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolut...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/63115c79877c90df4371c2425f3fc5d3a55ac58d\"\u003e\u003ccode\u003e63115c7\u003c/code\u003e\u003c/a\u003e [16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/aef22fdc828226227f618bb982a222e1256ba6f2\"\u003e\u003ccode\u003eaef22fd\u003c/code\u003e\u003c/a\u003e [backport] Propagate adapter preferred regions (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/f126e72271a808a12adb1f97feca6a900bece7ba\"\u003e\u003ccode\u003ef126e72\u003c/code\u003e\u003c/a\u003e [backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/bda3e2aabe5ba18b6e8ec656bcdaf549816469c3\"\u003e\u003ccode\u003ebda3e2a\u003c/code\u003e\u003c/a\u003e [ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7e16e07c0203f8a940899e656526f287278c57e6\"\u003e\u003ccode\u003e7e16e07\u003c/code\u003e\u003c/a\u003e [backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/6139f4b885b329abdd5821199cc19cc89f3eaf33\"\u003e\u003ccode\u003e6139f4b\u003c/code\u003e\u003c/a\u003e [backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c021d10fe9540aaa7aff7b7227c7d73e60a0e5b9\"\u003e\u003ccode\u003ec021d10\u003c/code\u003e\u003c/a\u003e [backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9184ddb1aeed5c5db0f02c7a2d6d298071c2f44f\"\u003e\u003ccode\u003e9184ddb\u003c/code\u003e\u003c/a\u003e [backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + `rewrite...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.2.6...v16.2.7\"\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 `react-dom` 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-dom'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-dom/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-dom\"\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-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/SafetyMP/Autonomous-EHS-Management/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SafetyMP%2FAutonomous-EHS-Management/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4606359171","node_id":"PR_kwDOR_RjCc7jk5tt","number":26,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 19 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-07T06:03:46.000Z","updated_at":"2026-06-07T06:03:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":19,"packages":[{"name":"turbo","old_version":"2.9.14","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"hono","old_version":"4.12.19","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"@cloudflare/vitest-pool-workers","old_version":"0.16.6","new_version":"0.16.13","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@cloudflare/workers-types","old_version":"4.20260517.1","new_version":"4.20260607.1","repository_url":"https://github.com/cloudflare/workerd"},{"name":"vitest","old_version":"4.1.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"wrangler","old_version":"4.92.0","new_version":"4.98.0","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@tanstack/react-query","old_version":"5.100.10","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"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.14","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@opennextjs/cloudflare","old_version":"1.19.10","new_version":"1.19.11","repository_url":"https://github.com/opennextjs/opennextjs-cloudflare"},{"name":"@types/node","old_version":"25.8.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-config-next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@astrojs/cloudflare","old_version":"13.5.1","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.3","new_version":"6.4.4","repository_url":"https://github.com/withastro/astro"},{"name":"@orpc/server","old_version":"1.14.3","new_version":"1.14.5","repository_url":"https://github.com/middleapi/orpc"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.9.16` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n| [hono](https://github.com/honojs/hono) | `4.12.19` | `4.12.23` |\n| [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers) | `0.16.6` | `0.16.13` |\n| [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `4.20260517.1` | `4.20260607.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.6` | `4.1.8` |\n| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.92.0` | `4.98.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.10` | `5.101.0` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\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.14` | `19.2.17` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n| [@opennextjs/cloudflare](https://github.com/opennextjs/opennextjs-cloudflare/tree/HEAD/packages/cloudflare) | `1.19.10` | `1.19.11` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.8.0` | `25.9.2` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.6` | `16.2.7` |\n| [@astrojs/cloudflare](https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare) | `13.5.1` | `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.3` | `6.4.4` |\n| [@orpc/server](https://github.com/middleapi/orpc/tree/HEAD/packages/server) | `1.14.3` | `1.14.5` |\n\n\nUpdates `turbo` from 2.9.14 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.14...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hono` from 4.12.19 to 4.12.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/hono/releases\"\u003ehono's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(serve-static): normalize all backslashes in file paths, not just the first in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4962\"\u003ehonojs/hono#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): export the Context class publicly by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4543\"\u003ehonojs/hono#4543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contribution): add AI Usage Policy by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4970\"\u003ehonojs/hono#4970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(compress): add contentTypeFilter option and \u003ccode\u003eCOMPRESSIBLE_CONTENT_TYPE_REGEX\u003c/code\u003e re-export by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4961\"\u003ehonojs/hono#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4971\"\u003ehonojs/hono#4971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.22...v4.12.23\"\u003ehttps://github.com/honojs/hono/compare/v4.12.22...v4.12.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update vitest to v4 and cleanups by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4952\"\u003ehonojs/hono#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mime): specify charset parameter per MIME type instead of mechanical detection by \u003ca href=\"https://github.com/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compress): respect Accept-Encoding when encoding option is set by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deno): echo negotiated WebSocket subprotocol in upgrade response by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add msgpack as a compressible content type by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\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/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.21...v4.12.22\"\u003ehttps://github.com/honojs/hono/compare/v4.12.21...v4.12.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.21\u003c/h2\u003e\n\u003ch2\u003eSecurity fixes\u003c/h2\u003e\n\u003cp\u003eThis release includes fixes for the following security issues:\u003c/p\u003e\n\u003ch3\u003eapp.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003eapp.mount()\u003c/code\u003e. Fixes prefix stripping using the raw URL pathname instead of the decoded path, where percent-encoded characters in the mount prefix or path could cause the prefix to be removed at the wrong position, resulting in the sub-application receiving an incorrect path. GHSA-2gcr-mfcq-wcc3\u003c/p\u003e\n\u003ch3\u003eIP Restriction bypasses static deny rules for non-canonical IPv6\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/ip-restriction\u003c/code\u003e. Fixes IP address comparison using string equality, where non-canonical IPv6 representations of a denied address — such as compressed forms or hex-notation IPv4-mapped addresses — could bypass static deny rules. GHSA-xrhx-7g5j-rcj5\u003c/p\u003e\n\u003ch3\u003eCookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/cookie\u003c/code\u003e. Fixes missing validation of \u003ccode\u003esameSite\u003c/code\u003e and \u003ccode\u003epriority\u003c/code\u003e options against injection characters (\u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e), where user-controlled input passed to either option could inject additional attributes into the Set-Cookie response header. GHSA-3hrh-pfw6-9m5x\u003c/p\u003e\n\u003ch3\u003eJWT middleware accepts any Authorization scheme, not only Bearer\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/jwt\u003c/code\u003e, \u003ccode\u003ehono/jwk\u003c/code\u003e. Fixes missing scheme validation in the Authorization header, where any two-part header value was accepted regardless of the scheme name, allowing non-Bearer schemes to pass JWT authentication. GHSA-f577-qrjj-4474\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eUsers who use \u003ccode\u003eapp.mount()\u003c/code\u003e, \u003ccode\u003ehono/ip-restriction\u003c/code\u003e, \u003ccode\u003ehono/cookie\u003c/code\u003e, or \u003ccode\u003ehono/jwt\u003c/code\u003e/\u003ccode\u003ehono/jwk\u003c/code\u003e are encouraged to upgrade to this version.\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/honojs/hono/commit/83bfb3bb4a12c1d92c163a39e907df5d662ff78d\"\u003e\u003ccode\u003e83bfb3b\u003c/code\u003e\u003c/a\u003e 4.12.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/bcd290a64c0b392fd06d2bd1f256c5dc9835e4a4\"\u003e\u003ccode\u003ebcd290a\u003c/code\u003e\u003c/a\u003e fix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4971\"\u003e#4971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c968177d9c11ddc7c7cca57c384497f11a6d60ae\"\u003e\u003ccode\u003ec968177\u003c/code\u003e\u003c/a\u003e feat(compress): add contentTypeFilter option and `COMPRESSIBLE_CONTENT_TYPE_R...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/0265a5453a7c272417eaa22b93d3fb319d2188ed\"\u003e\u003ccode\u003e0265a54\u003c/code\u003e\u003c/a\u003e docs(contribution): add AI Usage Policy (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c84c5d2d46ca6a78c316529491d42ab7bb956368\"\u003e\u003ccode\u003ec84c5d2\u003c/code\u003e\u003c/a\u003e feat(context): export the Context class publicly (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4543\"\u003e#4543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/82dad6297c90c33c41bf48b4530509a21588ad06\"\u003e\u003ccode\u003e82dad62\u003c/code\u003e\u003c/a\u003e fix(serve-static): normalize all backslashes in file paths, not just the firs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/2f01b774b168911d24e4864fb66054f5de9d9a4e\"\u003e\u003ccode\u003e2f01b77\u003c/code\u003e\u003c/a\u003e 4.12.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/6bc0dff277684ee50ace6dc87a7ad73a9c131c99\"\u003e\u003ccode\u003e6bc0dff\u003c/code\u003e\u003c/a\u003e feat: add msgpack as a compressible content type (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/7e0555d14c72d4204347ac9afaae32ba5c013ab9\"\u003e\u003ccode\u003e7e0555d\u003c/code\u003e\u003c/a\u003e fix(deno): echo negotiated WebSocket subprotocol in upgrade response (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4955\"\u003e#4955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/f0ed2465913f2a89ebdf65cc54d6254915fc3ff6\"\u003e\u003ccode\u003ef0ed246\u003c/code\u003e\u003c/a\u003e fix(compress): respect Accept-Encoding when encoding option is set (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4951\"\u003e#4951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.19...v4.12.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cloudflare/vitest-pool-workers` from 0.16.6 to 0.16.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003e@​cloudflare/vitest-pool-workers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a3eea277aae46450aec1f0c811e3fe256022c46e\"\u003e\u003ccode\u003ea3eea27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7a6b1a4f4e9d8d5bd88732c8e11368c3ad7f867b\"\u003e\u003ccode\u003e7a6b1a4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7539a9bfcf03a14b2c16f281d541b6bc45523a80\"\u003e\u003ccode\u003e7539a9b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1fdd8def456011c29c5879fe49be6fa90ad9858d\"\u003e\u003ccode\u003e1fdd8de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0bb2d55116ce90a147582a7b4d96e3090cddf7ee\"\u003e\u003ccode\u003e0bb2d55\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8400fb945a781e7a7a78a3614a702ace2d1fbc87\"\u003e\u003ccode\u003e8400fb9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b502d5445b9e9e030020a3d65c0334507393aa64\"\u003e\u003ccode\u003eb502d54\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7949f81bd258292a4a0b9c5a339c6c035f27d7ca\"\u003e\u003ccode\u003e7949f81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d46201384f656815bf9e90a595098edff43f1b32\"\u003e\u003ccode\u003ed462013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c2280cdb589c9289bb4082d0a068846f3dd22b37\"\u003e\u003ccode\u003ec2280cd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ea12b584ee1c3141286f0ecf6b742bd79971407e\"\u003e\u003ccode\u003eea12b58\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/acf7817266b39be9707a09b918d670a468302ebc\"\u003e\u003ccode\u003eacf7817\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.98.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260603.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14152\"\u003e#14152\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/petebacondarwin\"\u003e\u003ccode\u003e@​petebacondarwin\u003c/code\u003e\u003c/a\u003e! - Fix module resolution failing when project path contains spaces\u003c/p\u003e\n\u003cp\u003eWhen a project lived under a directory with spaces (e.g. \u003ccode\u003e/Users/me/Documents/Master CMS/project\u003c/code\u003e), the vitest pool would fail with \u003ccode\u003eNo such module \u0026quot;threads.js\u0026quot;\u003c/code\u003e before any test executed. The module fallback service now uses the \u003ccode\u003erawSpecifier\u003c/code\u003e from workerd's fallback request to correctly decode \u003ccode\u003efile://\u003c/code\u003e URLs, avoiding the double-encoding of spaces (\u003ccode\u003e%20\u003c/code\u003e → \u003ccode\u003e%2520\u003c/code\u003e) that occurred when workerd resolved these URLs as relative paths.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14105\"\u003e#14105\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dario-piotrowicz\"\u003e\u003ccode\u003e@​dario-piotrowicz\u003c/code\u003e\u003c/a\u003e! - Remove trailing periods from URLs in terminal output\u003c/p\u003e\n\u003cp\u003eURLs printed to the terminal with a sentence-ending period (e.g. \u003ccode\u003ehttps://example.com/path.\u003c/code\u003e) would include the period when clicked in some terminal emulators, causing 404 errors. This removes trailing periods from all URLs displayed in CLI output across wrangler, miniflare, vitest-pool-workers, and workers-utils.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14112\"\u003e#14112\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/penalosa\"\u003e\u003ccode\u003e@​penalosa\u003c/code\u003e\u003c/a\u003e! - Pin non-bundled runtime dependencies to exact versions\u003c/p\u003e\n\u003cp\u003eDependencies that are not bundled into a package's published output are installed directly into consumers' dependency trees, so they are now pinned to exact versions instead of semver ranges. This closes a supply-chain gap where an unpinned external dependency could resolve to a compromised upstream release on a fresh install. A new \u003ccode\u003epnpm check:pinned-deps\u003c/code\u003e lint enforces this for all published packages (and for the shared pnpm catalog) going forward.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14061\"\u003e#14061\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vardiak\"\u003e\u003ccode\u003e@​Vardiak\u003c/code\u003e\u003c/a\u003e! - Preserve Durable Object WebSocket handler invocation order\u003c/p\u003e\n\u003cp\u003eDurable Object WebSocket events could begin executing out of order in the Workers Vitest integration when several events arrived while the test wrapper was resolving user code.\u003c/p\u003e\n\u003cp\u003eHandler invocation now preserves arrival order while still allowing asynchronous handler completion to run concurrently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b210c5eefdb22d83f937728527bc0091f9308070\"\u003e\u003ccode\u003eb210c5e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aec1bb826aaba963bfc1ee96ba7359e284162bfa\"\u003e\u003ccode\u003eaec1bb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e06cbb722b3552b622e48c53d4f7d910162ce943\"\u003e\u003ccode\u003ee06cbb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9a26191e1a8c4246f7999bdb3637a176b9166207\"\u003e\u003ccode\u003e9a26191\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5565823854b60937fcad7162425fcd9fad64558a\"\u003e\u003ccode\u003e5565823\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4ef790b3ee22389db29c64f49564aac28022e40e\"\u003e\u003ccode\u003e4ef790b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/890fca7d63a6efab5a58e4829cf02bf731eab197\"\u003e\u003ccode\u003e890fca7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6fc97775d688ab6b65c40cad1c403bb04346d77e\"\u003e\u003ccode\u003e6fc9777\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8e7b74fa837dc7b67c4affab1d4b28876ce4d3f2\"\u003e\u003ccode\u003e8e7b74f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e86489a5743ff9bad7bcb5b444ad3d952d5b0164\"\u003e\u003ccode\u003ee86489a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/42288d4886b7b7a516f5bcca6924a706201aa1e8\"\u003e\u003ccode\u003e42288d4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/65b5f9e1855651c2df2c1bdfc8930141e36413d5\"\u003e\u003ccode\u003e65b5f9e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/64ef9fd46eeb590813bb8cbc61b58c407452362e\"\u003e\u003ccode\u003e64ef9fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/94b29f76c6c6543c2504fb9d1967f15a3bad530d\"\u003e\u003ccode\u003e94b29f7\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ewrangler@4.97.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260601.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14070\"\u003e#14070\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/96ae85681b5e24baf10078480651228fc84ed727\"\u003e\u003ccode\u003e96ae856\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dmmulroy\"\u003e\u003ccode\u003e@​dmmulroy\u003c/code\u003e\u003c/a\u003e! - Fix Durable Object RPC dispatch for constructors that return proxies\u003c/p\u003e\n\u003cp\u003eDurable Object RPC methods mediated by a returned \u003ccode\u003eProxy\u003c/code\u003e are now resolved through that proxy after validating prototype exposure. This allows wrappers that bind methods to the underlying instance to use private fields and methods in Vitest, while matching workerd's rejection of constructor-assigned RPC overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a2ef1a323bfe0052b53f5eddb302bd6bd0d45a74\"\u003e\u003ccode\u003ea2ef1a3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/408432aed493563cb13b9a9c241806112ea606bc\"\u003e\u003ccode\u003e408432a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1103c07646569208c4b0a623d123395643e022d5\"\u003e\u003ccode\u003e1103c07\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7bb5c7a78a22320283549a86a29a76146f7252a4\"\u003e\u003ccode\u003e7bb5c7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5b5cbd3e98e5713ecf5ee0afa975a1f2ee38b2cc\"\u003e\u003ccode\u003e5b5cbd3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a2ef1a323bfe0052b53f5eddb302bd6bd0d45a74\"\u003e\u003ccode\u003ea2ef1a3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2c1d8b23dcf666a5626e389e37d027d71a56e5e3\"\u003e\u003ccode\u003e2c1d8b2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ce4eb20884d350ac68237fe833a1582dcb9f15fc\"\u003e\u003ccode\u003ece4eb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fa3de663217683d59c9a0fc95d99b616d558619\"\u003e\u003ccode\u003e5fa3de6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/37176e523055da69b56d0306b2d272a45d6e3b27\"\u003e\u003ccode\u003e37176e5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0ce88eaddd7d3329ceee3b796d90e8711e48a34f\"\u003e\u003ccode\u003e0ce88ea\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/66d86baf52fb62bbae9e04d2b0cd3809625fcca0\"\u003e\u003ccode\u003e66d86ba\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9dee4ccac78a5027fccc7dbef9e39fae25a681df\"\u003e\u003ccode\u003e9dee4cc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/97d7d81e0a757e30e7700b183133249e2136a280\"\u003e\u003ccode\u003e97d7d81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c647ccc7873c2cada60ba5f4ce7c8dfeb4801acc\"\u003e\u003ccode\u003ec647ccc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/f623ae4360b24708fdc2687b168c1f70954d321d\"\u003e\u003ccode\u003ef623ae4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c8c7ec0bde012ffe9fefe01cb15c7b0d030a6777\"\u003e\u003ccode\u003ec8c7ec0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/39d8717208feab9801b73a8ef781e181c258a6f6\"\u003e\u003ccode\u003e39d8717\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ee56ec0b823f761afd4bc2012594f3739948a904\"\u003e\u003ccode\u003eee56ec0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b64b7e4499b940efd74cdc09215620ee0b34a290\"\u003e\u003ccode\u003eb64b7e4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e4c8fd97a63230fccffe3d2c62185f5350fc5351\"\u003e\u003ccode\u003ee4c8fd9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2dffeeb92d4f0b8a4c2c91f9cca7959d1970638a\"\u003e\u003ccode\u003e2dffeeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/972d13d7054586bb9e3c11e888179d3df7753338\"\u003e\u003ccode\u003e972d13d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4c0da7be0d47e6127066dc6edd8a59e536e7c24c\"\u003e\u003ccode\u003e4c0da7b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/13cbadbd7ecdd2b7c56b850df1209960a71f7d54\"\u003e\u003ccode\u003e13cbadb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/59e43e4e066f9d201fc6c1e3b31cb232853e83d7\"\u003e\u003ccode\u003e59e43e4\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260529.0\u003c/li\u003e\n\u003cli\u003ewrangler@4.96.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ca5b604639eabbcb7385537801d1fdd72cf93144\"\u003e\u003ccode\u003eca5b604\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c1fd2fd3a41de5ee8e4698814d89429b86c75450\"\u003e\u003ccode\u003ec1fd2fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/49c1a591cb37a5d30513cc07258d5c27f1dd937f\"\u003e\u003ccode\u003e49c1a59\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/fee1ce42aa44b16645682edab3c792a0571c59d6\"\u003e\u003ccode\u003efee1ce4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b3962ffadb4ce13dea543c994bf3f663e7d445a5\"\u003e\u003ccode\u003eb3962ff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d042705c7a8715184e6e16d399c17adb958d0e80\"\u003e\u003ccode\u003ed042705\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/420e45789b3ef8d9a05f4dc7ba723f2c2d0c7dbc\"\u003e\u003ccode\u003e420e457\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8b1467ef04da43696e3a79eb881cea2f4df022f6\"\u003e\u003ccode\u003e8b1467e\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.95.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260526.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/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md\"\u003e@​cloudflare/vitest-pool-workers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a3eea277aae46450aec1f0c811e3fe256022c46e\"\u003e\u003ccode\u003ea3eea27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7a6b1a4f4e9d8d5bd88732c8e11368c3ad7f867b\"\u003e\u003ccode\u003e7a6b1a4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7539a9bfcf03a14b2c16f281d541b6bc45523a80\"\u003e\u003ccode\u003e7539a9b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1fdd8def456011c29c5879fe49be6fa90ad9858d\"\u003e\u003ccode\u003e1fdd8de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0bb2d55116ce90a147582a7b4d96e3090cddf7ee\"\u003e\u003ccode\u003e0bb2d55\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8400fb945a781e7a7a78a3614a702ace2d1fbc87\"\u003e\u003ccode\u003e8400fb9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b502d5445b9e9e030020a3d65c0334507393aa64\"\u003e\u003ccode\u003eb502d54\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7949f81bd258292a4a0b9c5a339c6c035f27d7ca\"\u003e\u003ccode\u003e7949f81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d46201384f656815bf9e90a595098edff43f1b32\"\u003e\u003ccode\u003ed462013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c2280cdb589c9289bb4082d0a068846f3dd22b37\"\u003e\u003ccode\u003ec2280cd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ea12b584ee1c3141286f0ecf6b742bd79971407e\"\u003e\u003ccode\u003eea12b58\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/acf7817266b39be9707a09b918d670a468302ebc\"\u003e\u003ccode\u003eacf7817\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.98.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260603.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14152\"\u003e#14152\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/petebacondarwin\"\u003e\u003ccode\u003e@​petebacondarwin\u003c/code\u003e\u003c/a\u003e! - Fix module resolution failing when project path contains spaces\u003c/p\u003e\n\u003cp\u003eWhen a project lived under a directory with spaces (e.g. \u003ccode\u003e/Users/me/Documents/Master CMS/project\u003c/code\u003e), the vitest pool would fail with \u003ccode\u003eNo such module \u0026quot;threads.js\u0026quot;\u003c/code\u003e before any test executed. The module fallback service now uses the \u003ccode\u003erawSpecifier\u003c/code\u003e from workerd's fallback request to correctly decode \u003ccode\u003efile://\u003c/code\u003e URLs, avoiding the double-encoding of spaces (\u003ccode\u003e%20\u003c/code\u003e → \u003ccode\u003e%2520\u003c/code\u003e) that occurred when workerd resolved these URLs as relative paths.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14105\"\u003e#14105\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dario-piotrowicz\"\u003e\u003ccode\u003e@​dario-piotrowicz\u003c/code\u003e\u003c/a\u003e! - Remove trailing periods from URLs in terminal output\u003c/p\u003e\n\u003cp\u003eURLs printed to the terminal with a sentence-ending period (e.g. \u003ccode\u003ehttps://example.com/path.\u003c/code\u003e) would include the period when clicked in some terminal emulators, causing 404 errors. This removes trailing periods from all URLs displayed in CLI output across wrangler, miniflare, vitest-pool-workers, and workers-utils.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14112\"\u003e#14112\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/penalosa\"\u003e\u003ccode\u003e@​penalosa\u003c/code\u003e\u003c/a\u003e! - Pin non-bundled runtime dependencies to exact versions\u003c/p\u003e\n\u003cp\u003eDependencies that are not bundled into a package's published output are installed directly into consumers' dependency trees, so they are now pinned to exact versions instead of semver ranges. This closes a supply-chain gap where an unpinned external dependency could resolve to a compromised upstream release on a fresh install. A new \u003ccode\u003epnpm check:pinned-deps\u003c/code\u003e lint enforces this for all published packages (and for the shared pnpm catalog) going forward.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14061\"\u003e#14061\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vardiak\"\u003e\u003ccode\u003e@​Vardiak\u003c/code\u003e\u003c/a\u003e! - Preserve Durable Object WebSocket handler invocation order\u003c/p\u003e\n\u003cp\u003eDurable Object WebSocket events could begin executing out of order in the Workers Vitest integration when several events arrived while the test wrapper was resolving user code.\u003c/p\u003e\n\u003cp\u003eHandler invocation now preserves arrival order while still allowing asynchronous handler completion to run concurrently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b210c5eefdb22d83f937728527bc0091f9308070\"\u003e\u003ccode\u003eb210c5e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aec1bb826aaba963bfc1ee96ba7359e284162bfa\"\u003e\u003ccode\u003eaec1bb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e06cbb722b3552b622e48c53d4f7d910162ce943\"\u003e\u003ccode\u003ee06cbb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9a26191e1a8c4246f7999bdb3637a176b9166207\"\u003e\u003ccode\u003e9a26191\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5565823854b60937fcad7162425fcd9fad64558a\"\u003e\u003ccode\u003e5565823\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4ef790b3ee22389db29c64f49564aac28022e40e\"\u003e\u003ccode\u003e4ef790b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/890fca7d63a6efab5a58e4829cf02bf731eab197\"\u003e\u003ccode\u003e890fca7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6fc97775d688ab6b65c40cad1c403bb04346d77e\"\u003e\u003ccode\u003e6fc9777\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8e7b74fa837dc7b67c4affab1d4b28876ce4d3f2\"\u003e\u003ccode\u003e8e7b74f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e86489a5743ff9bad7bcb5b444ad3d952d5b0164\"\u003e\u003ccode\u003ee86489a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/42288d4886b7b7a516f5bcca6924a706201aa1e8\"\u003e\u003ccode\u003e42288d4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/65b5f9e1855651c2df2c1bdfc8930141e36413d5\"\u003e\u003ccode\u003e65b5f9e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/64ef9fd46eeb590813bb8cbc61b58c407452362e\"\u003e\u003ccode\u003e64ef9fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/94b29f76c6c6543c2504fb9d1967f15a3bad530d\"\u003e\u003ccode\u003e94b29f7\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ewrangler@4.97.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260601.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14087\"\u003e#14087\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/edmundhung\"\u003e\u003ccode\u003e@​edmundhung\u003c/code\u003e\u003c/a\u003e! - Fix Durable Object RPC dispatch for constructors that return proxies\u003c/p\u003e\n\u003cp\u003eDurable Object RPC methods mediated by a returned \u003ccode\u003eProxy\u003c/code\u003e are now resolved through that proxy after validating prototype exposure. This allows wrappers that bind methods to the underlying instance to use private fields and methods in Vitest, while matching workerd's rejection of constructor-assigned RPC overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/408432aed493563cb13b9a9c241806112ea606bc\"\u003e\u003ccode\u003e408432a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1103c07646569208c4b0a623d123395643e022d5\"\u003e\u003ccode\u003e1103c07\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7bb5c7a78a22320283549a86a29a76146f7252a4\"\u003e\u003ccode\u003e7bb5c7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5b5cbd3e98e5713ecf5ee0afa975a1f2ee38b2cc\"\u003e\u003ccode\u003e5b5cbd3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/97d7d81e0a757e30e7700b183133249e2136a280\"\u003e\u003ccode\u003e97d7d81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c647ccc7873c2cada60ba5f4ce7c8dfeb4801acc\"\u003e\u003ccode\u003ec647ccc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b64b7e4499b940efd74cdc09215620ee0b34a290\"\u003e\u003ccode\u003eb64b7e4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e4c8fd97a63230fccffe3d2c62185f5350fc5351\"\u003e\u003ccode\u003ee4c8fd9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2dffeeb92d4f0b8a4c2c91f9cca7959d1970638a\"\u003e\u003ccode\u003e2dffeeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4c0da7be0d47e6127066dc6edd8a59e536e7c24c\"\u003e\u003ccode\u003e4c0da7b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/972d13d7054586bb9e3c11e888179d3df7753338\"\u003e\u003ccode\u003e972d13d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/13cbadbd7ecdd2b7c56b850df1209960a71f7d54\"\u003e\u003ccode\u003e13cbadb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/59e43e4e066f9d201fc6c1e3b31cb232853e83d7\"\u003e\u003ccode\u003e59e43e4\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260529.0\u003c/li\u003e\n\u003cli\u003ewrangler@4.96.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c8c366e643636526806d2fd7d326825a1f119957\"\u003e\u003ccode\u003ec8c366e\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14159\"\u003e#14159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0b6042466efdc845b374f82ab49f977399e6c237\"\u003e\u003ccode\u003e0b60424\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14142\"\u003e#14142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e [vitest-pool-workers] Fix module resolution for paths with spaces (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14152\"\u003e#14152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e [vitest-pool-workers] Preserve Durable Object handler order (for hibernated D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0998725139680d803f510c3126b4c4e617b3a37b\"\u003e\u003ccode\u003e0998725\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003edisallowTypeAnnotations\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e in `@typescript-eslint/consistent-ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e [tools] Lint that all non-bundled deps of published packages are pinned (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14112\"\u003e#14112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Remove trailing periods from URLs in terminal output (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14105\"\u003e#14105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/50ef72497eda26760bd88f5d5f6281208f761479\"\u003e\u003ccode\u003e50ef724\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14082\"\u003e#14082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Version Packa...\n\n_Description has been truncated_","html_url":"https://github.com/akshitkrnagpal/edgepush/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshitkrnagpal%2Fedgepush/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4605022973","node_id":"PR_kwDOPbApZM7jgvy3","number":11,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 8 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-06T20:33:54.000Z","updated_at":"2026-06-06T20:33:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /apps/desktop directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-identity directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/ssrf-safe-fetch directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.6 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e fix(access): preserve exact role statement types (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e fix(oauth): block OAuth linking to unverified local accounts (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e fix(organization): default-on \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e \u0026amp; extend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): authenticate confidential clients on refresh_token g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e fix(magic-link): consume verification token atomically on verify (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e fix(device-authorization): bind approval to verifier session (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e refactor(db): rename \u003ccode\u003eclaimOne\u003c/code\u003e adapter primitive to \u003ccode\u003econsumeOne\u003c/code\u003e (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9568\"\u003e#9568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.11/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1de0aa22dd6311a93546a75a3c58a6be519c1baf\"\u003e\u003ccode\u003e1de0aa2\u003c/code\u003e\u003c/a\u003e fix: correctly identify concurrent test during static analysis (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3cac1c1b5a91d921942e9391fbd94841717363f\"\u003e\u003ccode\u003ec3cac1c\u003c/code\u003e\u003c/a\u003e fix: use isAgent check, not just TTY, for watch mode (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/eab68ba2b8ea6f89717c0b885c573579659d7c3b\"\u003e\u003ccode\u003eeab68ba\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9824\"\u003e#9824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/031f02a89be34491c441b4da9c4e2bacb7db71df\"\u003e\u003ccode\u003e031f02a\u003c/code\u003e\u003c/a\u003e fix: allow catch/finally for async assertion (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9827\"\u003e#9827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e9e096a231fa0ec6475da82e36cbd6fcc9bc8f9\"\u003e\u003ccode\u003e3e9e096\u003c/code\u003e\u003c/a\u003e feat(reporters): add \u003ccode\u003eagent\u003c/code\u003e reporter to reduce ai agent token usage (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9779\"\u003e#9779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8181e06e765f4d043818b244c76795022fa78ff6\"\u003e\u003ccode\u003e8181e06\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehideSkippedTests\u003c/code\u003e should not hide \u003ccode\u003etest.todo\u003c/code\u003e (fix \u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9562\"\u003e#9562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9781\"\u003e#9781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8216b0014b83612e40ef49f919d5293b68717b3\"\u003e\u003ccode\u003ea8216b0\u003c/code\u003e\u003c/a\u003e fix: manual and redirect mock shouldn't \u003ccode\u003eload\u003c/code\u003e or \u003ccode\u003etransform\u003c/code\u003e original module...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest\"\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 vitest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://r...\n\n_Description has been truncated_","html_url":"https://github.com/Sherlock999xxx/lobe-chat/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherlock999xxx%2Flobe-chat/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4602244695","node_id":"PR_kwDOSK-YTs7jX4LL","number":183,"state":"open","title":"chore: bump the npm-deps group with 19 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-06T06:20:34.000Z","updated_at":"2026-06-06T06:24:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: bump","group_name":"npm-deps","update_count":19,"packages":[{"name":"@better-auth/i18n","old_version":"1.6.13","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@tiptap/extension-image","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/react","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"better-auth","old_version":"1.6.13","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"libphonenumber-js","old_version":"1.13.4","new_version":"1.13.6"},{"name":"radix-ui","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@chromatic-com/playwright","old_version":"0.14.5","new_version":"0.14.6","repository_url":"https://github.com/chromaui/chromatic-e2e"},{"name":"@spotlightjs/spotlight","old_version":"4.11.4","new_version":"4.11.5","repository_url":"https://github.com/getsentry/spotlight"},{"name":"@types/node","old_version":"24.12.4","new_version":"24.13.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.16","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"knip","old_version":"6.15.0","new_version":"6.16.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"oxfmt","old_version":"0.41.0","new_version":"0.53.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.56.0","new_version":"1.68.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint-tsgolint","old_version":"0.17.1","new_version":"0.23.0","repository_url":"https://github.com/oxc-project/tsgolint"},{"name":"ultracite","old_version":"7.3.2","new_version":"7.8.1","repository_url":"https://github.com/haydenbleasel/ultracite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-deps group with 19 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@better-auth/i18n](https://github.com/better-auth/better-auth/tree/HEAD/packages/i18n) | `1.6.13` | `1.6.14` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.24.0` | `3.26.0` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.24.0` | `3.26.0` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.24.0` | `3.26.0` |\n| [@tiptap/react](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/react) | `3.24.0` | `3.26.0` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.24.0` | `3.26.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.13` | `1.6.14` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | `1.13.4` | `1.13.6` |\n| [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.4.3` | `1.5.0` |\n| [@chromatic-com/playwright](https://github.com/chromaui/chromatic-e2e/tree/HEAD/packages/playwright) | `0.14.5` | `0.14.6` |\n| [@spotlightjs/spotlight](https://github.com/getsentry/spotlight/tree/HEAD/packages/spotlight) | `4.11.4` | `4.11.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.12.4` | `24.13.1` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.16` | `19.2.17` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.15.0` | `6.16.0` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.41.0` | `0.53.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.56.0` | `1.68.0` |\n| [oxlint-tsgolint](https://github.com/oxc-project/tsgolint) | `0.17.1` | `0.23.0` |\n| [ultracite](https://github.com/haydenbleasel/ultracite) | `7.3.2` | `7.8.1` |\n\nUpdates `@better-auth/i18n` from 1.6.13 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/i18n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/i18n/CHANGELOG.md\"\u003e@​better-auth/i18n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/i18n/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/i18n@1.6.14/packages/i18n\"\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.24.0 to 3.26.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.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.26.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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eec291dd: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eb63835b: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [ec291dd]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [454e9b8]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [9cf8db0]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [3d4f94c]\u003c/p\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/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.24.0 to 3.26.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.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.26.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.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\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.25.0\u003c/li\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/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/pm` from 3.24.0 to 3.26.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/pm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/pm/CHANGELOG.md\"\u003e@​tiptap/pm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.0\u003c/h2\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec1a2ce8: Bump \u003ccode\u003eprosemirror-tables\u003c/code\u003e to \u003ccode\u003e^1.8.0\u003c/code\u003e so \u003ccode\u003efindTable\u003c/code\u003e is available from \u003ccode\u003e@tiptap/pm\u003c/code\u003e, and align the related ProseMirror dependencies with the versions required by \u003ccode\u003eprosemirror-tables\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/pm\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/react` from 3.24.0 to 3.26.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/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/react/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/react/CHANGELOG.md\"\u003e@​tiptap/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.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.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\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.25.0\u003c/li\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/starter-kit` from 3.24.0 to 3.26.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/starter-kit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/starter-kit/CHANGELOG.md\"\u003e@​tiptap/starter-kit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [155a613]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [75e8404]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-blockquote\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-dropcursor\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-gapcursor\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list-item\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list-keymap\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.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.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-bold\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-bullet-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code-block\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-document\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-hard-break\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-heading\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-horizontal-rule\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-italic\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-link\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-ordered-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-paragraph\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-strike\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-underline\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [8dc5694]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [45237e7]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7d0ce2a]\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.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\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.25.0\u003c/li\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.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-blockquote\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/starter-kit\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.13 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libphonenumber-js` from 1.13.4 to 1.13.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md\"\u003elibphonenumber-js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.13.6 / 5.6.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated metadata to version 9.0.32:\n\u003cul\u003e\n\u003cli\u003eUpdated phone metadata for region code(s): DZ, JP, NO, SJ, SO, UG\u003c/li\u003e\n\u003cli\u003eUpdated carrier data for country calling code(s):\n33 (en), 47 (en), 233 (en), 252 (en), 256 (en)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.5 / 03.06.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eConverted any \u0026quot;tagged\u0026quot; types \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/-/work_items/144#note_3415397139\"\u003eback\u003c/a\u003e to simple strings. Originally, some developers lobbied the use of so-called \u003ca href=\"https://medium.com/@ethanresnick/advanced-typescript-tagged-types-for-fewer-bugs-and-better-security-24db681d5721\"\u003e\u0026quot;tagged\u0026quot;\u003c/a\u003e types in this package in order to return more \u0026quot;strict\u0026quot; values. My knowledge of TypeScript at that time was limited to just its title, so I naturally succumbed to that influence and merged whatever changes seemed to be consensual between the participants in the issue discussions. Now though I can see how the concept of \u0026quot;tagged\u0026quot; types is redundant and adds nothing, so I decided to revert any \u0026quot;tagged\u0026quot; types back to simple strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.3 / 22.5.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated metadata to version 9.0.31:\n\u003cul\u003e\n\u003cli\u003eUpdated alternate formatting data for country calling code(s): 84\u003c/li\u003e\n\u003cli\u003eUpdated phone metadata for region code(s):\nAI, BO, DZ, ET, GE, GM, IN, TR, UG, VN\u003c/li\u003e\n\u003cli\u003eUpdated short number metadata for region code(s): IT\u003c/li\u003e\n\u003cli\u003eUpdated geocoding data for country calling code(s): 213 (en)\u003c/li\u003e\n\u003cli\u003eUpdated carrier data for country calling code(s):\n34 (en), 43 (en), 84 (en), 90 (en), 220 (en), 251 (en), 256 (en), 354 (en),\n591 (en), 1264 (en)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.0 / 08.05.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMerged a \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/-/merge_requests/29\"\u003epull request\u003c/a\u003e by \u003ca href=\"https://gitlab.com/mdentremont\"\u003eMatt d'Entremont\u003c/a\u003e that adds ES6-only versions of \u003ccode\u003emin\u003c/code\u003e/\u003ccode\u003emax\u003c/code\u003e/\u003ccode\u003emobile\u003c/code\u003e/\u003ccode\u003ecore\u003c/code\u003e exports.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe new exports are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/min/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emax\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/max/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emobile\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/mobile/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;custom\u0026quot; — \u003ccode\u003elibphonenumber-js/core/es6\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe bundle size reduction is roughly \u003ccode\u003e37 KB\u003c/code\u003e raw and \u003ccode\u003e3.8-4.1 KB\u003c/code\u003e gzipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre\u003e\u003ccode\u003e                        | legacy raw | modern raw | legacy gzip | modern gzip\n  min                   | 177,666 B  | 140,563 B  | 42,081 B    | 38,223 B\n  max                   | 251,327 B  | 214,224 B  | 62,690 B    | 58,750 B\n  mobile                | 193,117 B  | 156,014 B  | 46,712 B    | 42,682 B\n  core                  |  93,076 B  |  56,158 B  | 22,308 B    | 18,223 B\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated \u003ccode\u003elibphonenumber-metadata-generator\u003c/code\u003e package. No functional changes, just cosmetics: renamed some API methods and parameters.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e(TypeScript) Added a new exported type \u003ccode\u003ePhoneNumberType\u003c/code\u003e, which is same as the old exported \u003ccode\u003eNumberType\u003c/code\u003e type (which is now considered deprecated) except for \u003ccode\u003eundefined\u003c/code\u003e value.\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\u003eSee full diff in \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/commits/master\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `radix-ui` from 1.4.3 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/radix-ui/primitives/blob/main/packages/react/radix-ui/CHANGELOG.md\"\u003eradix-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch3\u003eContext Menu\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded support for a controlled \u003ccode\u003eopen\u003c/code\u003e prop on \u003ccode\u003eContextMenu.Root\u003c/code\u003e. This is intended for reading the open state and closing the menu programmatically, though we discourage opening the menu programmatically since opening the menu depends on user interaction to position the menu.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003efunction ControlledContextMenu() {\n  const [open, setOpen] = React.useState(false);\n  return (\n    \u0026lt;ContextMenu.Root open={open} onOpenChange={setOpen}\u0026gt;\n      \u0026lt;ContextMenu.Trigger\u0026gt;Open\u0026lt;/ContextMenu.Trigger\u0026gt;\n      \u0026lt;ContextMenu.Content\u0026gt;\n        \u0026lt;button type=\u0026quot;button\u0026quot; onClick={() =\u0026gt; setOpen(false)}\u0026gt;\n          Close me\n        \u0026lt;/button\u0026gt;\n        \u0026lt;ContextMenu.Item\u0026gt;Item 1\u0026lt;/ContextMenu.Item\u0026gt;\n        \u0026lt;ContextMenu.Item\u0026gt;Item 2\u0026lt;/ContextMenu.Item\u0026gt;\n      \u0026lt;/ContextMenu.Content\u0026gt;\n    \u0026lt;/ContextMenu.Root\u0026gt;\n  );\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug in where submenus remained expanded after re-opening on long-press touch events.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where iOS text selection and editing on HTML inputs within dialogs were broken.\u003c/li\u003e\n\u003cli\u003eFixed a bug causing disabled pointer events in closed dialogs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOne-Time Password Field\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pasting into One-Time Password Field in environments that do not support the legacy \u003ccode\u003e\u0026quot;Text\u0026quot;\u003c/code\u003e clipboard format by reading the pasted value as \u003ccode\u003e\u0026quot;text/plain\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed issues with focus management in React 19.2+.\u003c/li\u003e\n\u003cli\u003eFixed a bug to ensure that pasted values exceeding the field length are truncated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePopper\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u0026quot;Maximum update depth exceeded\u0026quot; bug for pages with a large number of popper instances.\u003c/li\u003e\n\u003cli\u003eExposed \u003ccode\u003edata-side\u003c/code\u003e and \u003ccode\u003edata-align\u003c/code\u003e on \u003ccode\u003ePopperAnchor\u003c/code\u003e element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePresence\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u0026quot;Maximum update depth exceeded\u0026quot; bug in React 19 that could occur when \u003ccode\u003ePresence\u003c/code\u003e was given a child with an unstable ref.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRadio Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded unstable \u003ccode\u003eRadioGroupItemProvider\u003c/code\u003e, \u003ccode\u003eRadioGroupItemTrigger\u003c/code\u003e and \u003ccode\u003eRadioGroupItemBubbleInput\u003c/code\u003e parts. These expose the previously internal composition of a radio item that included a visually hidden \u003ccode\u003einput\u003c/code\u003e so consumers can directly access and recompose them. The \u003ccode\u003eRadioGroupItem\u003c/code\u003e component continues to render them by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radix-ui\"\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 radix-ui since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@chromatic-com/playwright` from 0.14.5 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chromaui/chromatic-e2e/releases\"\u003e@​chromatic-com/p...\n\n_Description has been truncated_","html_url":"https://github.com/mitsailing/mitsailing/pull/183","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsailing%2Fmitsailing/issues/183","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/183/packages"},{"uuid":"4593795436","node_id":"PR_kwDOMW_YTM7i8FlE","number":1169,"state":"open","title":"Node (Frontend)(deps): Bump better-auth from 1.6.14 to 1.6.13 in /src/Clients in the better-auth group","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-05T03:04:14.000Z","updated_at":"2026-06-05T03:06:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Node (Frontend)(deps): Bump","packages":[{"name":"better-auth","old_version":"1.6.14","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"}],"path":"/src/Clients in the better-auth group","ecosystem":"npm"},"body":"Bumps the better-auth group in /src/Clients with 1 update: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth).\n\nUpdates `better-auth` from 1.6.14 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e fix(client): decode escape sequences in parseJSON quoted strings (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9617\"\u003e#9617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1d372bbab9117f5a574ecb608b7a5108f1ccbc66\"\u003e\u003ccode\u003e1d372bb\u003c/code\u003e\u003c/a\u003e fix(organization): reject invitation team ids containing a comma (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9616\"\u003e#9616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e fix: tighten \u003ccode\u003echangeEmail\u003c/code\u003e config gate and encode callbackURL (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9614\"\u003e#9614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e fix(access): reject empty action lists and continue \u0026quot;OR\u0026quot; evaluation on unknow...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\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=better-auth\u0026package-manager=npm_and_yarn\u0026previous-version=1.6.14\u0026new-version=1.6.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/foxminchan/BookWorm/pull/1169","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxminchan%2FBookWorm/issues/1169","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1169/packages"},{"uuid":"4591396869","node_id":"PR_kwDOQTk4Hc7i0L49","number":7,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 2 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T18:58:23.000Z","updated_at":"2026-06-04T18:59:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":10,"packages":[{"name":"axios","old_version":"1.11.0","new_version":"1.16.0","repository_url":"https://github.com/axios/axios"},{"name":"electron","old_version":"37.2.6","new_version":"27.3.11"},{"name":"minimatch","old_version":"3.1.2","new_version":"3.1.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"follow-redirects","old_version":"1.15.11","new_version":"1.16.0"},{"name":"lodash","old_version":"4.17.21","new_version":"4.18.1","repository_url":"https://github.com/lodash/lodash"},{"name":"picomatch","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/micromatch/picomatch"},{"name":"better-auth","old_version":"1.2.8","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 4 updates in the /advanced_llm_apps/thinkpath_chatbot_app directory: [axios](https://github.com/axios/axios), [minimatch](https://github.com/isaacs/minimatch), [lodash](https://github.com/lodash/lodash) and [picomatch](https://github.com/micromatch/picomatch).\nBumps the npm_and_yarn group with 2 updates in the /advanced_ai_agents/multi_agent_apps/agent_teams/ai_travel_planner_agent_team/client directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) and [next](https://github.com/vercel/next.js).\n\nUpdates `axios` from 1.11.0 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFetch adapter now enforces \u003ccode\u003emaxBodyLength\u003c/code\u003e and \u003ccode\u003emaxContentLength\u003c/code\u003e.\u003c/strong\u003e These limits were silently ignored on the fetch adapter prior to 1.16.0 — anyone relying on them as a safety net (DoS protection, accidental large uploads) had no protection. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy requests now preserve user-supplied \u003ccode\u003eHost\u003c/code\u003e headers.\u003c/strong\u003e Previously, the proxy path could overwrite a custom \u003ccode\u003eHost\u003c/code\u003e. Virtual-host-style routing through a proxy will now behave correctly. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBasic auth credentials embedded in URLs are now URL-decoded.\u003c/strong\u003e If you have percent-encoded credentials in a URL (e.g. \u003ccode\u003ehttps://user:p%40ss@host\u003c/code\u003e), the decoded value is what now goes on the wire. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparseProtocol\u003c/code\u003e now strictly requires a colon in the protocol separator.\u003c/strong\u003e Strings that loosely parsed as protocols before may no longer match. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003eunescape()\u003c/code\u003e replaced with modern UTF-8 encoding.\u003c/strong\u003e Non-ASCII URL handling is now spec-correct; consumers depending on legacy \u003ccode\u003eunescape()\u003c/code\u003e quirks may see different output bytes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etransformRequest\u003c/code\u003e input typing change was reverted.\u003c/strong\u003e The typing change introduced in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e was reverted in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e after follow-up review — net behavior is unchanged from 1.15.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eQUERY HTTP Method:\u003c/strong\u003e Added support for the QUERY HTTP method across adapters and type definitions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10802\"\u003e#10802\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eECONNREFUSED Error Constant:\u003c/strong\u003e Exposed \u003ccode\u003eECONNREFUSED\u003c/code\u003e as a constant on \u003ccode\u003eAxiosError\u003c/code\u003e so callers can match connection-refused failures without comparing string literals (closes \u003ca href=\"https://redirect.github.com/axios/axios/issues/6485\"\u003e#6485\u003c/a\u003e). (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEncode Helper Export:\u003c/strong\u003e Exported the internal \u003ccode\u003eencode\u003c/code\u003e helper from \u003ccode\u003ebuildURL\u003c/code\u003e so userland param serializers can reuse the same encoding logic that axios uses internally. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6897\"\u003e#6897\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Redirects \u0026amp; Headers:\u003c/strong\u003e Cleared stale headers when a redirect targets a no-proxy host, fixed the redirect listener chain so listeners no longer stack across hops, restored the missing \u003ccode\u003erequestDetails\u003c/code\u003e argument on \u003ccode\u003ebeforeRedirect\u003c/code\u003e, preserved user-supplied \u003ccode\u003eHost\u003c/code\u003e headers when forwarding through a proxy, and properly URL-decoded basic auth credentials. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10794\"\u003e#10794\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10800\"\u003e#10800\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6241\"\u003e#6241\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Streams \u0026amp; Timeouts:\u003c/strong\u003e Preserved the partial response object on \u003ccode\u003eAxiosError\u003c/code\u003e when a stream is aborted after headers arrive, honoured the \u003ccode\u003etimeout\u003c/code\u003e option during the connect phase when redirects are disabled, and resolved an unsettled-promise hang when an aborted request was combined with compression and \u003ccode\u003emaxRedirects: 0\u003c/code\u003e. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10708\"\u003e#10708\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7149\"\u003e#7149\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFetch Adapter:\u003c/strong\u003e Enforced \u003ccode\u003emaxBodyLength\u003c/code\u003e / \u003ccode\u003emaxContentLength\u003c/code\u003e in the fetch adapter, set the \u003ccode\u003eUser-Agent\u003c/code\u003e header to match the HTTP adapter, preserved the original abort reason instead of replacing it with a generic error, and deferred global access so importing the module no longer throws a \u003ccode\u003eTypeError\u003c/code\u003e in restricted environments. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10772\"\u003e#10772\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10806\"\u003e#10806\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Adapter:\u003c/strong\u003e Unsubscribed the \u003ccode\u003ecancelToken\u003c/code\u003e and \u003ccode\u003eAbortSignal\u003c/code\u003e listeners on the error, timeout, and abort code paths to prevent leaked subscriptions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError Handling:\u003c/strong\u003e Attached the parsed response to \u003ccode\u003eAxiosError\u003c/code\u003e when \u003ccode\u003eJSON.parse\u003c/code\u003e fails inside \u003ccode\u003edispatchRequest\u003c/code\u003e, prevented \u003ccode\u003esettle\u003c/code\u003e from emitting \u003ccode\u003eundefined\u003c/code\u003e error codes, and tightened the \u003ccode\u003eparseProtocol\u003c/code\u003e regex to require a colon in the protocol separator. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10724\"\u003e#10724\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTypes \u0026amp; Exports:\u003c/strong\u003e Aligned the CommonJS \u003ccode\u003eCancelToken\u003c/code\u003e typings with the ESM build, fixed a compiler error caused by \u003ccode\u003eRawAxiosHeaders\u003c/code\u003e, and re-exported \u003ccode\u003ecreate\u003c/code\u003e from the package index. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7414\"\u003e#7414\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6389\"\u003e#6389\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6460\"\u003e#6460\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUTF-8 Encoding:\u003c/strong\u003e Replaced the deprecated \u003ccode\u003eunescape()\u003c/code\u003e call with a modern UTF-8 encoding implementation. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMisc Cleanup:\u003c/strong\u003e Resolved a batch of small inconsistencies and gadget-level issues across the codebase. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRefactor — ES6 Modernisation:\u003c/strong\u003e Modernised the \u003ccode\u003eutils\u003c/code\u003e module and XHR adapter to use ES6 features, and tidied the multipart boundary error message. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTests:\u003c/strong\u003e Hardened the HTTP test server lifecycle to fix flaky \u003ccode\u003eFormData\u003c/code\u003e EPIPE failures, fixed Win32 platform support for the pipe tests, and corrected an incorrect test assumption. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10820\"\u003e#10820\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10791\"\u003e#10791\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10796\"\u003e#10796\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs:\u003c/strong\u003e Documented \u003ccode\u003eparamsSerializer.encode\u003c/code\u003e for strict RFC 3986 query encoding, updated the \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions and configuration docs for ES2023, added timeout guidance to the README's first async example, and expanded notes around the recent type changes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10821\"\u003e#10821\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10782\"\u003e#10782\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10759\"\u003e#10759\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10804\"\u003e#10804\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReverted:\u003c/strong\u003e Reverted the \u003ccode\u003etransformRequest\u003c/code\u003e input typing change from \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e after follow-up review. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003eactions/setup-node\u003c/code\u003e, the \u003ccode\u003egithub-actions\u003c/code\u003e group, and \u003ccode\u003epostcss\u003c/code\u003e (in \u003ccode\u003e/docs\u003c/code\u003e) to their latest versions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10785\"\u003e#10785\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10813\"\u003e#10813\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10814\"\u003e#10814\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease:\u003c/strong\u003e Updated changelog and packages, and prepared the 1.16.0 release. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10790\"\u003e#10790\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/singhankit001\"\u003e\u003ccode\u003e@​singhankit001\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/iruizsalinas\"\u003e\u003ccode\u003e@​iruizsalinas\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/MarcosNocetti\"\u003e\u003ccode\u003e@​MarcosNocetti\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/deepview-autofix\"\u003e\u003ccode\u003e@​deepview-autofix\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFetch adapter now enforces \u003ccode\u003emaxBodyLength\u003c/code\u003e and \u003ccode\u003emaxContentLength\u003c/code\u003e.\u003c/strong\u003e These limits were silently ignored on the fetch adapter prior to 1.16.0 — anyone relying on them as a safety net (DoS protection, accidental large uploads) had no protection. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy requests now preserve user-supplied \u003ccode\u003eHost\u003c/code\u003e headers.\u003c/strong\u003e Previously, the proxy path could overwrite a custom \u003ccode\u003eHost\u003c/code\u003e. Virtual-host-style routing through a proxy will now behave correctly. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBasic auth credentials embedded in URLs are now URL-decoded.\u003c/strong\u003e If you have percent-encoded credentials in a URL (e.g. \u003ccode\u003ehttps://user:p%40ss@host\u003c/code\u003e), the decoded value is what now goes on the wire. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparseProtocol\u003c/code\u003e now strictly requires a colon in the protocol separator.\u003c/strong\u003e Strings that loosely parsed as protocols before may no longer match. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003eunescape()\u003c/code\u003e replaced with modern UTF-8 encoding.\u003c/strong\u003e Non-ASCII URL handling is now spec-correct; consumers depending on legacy \u003ccode\u003eunescape()\u003c/code\u003e quirks may see different output bytes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etransformRequest\u003c/code\u003e input typing change was reverted.\u003c/strong\u003e The typing change introduced in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e was reverted in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e after follow-up review — net behavior is unchanged from 1.15.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eQUERY HTTP Method:\u003c/strong\u003e Added support for the QUERY HTTP method across adapters and type definitions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10802\"\u003e#10802\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eECONNREFUSED Error Constant:\u003c/strong\u003e Exposed \u003ccode\u003eECONNREFUSED\u003c/code\u003e as a constant on \u003ccode\u003eAxiosError\u003c/code\u003e so callers can match connection-refused failures without comparing string literals (closes \u003ca href=\"https://redirect.github.com/axios/axios/issues/6485\"\u003e#6485\u003c/a\u003e). (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEncode Helper Export:\u003c/strong\u003e Exported the internal \u003ccode\u003eencode\u003c/code\u003e helper from \u003ccode\u003ebuildURL\u003c/code\u003e so userland param serializers can reuse the same encoding logic that axios uses internally. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6897\"\u003e#6897\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Redirects \u0026amp; Headers:\u003c/strong\u003e Cleared stale headers when a redirect targets a no-proxy host, fixed the redirect listener chain so listeners no longer stack across hops, restored the missing \u003ccode\u003erequestDetails\u003c/code\u003e argument on \u003ccode\u003ebeforeRedirect\u003c/code\u003e, preserved user-supplied \u003ccode\u003eHost\u003c/code\u003e headers when forwarding through a proxy, and properly URL-decoded basic auth credentials. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10794\"\u003e#10794\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10800\"\u003e#10800\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6241\"\u003e#6241\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Streams \u0026amp; Timeouts:\u003c/strong\u003e Preserved the partial response object on \u003ccode\u003eAxiosError\u003c/code\u003e when a stream is aborted after headers arrive, honoured the \u003ccode\u003etimeout\u003c/code\u003e option during the connect phase when redirects are disabled, and resolved an unsettled-promise hang when an aborted request was combined with compression and \u003ccode\u003emaxRedirects: 0\u003c/code\u003e. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10708\"\u003e#10708\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7149\"\u003e#7149\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFetch Adapter:\u003c/strong\u003e Enforced \u003ccode\u003emaxBodyLength\u003c/code\u003e / \u003ccode\u003emaxContentLength\u003c/code\u003e in the fetch adapter, set the \u003ccode\u003eUser-Agent\u003c/code\u003e header to match the HTTP adapter, preserved the original abort reason instead of replacing it with a generic error, and deferred global access so importing the module no longer throws a \u003ccode\u003eTypeError\u003c/code\u003e in restricted environments. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10772\"\u003e#10772\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10806\"\u003e#10806\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Adapter:\u003c/strong\u003e Unsubscribed the \u003ccode\u003ecancelToken\u003c/code\u003e and \u003ccode\u003eAbortSignal\u003c/code\u003e listeners on the error, timeout, and abort code paths to prevent leaked subscriptions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError Handling:\u003c/strong\u003e Attached the parsed response to \u003ccode\u003eAxiosError\u003c/code\u003e when \u003ccode\u003eJSON.parse\u003c/code\u003e fails inside \u003ccode\u003edispatchRequest\u003c/code\u003e, prevented \u003ccode\u003esettle\u003c/code\u003e from emitting \u003ccode\u003eundefined\u003c/code\u003e error codes, and tightened the \u003ccode\u003eparseProtocol\u003c/code\u003e regex to require a colon in the protocol separator. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10724\"\u003e#10724\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTypes \u0026amp; Exports:\u003c/strong\u003e Aligned the CommonJS \u003ccode\u003eCancelToken\u003c/code\u003e typings with the ESM build, fixed a compiler error caused by \u003ccode\u003eRawAxiosHeaders\u003c/code\u003e, and re-exported \u003ccode\u003ecreate\u003c/code\u003e from the package index. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7414\"\u003e#7414\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6389\"\u003e#6389\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6460\"\u003e#6460\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUTF-8 Encoding:\u003c/strong\u003e Replaced the deprecated \u003ccode\u003eunescape()\u003c/code\u003e call with a modern UTF-8 encoding implementation. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMisc Cleanup:\u003c/strong\u003e Resolved a batch of small inconsistencies and gadget-level issues across the codebase. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRefactor — ES6 Modernisation:\u003c/strong\u003e Modernised the \u003ccode\u003eutils\u003c/code\u003e module and XHR adapter to use ES6 features, and tidied the multipart boundary error message. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTests:\u003c/strong\u003e Hardened the HTTP test server lifecycle to fix flaky \u003ccode\u003eFormData\u003c/code\u003e EPIPE failures, fixed Win32 platform support for the pipe tests, and corrected an incorrect test assumption. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10820\"\u003e#10820\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10791\"\u003e#10791\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10796\"\u003e#10796\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs:\u003c/strong\u003e Documented \u003ccode\u003eparamsSerializer.encode\u003c/code\u003e for strict RFC 3986 query encoding, updated the \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions and configuration docs for ES2023, added timeout guidance to the README's first async example, and expanded notes around the recent type changes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10821\"\u003e#10821\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10782\"\u003e#10782\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10759\"\u003e#10759\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10804\"\u003e#10804\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReverted:\u003c/strong\u003e Reverted the \u003ccode\u003etransformRequest\u003c/code\u003e input typing change from \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e after follow-up review. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003eactions/setup-node\u003c/code\u003e, the \u003ccode\u003egithub-actions\u003c/code\u003e group, and \u003ccode\u003epostcss\u003c/code\u003e (in \u003ccode\u003e/docs\u003c/code\u003e) to their latest versions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10785\"\u003e#10785\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10813\"\u003e#10813\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10814\"\u003e#10814\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease:\u003c/strong\u003e Updated changelog and packages, and prepared the 1.16.0 release. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10790\"\u003e#10790\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/singhankit001\"\u003e\u003ccode\u003e@​singhankit001\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/iruizsalinas\"\u003e\u003ccode\u003e@​iruizsalinas\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/MarcosNocetti\"\u003e\u003ccode\u003e@​MarcosNocetti\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/deepview-autofix\"\u003e\u003ccode\u003e@​deepview-autofix\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/df53d7dd99b202fb194217abd127ae6a630e70dc\"\u003e\u003ccode\u003edf53d7d\u003c/code\u003e\u003c/a\u003e chore(release): prepare release 1.16.0 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/9d92bcd32639d1eea5b89f03ae45f248d3bb058e\"\u003e\u003ccode\u003e9d92bcd\u003c/code\u003e\u003c/a\u003e fix: gadgets and smaller issues (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/5107ee69aee527b19eabaf80000ca65752135435\"\u003e\u003ccode\u003e5107ee6\u003c/code\u003e\u003c/a\u003e fix: prevent undefined error codes in settle (\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/e57349992f230b6b13e80613eb84302560aa5ba8\"\u003e\u003ccode\u003ee573499\u003c/code\u003e\u003c/a\u003e fix(fetch): defer global access in fetch adapter (\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/ad68e1a484b50086af427f767bbd7d6e3aab7ac3\"\u003e\u003ccode\u003ead68e1a\u003c/code\u003e\u003c/a\u003e fix(http): honor timeout during connect without redirects (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/2a51828213128691d2e37502b5eb2cf4965a737d\"\u003e\u003ccode\u003e2a51828\u003c/code\u003e\u003c/a\u003e fix(http): decode URL basic auth credentials (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/0e8b6bbb542131bae9940618d84d5286255d4db1\"\u003e\u003ccode\u003e0e8b6bb\u003c/code\u003e\u003c/a\u003e fix(http): preserve user-supplied Host header when forwarding through a proxy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/79f39e1d041dca87173226d0255f90eaf252564b\"\u003e\u003ccode\u003e79f39e1\u003c/code\u003e\u003c/a\u003e docs: document paramsSerializer.encode for strict RFC 3986 query encoding (\u003ca href=\"https://redirect.github.com/axios/axios/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/0fe3a5fc14829535e1d517c662d448e86c33438e\"\u003e\u003ccode\u003e0fe3a5f\u003c/code\u003e\u003c/a\u003e [Docs/Types] Update \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions for ES2023 and add ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/cd6737fd84bdb7caf2a319d3579573a49f9d238d\"\u003e\u003ccode\u003ecd6737f\u003c/code\u003e\u003c/a\u003e chore: matches the sibling responseStream.on(aborted) handler and added tests...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/axios/axios/compare/v1.11.0...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for axios since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `electron` from 37.2.6 to 27.3.11\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/70a66589ae966233885dc04fb81bfd2c06b112bd\"\u003e\u003ccode\u003e70a6658\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 8 changes from 3-M123 and M1nn (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41856\"\u003e#41856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/6d5b65ec35c599be43af3085d609c4771333f9a2\"\u003e\u003ccode\u003e6d5b65e\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-2-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41777\"\u003e#41777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/ec2adf0b2e1ccff6186758ea2f40d4ed6c6f4490\"\u003e\u003ccode\u003eec2adf0\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-3-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41608\"\u003e#41608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/2d9eaffb9878983b85483679296fae3f3dae38c0\"\u003e\u003ccode\u003e2d9eaff\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 8 changes from Release-1-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41748\"\u003e#41748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/3d3bd64ab2d767884594ea27b296575af769df78\"\u003e\u003ccode\u003e3d3bd64\u003c/code\u003e\u003c/a\u003e ci: use CircleCI hosted macOS arm64 runners for testing (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41666\"\u003e#41666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/8b9170b664a70cbbcff6ca248689a2ff6b37ee84\"\u003e\u003ccode\u003e8b9170b\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-0-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41633\"\u003e#41633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/6b2c470f462a58523709bd947d33491cc83c7f8e\"\u003e\u003ccode\u003e6b2c470\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-2-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41521\"\u003e#41521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/f53fad8abb37565b3be2ea098f5ad427561ad143\"\u003e\u003ccode\u003ef53fad8\u003c/code\u003e\u003c/a\u003e chore: update src_preload_function_for_environment.patch (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41503\"\u003e#41503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/7b2c526a43637749f422af6848dce747923fd8c6\"\u003e\u003ccode\u003e7b2c526\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-1-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41488\"\u003e#41488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1da86c0fbff56873e10271e02018c956d20e4f75\"\u003e\u003ccode\u003e1da86c0\u003c/code\u003e\u003c/a\u003e ci: add logging to uploading to GitHub releases (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41457\"\u003e#41457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electron/electron/compare/v37.2.6...v27.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minimatch` from 3.1.2 to 3.1.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7bba97888a27a6162983056bcce2a6e28f668712\"\u003e\u003ccode\u003e7bba978\u003c/code\u003e\u003c/a\u003e 3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/bd259425b2ca17b42897997f93e890314155522d\"\u003e\u003ccode\u003ebd25942\u003c/code\u003e\u003c/a\u003e docs: add warning about ReDoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1a9c27c75725474dbde57db2995b6281b267756d\"\u003e\u003ccode\u003e1a9c27c\u003c/code\u003e\u003c/a\u003e fix partial matching of globstar patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1a2e084af579731af66c221214e3ca8222c9bf23\"\u003e\u003ccode\u003e1a2e084\u003c/code\u003e\u003c/a\u003e 3.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/ae24656237c3d58067442f790ce17eff84463a47\"\u003e\u003ccode\u003eae24656\u003c/code\u003e\u003c/a\u003e update lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/b1003749228b2a79e1f237963a0d559ef7a0941e\"\u003e\u003ccode\u003eb100374\u003c/code\u003e\u003c/a\u003e limit recursion for **, improve perf considerably\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/26ffeaa091b9f660833e23f42e07165b33e85c13\"\u003e\u003ccode\u003e26ffeaa\u003c/code\u003e\u003c/a\u003e lockfile update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/9eca892a4e5dbb20534f9f30483b85cdeee6c2eb\"\u003e\u003ccode\u003e9eca892\u003c/code\u003e\u003c/a\u003e lock node version to 14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/00c323b188b704e5d4bc534ecec2268cfa70a32a\"\u003e\u003ccode\u003e00c323b\u003c/code\u003e\u003c/a\u003e 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/30486b2048929264f44d18822891cfffa02af78b\"\u003e\u003ccode\u003e30486b2\u003c/code\u003e\u003c/a\u003e update CI matrix and actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `follow-redirects` from 1.15.11 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/0c23a223067201c368035e82954c11eb2578a33b\"\u003e\u003ccode\u003e0c23a22\u003c/code\u003e\u003c/a\u003e Release version 1.16.0 of the npm package.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/844c4d302ac963d29bdb5dc1754ec7df3d70d7f9\"\u003e\u003ccode\u003e844c4d3\u003c/code\u003e\u003c/a\u003e Add sensitiveHeaders option.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/5e8b8d024e2c76f804a284258e585ecb49a575be\"\u003e\u003ccode\u003e5e8b8d0\u003c/code\u003e\u003c/a\u003e ci: add Node.js 24.x to the CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/7953e2255aa0b93602eed3804f3bc5e6923a03af\"\u003e\u003ccode\u003e7953e22\u003c/code\u003e\u003c/a\u003e ci: upgrade GitHub Actions to use setup-node@v6 and checkout@v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/86dc1f86e4b56bcd642c78384d51f10f123aea75\"\u003e\u003ccode\u003e86dc1f8\u003c/code\u003e\u003c/a\u003e Sanitizing input.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lodash` from 4.17.21 to 4.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lodash/lodash/releases\"\u003elodash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.18.1\u003c/h2\u003e\n\u003ch2\u003eBugs\u003c/h2\u003e\n\u003cp\u003eFixes a \u003ccode\u003eReferenceError\u003c/code\u003e issue in \u003ccode\u003elodash\u003c/code\u003e \u003ccode\u003elodash-es\u003c/code\u003e \u003ccode\u003elodash-amd\u003c/code\u003e and \u003ccode\u003elodash.template\u003c/code\u003e when using the \u003ccode\u003etemplate\u003c/code\u003e and \u003ccode\u003efromPairs\u003c/code\u003e functions from the modular builds. See \u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6167#issuecomment-4165269769\"\u003elodash/lodash#6167\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThese defects were related to how lodash distributions are built from the main branch using \u003ca href=\"https://github.com/lodash-archive/lodash-cli\"\u003ehttps://github.com/lodash-archive/lodash-cli\u003c/a\u003e. When internal dependencies change inside lodash functions, equivalent updates need to be made to a mapping in the lodash-cli. (hey, it was ahead of its time once upon a time!). We know this, but we missed it in the last release. It's the kind of thing that passes in CI, but fails bc the build is not the same thing you tested.\u003c/p\u003e\n\u003cp\u003eThere is no diff on main for this, but you can see the diffs for each of the npm packages on their respective branches:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elodash\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-npm...4.18.1-npm\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-npm...4.18.1-npm\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash-es\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-es...4.18.1-es\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-es...4.18.1-es\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash-amd\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-amd...4.18.1-amd\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-amd...4.18.1-amd\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash.template\u003c/code\u003e\u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-npm-packages...4.18.1-npm-packages\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-npm-packages...4.18.1-npm-packages\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.18.0\u003c/h2\u003e\n\u003ch2\u003ev4.18.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.17.23...4.18.0\"\u003ehttps://github.com/lodash/lodash/compare/4.17.23...4.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e_.unset\u003c/code\u003e / \u003ccode\u003e_.omit\u003c/code\u003e\u003c/strong\u003e: Fixed prototype pollution via \u003ccode\u003econstructor\u003c/code\u003e/\u003ccode\u003eprototype\u003c/code\u003e path traversal (\u003ca href=\"https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh\"\u003eGHSA-f23m-r3pf-42rh\u003c/a\u003e, \u003ca href=\"https://github.com/lodash/lodash/commit/fe8d32eda854377349a4f922ab7655c8e5df9a0b\"\u003efe8d32e\u003c/a\u003e). Previously, array-wrapped path segments and primitive roots could bypass the existing guards, allowing deletion of properties from built-in prototypes. Now \u003ccode\u003econstructor\u003c/code\u003e and \u003ccode\u003eprototype\u003c/code\u003e are blocked unconditionally as non-terminal path keys, matching \u003ccode\u003ebaseSet\u003c/code\u003e. Calls that previously returned \u003ccode\u003etrue\u003c/code\u003e and deleted the property now return \u003ccode\u003efalse\u003c/code\u003e and leave the target untouched.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e_.template\u003c/code\u003e\u003c/strong\u003e: Fixed code injection via \u003ccode\u003eimports\u003c/code\u003e keys (\u003ca href=\"https://github.com/lodash/lodash/security/advisories/GHSA-r5fr-rjxr-66jc\"\u003eGHSA-r5fr-rjxr-66jc\u003c/a\u003e, CVE-2026-4800, \u003ca href=\"https://github.com/lodash/lodash/commit/879aaa93132d78c2f8d20c60279da9f8b21576d6\"\u003e879aaa9\u003c/a\u003e). Fixes an incomplete patch for CVE-2021-23337. The \u003ccode\u003evariable\u003c/code\u003e option was validated against \u003ccode\u003ereForbiddenIdentifierChars\u003c/code\u003e but \u003ccode\u003eimportsKeys\u003c/code\u003e was left unguarded, allowing code injection via the same \u003ccode\u003eFunction()\u003c/code\u003e constructor sink. \u003ccode\u003eimports\u003c/code\u003e keys containing forbidden identifier characters now throw \u003ccode\u003e\u0026quot;Invalid imports option passed into _.template\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd security notice for \u003ccode\u003e_.template\u003c/code\u003e in threat model and API docs (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6099\"\u003e#6099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003elower \u0026gt; upper\u003c/code\u003e behavior in \u003ccode\u003e_.random\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6115\"\u003e#6115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix quotes in \u003ccode\u003e_.compact\u003c/code\u003e jsdoc (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003elodash.*\u003c/code\u003e modular packages\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6157\"\u003eDiff\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe have also regenerated and published a select number of the \u003ccode\u003elodash.*\u003c/code\u003e modular packages.\u003c/p\u003e\n\u003cp\u003eThese modular packages had fallen out of sync significantly from the minor/patch updates to lodash. Specifically, we have brought the following packages up to parity w/ the latest lodash release because they have had CVEs on them in the past:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.orderby\"\u003elodash.orderby\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.tonumber\"\u003elodash.tonumber\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.trim\"\u003elodash.trim\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.trimend\"\u003elodash.trimend\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.sortedindexby\"\u003elodash.sortedindexby\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.zipobjectdeep\"\u003elodash.zipobjectdeep\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.unset\"\u003elodash.unset\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.omit\"\u003elodash.omit\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.template\"\u003elodash.template\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/lodash/lodash/commit/cb0b9b9212521c08e3eafe7c8cb0af1b42b6649e\"\u003e\u003ccode\u003ecb0b9b9\u003c/code\u003e\u003c/a\u003e release(patch): bump main to 4.18.1 (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/75535f57883b7225adb96de1cfc1cd4169cfcb51\"\u003e\u003ccode\u003e75535f5\u003c/code\u003e\u003c/a\u003e chore: prune stale advisory refs (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/62e91bc6a39c98d85b9ada8c44d40593deaf82a4\"\u003e\u003ccode\u003e62e91bc\u003c/code\u003e\u003c/a\u003e docs: remove n_ Node.js \u0026lt; 6 REPL note from README (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6165\"\u003e#6165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/59be2de61f8aa9461c7856533b51d31b7d8babc4\"\u003e\u003ccode\u003e59be2de\u003c/code\u003e\u003c/a\u003e release(minor): bump to 4.18.0 (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/af634573030f979194871da7c68f79420992f53d\"\u003e\u003ccode\u003eaf63457\u003c/code\u003e\u003c/a\u003e fix: broken tests for _.template 879aaa9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/1073a7693e1727e0cf3641e5f71f75ddcf8de7c0\"\u003e\u003ccode\u003e1073a76\u003c/code\u003e\u003c/a\u003e fix: linting issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/879aaa93132d78c2f8d20c60279da9f8b21576d6\"\u003e\u003ccode\u003e879aaa9\u003c/code\u003e\u003c/a\u003e fix: validate imports keys in _.template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/fe8d32eda854377349a4f922ab7655c8e5df9a0b\"\u003e\u003ccode\u003efe8d32e\u003c/code\u003e\u003c/a\u003e fix: block prototype pollution in baseUnset via constructor/prototype traversal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/18ba0a32f42fd02117f096b032f89c984173462d\"\u003e\u003ccode\u003e18ba0a3\u003c/code\u003e\u003c/a\u003e refactor(fromPairs): use baseAssignValue for consistent assignment (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6153\"\u003e#6153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/b8190803d48d60b8c80ad45d39125f32fa618cb2\"\u003e\u003ccode\u003eb819080\u003c/code\u003e\u003c/a\u003e ci: add dist sync validation workflow (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6137\"\u003e#6137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lodash/lodash/compare/4.17.21...4.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `picomatch` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micromatch/picomatch/releases\"\u003epicomatch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cp\u003eThis is a security release fixing several security relevant issues.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: exception when glob pattern contains constructor by \u003ca href=\"https://github.com/Jason3S\"\u003e\u003ccode\u003e@​Jason3S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/micromatch/picomatch/pull/144\"\u003emicromatch/picomatch#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/micromatch/picomatch/security/advisories/GHSA-c2c7-rcm5-vvqj\"\u003eCVE-2026-33671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p\"\u003eCVE-2026-33672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2\"\u003ehttps://github.com/micromatch/picomatch/compare/2.3.1...2.3.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/micromatch/picomatch/blob/master/CHANGELOG.md\"\u003epicomatch's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease history\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eAll notable changes to this project will be documented in this file.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"http://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e\nand this project adheres to \u003ca href=\"http://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eChangelogs are for humans, not machines.\u003c/li\u003e\n\u003cli\u003eThere should be an entry for every single version.\u003c/li\u003e\n\u003cli\u003eThe same types of changes should be grouped.\u003c/li\u003e\n\u003cli\u003eVersions and sections should be linkable.\u003c/li\u003e\n\u003cli\u003eThe latest version comes first.\u003c/li\u003e\n\u003cli\u003eThe release date of each versions is displayed.\u003c/li\u003e\n\u003cli\u003eMention whether you follow Semantic Versioning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eChangelog entries are classified using the following labels \u003cem\u003e(from \u003ca href=\"http://keepachangelog.com/\"\u003ekeep-a-changelog\u003c/a\u003e\u003c/em\u003e):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAdded\u003c/code\u003e for new features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChanged\u003c/code\u003e for changes in existing functionality.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDeprecated\u003c/code\u003e for soon-to-be removed features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRemoved\u003c/code\u003e for now removed features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFixed\u003c/code\u003e for any bug fixes.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSecurity\u003c/code\u003e in case of vulnerabilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e4.0.0 (2024-02-07)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bad text values in parse \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/126\"\u003e#126\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/connor4312\"\u003e\u003ccode\u003e@​connor4312\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove process global to work outside of node \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/129\"\u003e#129\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/styfle\"\u003e\u003ccode\u003e@​styfle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sideEffects to package.json \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/128\"\u003e#128\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/frandiox\"\u003e\u003ccode\u003e@​frandiox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eos\u003c/code\u003e, make compatible browser environment. See \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/124\"\u003e#124\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/gwsbhqt\"\u003e\u003ccode\u003e@​gwsbhqt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/micromatch/picomatch/commit/81cba8d4b767cab3cb29d26eb4f691eed75b73b2\"\u003e\u003ccode\u003e81cba8d\u003c/code\u003e\u003c/a\u003e Publish 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/fc1f6b69006e9435caf8fb40d8aff378bc0b7bce\"\u003e\u003ccode\u003efc1f6b6\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/eec17aee5428a7249e9ca5adbb8a0d28fa29619b\"\u003e\u003ccode\u003eeec17ae\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/78f8ca4362d9e66cadea97b93e292f10096452ed\"\u003e\u003ccode\u003e78f8ca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/156\"\u003e#156\u003c/a\u003e from micromatch/backport-144\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/3f4f10eaa65bf3a52e8f2999674cd27e11fa3c9b\"\u003e\u003ccode\u003e3f4f10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/144\"\u003e#144\u003c/a\u003e from Jason3S/jdent-object-properties\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.2.8 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate dependencies in two apps to pick up security and stability fixes: `axios` 1.16.0 in ThinkPath Chatbot; `better-auth` 1.6.11 and `next` 15.5.18 in the AI Travel Planner client. This includes security patches (e.g., lodash, picomatch) and behavior changes in request limits and auth flows.\n\n- **Dependencies**\n  - ThinkPath Chatbot (`advanced_llm_apps/thinkpath_chatbot_app`)\n    - `axios` → 1.16.0 (fetch adapter now enforces `maxBodyLength`/`maxContentLength`; redirect/headers/timeouts fixes)\n    - Indirect bumps: `lodash` 4.18.1 (security), `minimatch` 3.1.5, `picomatch` 2.3.2 (security), `follow-redirects` 1.16.0\n  - AI Travel Planner client (`advanced_ai_agents/.../client`)\n    - `better-auth` → 1.6.11 (race-condition fixes; stricter defaults for account linking and invitations)\n    - `next` → 15.5.18\n\n- **Migration**\n  - Review `axios` limits: if you set `maxContentLength`/`maxBodyLength` on the fetch adapter, large requests may now be rejected; adjust as needed.\n  - For `better-auth`:\n    - If you relied on implicit OAuth linking without a verified local email, set `account.accountLinking.requireLocalEmailVerified: false` to keep legacy behavior (short-term).\n    - Ensure custom device-code verification pages run with an authenticated session.\n\n\u003csup\u003eWritten for commit eaa1d861629f846a824f35489bc2b014c580ad2e. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/EmilynnJ/awesome-llm-apps/pull/7?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/EmilynnJ/awesome-llm-apps/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmilynnJ%2Fawesome-llm-apps/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4589894223","node_id":"PR_kwDOQUvUxs7ivLbS","number":19,"state":"closed","title":"chore(deps-dev): bump better-auth from 1.6.5 to 1.6.11 in the npm_and_yarn group across 1 directory","user":"dependabot[bot]","labels":["dependencies","javascript","released"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T21:31:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T15:18:28.000Z","updated_at":"2026-06-04T21:50:10.000Z","time_to_close":22372,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"better-auth","old_version":"1.6.5","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"}],"path":"the npm_and_yarn group across 1 directory","ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 1 update in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth).\n\nUpdates `better-auth` from 1.6.5 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e fix(access): preserve exact role statement types (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e fix(oauth): block OAuth linking to unverified local accounts (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e fix(organization): default-on \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e \u0026amp; extend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): authenticate confidential clients on refresh_token g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e fix(magic-link): consume verification token atomically on verify (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e fix(device-authorization): bind approval to verifier session (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e refactor(db): rename \u003ccode\u003eclaimOne\u003c/code\u003e adapter primitive to \u003ccode\u003econsumeOne\u003c/code\u003e (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9568\"\u003e#9568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.11/packages/better-auth\"\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=better-auth\u0026package-manager=npm_and_yarn\u0026previous-version=1.6.5\u0026new-version=1.6.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/yultyyev/better-auth-firebase-auth/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/yultyyev/better-auth-firebase-auth/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yultyyev%2Fbetter-auth-firebase-auth/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4578759680","node_id":"PR_kwDOPkCIjs7iKXCB","number":52,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 4 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-07T12:29:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T09:56:54.000Z","updated_at":"2026-06-07T12:29:26.000Z","time_to_close":354742,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":8,"packages":[{"name":"better-auth","old_version":"1.4.17","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@apollo/server","old_version":"4.12.2","new_version":"5.5.0","repository_url":"https://github.com/apollographql/apollo-server"},{"name":"multer","old_version":"2.0.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"nodemailer","old_version":"6.10.1","new_version":"8.0.5","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"vitest","old_version":"4.0.7","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"ws","old_version":"8.18.3","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"}],"path":null,"ecosystem":"npm"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the npm_and_yarn group with 3 updates in the /apps/admin-app directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [postcss](https://github.com/postcss/postcss) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 6 updates in the /apps/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.17` | `1.6.2` |\n| [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) | `4.12.2` | `5.5.0` |\n| [multer](https://github.com/expressjs/multer) | `2.0.2` | `2.1.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `6.10.1` | `8.0.5` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.7` | `4.1.0` |\n| [ws](https://github.com/websockets/ws) | `8.18.3` | `8.20.1` |\n\nBumps the npm_and_yarn group with 3 updates in the /apps/form-app directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [postcss](https://github.com/postcss/postcss) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 3 updates in the /apps/form-viewer directory: [postcss](https://github.com/postcss/postcss), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.17 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.6 to 8.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed XSS via unescaped \u003ccode\u003e\u0026lt;/style\u0026gt;\u003c/code\u003e in non-bundler cases (by \u003ca href=\"https://github.com/TharVid\"\u003e\u003ccode\u003e@​TharVid\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up source map encoding paring in case of the error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed XSS via unescaped \u003ccode\u003e\u0026lt;/style\u0026gt;\u003c/code\u003e in non-bundler cases (by \u003ca href=\"https://github.com/TharVid\"\u003e\u003ccode\u003e@​TharVid\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up source map encoding paring in case of the error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/33b9790263dc1562a46ce45d9532bd63e95b7986\"\u003e\u003ccode\u003e33b9790\u003c/code\u003e\u003c/a\u003e Release 8.5.10 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/536c79e4b01e58a3a56b09c3c0cf2323f4b9a28b\"\u003e\u003ccode\u003e536c79e\u003c/code\u003e\u003c/a\u003e Escape \u0026lt;/style\u0026gt; in CSS output (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/afa96b2a139ce625c4d27973313479c7c85f39d4\"\u003e\u003ccode\u003eafa96b2\u003c/code\u003e\u003c/a\u003e Update dependencies (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2073\"\u003e#2073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/effe88bb87cabdc1876e02adbdd30f392f19f40d\"\u003e\u003ccode\u003eeffe88b\u003c/code\u003e\u003c/a\u003e Typo (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/3ee79a2c4a11e41d52db50b444eebe38299495ad\"\u003e\u003ccode\u003e3ee79a2\u003c/code\u003e\u003c/a\u003e Thread model (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/2e0683daca4dc2919211b03774f6b2d137136c01\"\u003e\u003ccode\u003e2e0683d\u003c/code\u003e\u003c/a\u003e Create incident response docs (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/fe88ac29c06b7b218be32994cdc6ca1525bdf2c9\"\u003e\u003ccode\u003efe88ac2\u003c/code\u003e\u003c/a\u003e Release 8.5.9 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/c551632496b87ab3f1965bfda5dc386b6c71963e\"\u003e\u003ccode\u003ec551632\u003c/code\u003e\u003c/a\u003e Avoid RegExp when we can use simple JS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/89a6b744060eb8dee743351c785a9fbe37d4525a\"\u003e\u003ccode\u003e89a6b74\u003c/code\u003e\u003c/a\u003e Move SECURITY.txt for docs folder to keep GitHub page cleaner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/6ceb8a46af9f9de821faee98f861bdf84617347b\"\u003e\u003ccode\u003e6ceb8a4\u003c/code\u003e\u003c/a\u003e Create SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.6...8.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 5.4.19 to 6.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.4.1\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.1/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.0/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.3.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.3.7/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.3.6\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev5.4.21\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev5.4.20\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/ca88ed7398288ce0c60176ac9a6392f10654c67c/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.2 (2026-04-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003efe28e47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22159\"\u003e#22159\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22163\"\u003e#22163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003eca4da5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22161\"\u003e#22161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.1 (2025-10-20)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e1114b5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20968\"\u003e#20968\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20969\"\u003e#20969\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.4.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003eca6455e\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20932\"\u003e#20932\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.7 (2025-10-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003ec59a222\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20940\"\u003e#20940\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.6 (2025-09-08)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply \u003ccode\u003efs.strict\u003c/code\u003e check to HTML files (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20736\"\u003e#20736\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ab19ea9fcb66f544328f442cf6e70f7c0528d5f\"\u003e0ab19ea\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20736\"\u003e#20736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: upgrade sirv to 3.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20735\"\u003e#20735\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e11d24008b97d4ca731ecc1a3b95260a6d12e7e0\"\u003ee11d240\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20735\"\u003e#20735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: detect ts support via \u003ccode\u003eprocess.features\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20544\"\u003e#20544\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7d9922972b62329d37a71d4da5a4a382d0bf8a79\"\u003e7d99229\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20544\"\u003e#20544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.5 (2025-05-05)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(ssr): handle uninitialized export access as undefined (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19959\"\u003e#19959\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fd38d076fe2455aac1e00a7b15cd51159bf12bb5\"\u003efd38d07\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19959\"\u003e#19959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.4 (2025-04-30)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check static serve file inside sirv (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19965\"\u003e#19965\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c22c43de612eebb6c182dd67850c24e4fab8cacb\"\u003ec22c43d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19965\"\u003e#19965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(optimizer): return plain object when using \u003ccode\u003erequire\u003c/code\u003e to import externals in optimized dependenci (\u003ca href=\"https://github.com/vitejs/vite/commit/efc5eab253419fde0a6a48b8d2f233063d6a9643\"\u003eefc5eab\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19940\"\u003e#19940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove duplicate plugin context type (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19935\"\u003e#19935\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d6d01c2292fa4f9603e05b95d81c8724314c20e0\"\u003ed6d01c2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19935\"\u003e#19935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.3 (2025-04-24)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore malformed uris in tranform middleware (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19853\"\u003e#19853\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e4d520141bcd83ad61f16767348b4a813bf9340a\"\u003ee4d5201\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19853\"\u003e#19853\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6b3fad02abd550bd7b79934ff92c58dbd7f33045\"\u003e\u003ccode\u003e6b3fad0\u003c/code\u003e\u003c/a\u003e release: v6.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003e\u003ccode\u003eca4da5d\u003c/code\u003e\u003c/a\u003e fix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003e\u003ccode\u003efe28e47\u003c/code\u003e\u003c/a\u003e fix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5487f4f641f70c47ea05fd101a4319897df048b3\"\u003e\u003ccode\u003e5487f4f\u003c/code\u003e\u003c/a\u003e release: v6.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e\u003ccode\u003e1114b5d\u003c/code\u003e\u003c/a\u003e fix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f12697c0f64b9a37196b9ab218a0911829d5b103\"\u003e\u003ccode\u003ef12697c\u003c/code\u003e\u003c/a\u003e release: v6.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003e\u003ccode\u003eca6455e\u003c/code\u003e\u003c/a\u003e feat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0e173d83681daa31be10fa8a62d56b1ec84690af\"\u003e\u003ccode\u003e0e173d8\u003c/code\u003e\u003c/a\u003e release: v6.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003e\u003ccode\u003ec59a222\u003c/code\u003e\u003c/a\u003e fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3f337c5e24504e51188d29c970de1416ee523dbb\"\u003e\u003ccode\u003e3f337c5\u003c/code\u003e\u003c/a\u003e release: v6.3.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v6.4.2/packages/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 vite since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.4.17 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@apollo/server` from 4.12.2 to 5.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apollographql/apollo-server/releases\"\u003e@​apollo/server's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server-integration-testsuite\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/glasser\"\u003e\u003ccode\u003e@​glasser\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server-integration-testsuite\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/phryneas\"\u003e\u003ccode\u003e@​phryneas\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md\"\u003e@​apollo/server's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/glasser\"\u003e\u003ccode\u003e@​glasser\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/phryneas\"\u003e\u003ccode\u003e@​phryneas\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eThe default configuration of \u003ccode\u003estartStandaloneServer\u003c/code\u003e was vulnerable to denial of service (DoS) attacks through specially crafted request bodies with exotic character set encodings.\u003c/p\u003e\n\u003cp\u003eIn accordance with \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7159#section-8.1\"\u003eRFC 7159\u003c/a\u003e, we now only accept request bodies encoded in UTF-8, UTF-16 (LE or BE), or UTF-32 (LE or BE).\nAny other character set will be rejected with a \u003ccode\u003e415 Unsupported Media Type\u003c/code\u003e error.\nNote that the more recent JSON RFC, \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8259#section-8.1\"\u003eRFC 8259\u003c/a\u003e, is more strict and will only allow UTF-8.\nSince this is a minor release, we have chosen to remain compatible with the more permissive RFC 7159 for now.\nIn a future major release, we may tighten this restriction further to only allow UTF-8.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf you were not using \u003ccode\u003estartStandaloneServer\u003c/code\u003e, you were not affected by this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGenerally, please note that we provide \u003ccode\u003estartStandaloneServer\u003c/code\u003e as a convenience tool for quickly getting started with Apollo Server.\nFor production deployments, we recommend using Apollo Server with a more fully-featured web server framework such as Express, Koa, or Fastify, where you have more control over security-related configuration options.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/apollographql/apollo-server/pull/8062\"\u003e#8062\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/8e54e5827791666e36082ad49d19c77f050355ac\"\u003e\u003ccode\u003e8e54e58\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/cristunaranjo\"\u003e\u003ccode\u003e@​cristunaranjo\u003c/code\u003e\u003c/a\u003e! - Allow configuration of graphql execution options (maxCoercionErrors)\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003econst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  executionOptions: {\n    maxCoercionErrors: 50,\n  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/64c0e1bb5d79d571bf448c35aea0b31097e6ce9d\"\u003e\u003ccode\u003e64c0e1b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8192\"\u003e#8192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Reject GET requests with a Content-Type other than application/json (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8191\"\u003e#8191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ad45d1505d867de4c2761b7935855445ef7641e7\"\u003e\u003ccode\u003ead45d15\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8179\"\u003e#8179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/443e54747d44c1d7c213d019936514dec024b450\"\u003e\u003ccode\u003e443e547\u003c/code\u003e\u003c/a\u003e fix repository urls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/28d6d47ff636751807141267c329acb736c177b6\"\u003e\u003ccode\u003e28d6d47\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8172\"\u003e#8172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/26320bccd77c6074d4a38119294f153f64e52d96\"\u003e\u003ccode\u003e26320bc\u003c/code\u003e\u003c/a\u003e feat: Allow configuration of graphql validation options \u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8014\"\u003e#8014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/f2c16a7caff895a8b97c5a800405795cb19ba624\"\u003e\u003ccode\u003ef2c16a7\u003c/code\u003e\u003c/a\u003e bump dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/8e54e5827791666e36082ad49d19c77f050355ac\"\u003e\u003ccode\u003e8e54e58\u003c/code\u003e\u003c/a\u003e feat: Allow configuration of graphql execution options(maxCoercionErrors)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/7be3686ae62fb04bb4d0bfddb465d5e89631d4e4\"\u003e\u003ccode\u003e7be3686\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8163\"\u003e#8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apollographql/apollo-server/commits/@apollo/server@5.5.0/packages/server\"\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@​apollo/server\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `multer` from 2.0.2 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/multer/releases\"\u003emulter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.1\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3520\"\u003eCVE-2026-3520\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2\"\u003eGHSA-5528-5vmv-3xc2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add node version to 25.x in CI by \u003ca href=\"https://github.com/imangas\"\u003e\u003ccode\u003e@​imangas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1372\"\u003eexpressjs/multer#1372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ossf/scorecard-action from 2.4.0 to 2.4.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1378\"\u003eexpressjs/multer#1378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump coverallsapp/github-action from 1.2.5 to 2.3.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1377\"\u003eexpressjs/multer#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump github/codeql-action from 3.24.7 to 4.32.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1376\"\u003eexpressjs/multer#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 4.5.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1375\"\u003eexpressjs/multer#1375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4.1.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1374\"\u003eexpressjs/multer#1374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix error/abort handling by \u003ca href=\"https://github.com/ctcpip\"\u003e\u003ccode\u003e@​ctcpip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1373\"\u003eexpressjs/multer#1373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.1.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1380\"\u003eexpressjs/multer#1380\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/imangas\"\u003e\u003ccode\u003e@​imangas\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1372\"\u003eexpressjs/multer#1372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1378\"\u003eexpressjs/multer#1378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/multer/compare/v2.1.0...v2.1.1\"\u003ehttps://github.com/expressjs/multer/compare/v2.1.0...v2.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2359\"\u003eCVE-2026-2359\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-v52c-386h-88mc\"\u003eGHSA-v52c-386h-88mc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3304\"\u003eCVE-2026-3304\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-xf7r-hgr6-v32p\"\u003eGHSA-xf7r-hgr6-v32p\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add funding to package.json by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1346\"\u003eexpressjs/multer#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop mkdirp dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1350\"\u003eexpressjs/multer#1350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop object-assign dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1351\"\u003eexpressjs/multer#1351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop xtend dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1352\"\u003eexpressjs/multer#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(gitignore): ignore .nyc_output directory by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1332\"\u003eexpressjs/multer#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in README-vi.md regarding file upload by \u003ca href=\"https://github.com/Kunniii\"\u003e\u003ccode\u003e@​Kunniii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1366\"\u003eexpressjs/multer#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in README-pt-br.md for array method by \u003ca href=\"https://github.com/matheushbm192\"\u003e\u003ccode\u003e@​matheushbm192\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1367\"\u003eexpressjs/multer#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eheaders-support-utf8 by \u003ca href=\"https://github.com/Doc999tor\"\u003e\u003ccode\u003e@​Doc999tor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003eexpressjs/multer#1210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Turkish translation (README-tr.md) by \u003ca href=\"https://github.com/Sabandogan\"\u003e\u003ccode\u003e@​Sabandogan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1360\"\u003eexpressjs/multer#1360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 2.1.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1371\"\u003eexpressjs/multer#1371\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/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1350\"\u003eexpressjs/multer#1350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1332\"\u003eexpressjs/multer#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kunniii\"\u003e\u003ccode\u003e@​Kunniii\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1366\"\u003eexpressjs/multer#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matheushbm192\"\u003e\u003ccode\u003e@​matheushbm192\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1367\"\u003eexpressjs/multer#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Doc999tor\"\u003e\u003ccode\u003e@​Doc999tor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003eexpressjs/multer#1210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sabandogan\"\u003e\u003ccode\u003e@​Sabandogan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1360\"\u003eexpressjs/multer#1360\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/multer/compare/v2.0.2...v2.1.0\"\u003ehttps://github.com/expressjs/multer/compare/v2.0.2...v2.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/multer/blob/main/CHANGELOG.md\"\u003emulter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3520\"\u003eCVE-2026-3520\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2\"\u003eGHSA-5528-5vmv-3xc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix error/abort handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003edefParamCharset\u003c/code\u003e option for UTF-8 filename support (\u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2359\"\u003eCVE-2026-2359\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-v52c-386h-88mc\"\u003eGHSA-v52c-386h-88mc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3304\"\u003eCVE-2026-3304\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-xf7r-hgr6-v32p\"\u003eGHSA-xf7r-hgr6-v32p\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/expressjs/multer/commit/368c8a10cca11854cf17c24029fefd1eafb1c059\"\u003e\u003ccode\u003e368c8a1\u003c/code\u003e\u003c/a\u003e 2.1.1 (\u003ca href=\"https://redirect.github.com/expressjs/multer/issues/1380\"\u003e#1380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/7e66481f8b2e6c54b982b34c152479e096ce2752\"\u003e\u003ccode\u003e7e66481\u003c/code\u003e\u003c/a\u003e 🐛 fix recursion issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/643571ef85e9db94b87a777773f4d67156f82a3e\"\u003e\u003ccode\u003e643571e\u003c/code\u003e\u003c/a\u003e ✅ add explicit test for client able to send body without abrupt disconnect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/e86fa523753f8d54ad0687bf52fb20044b6fa309\"\u003e\u003ccode\u003ee86fa52\u003c/code\u003e\u003c/a\u003e fix error/abort handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/ca37779bf1f531a70af9977805380d0f51d293e2\"\u003e\u003ccode\u003eca37779\u003c/code\u003e\u003c/a\u003e chore(deps): bump ...\n\n_Description has been truncated_","html_url":"https://github.com/dculussoftwares/dculus-forms/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dculussoftwares%2Fdculus-forms/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"4575588113","node_id":"PR_kwDOQyJmX87iAD7P","number":121,"state":"closed","title":"deps(deps): bump the minor-and-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-06-07T21:21:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T23:07:09.000Z","updated_at":"2026-06-07T21:22:32.000Z","time_to_close":425642,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-and-patch","update_count":7,"packages":[{"name":"@lucide/svelte","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@biomejs/biome","old_version":"2.4.15","new_version":"2.4.16","repository_url":"https://github.com/biomejs/biome"},{"name":"@electric-sql/pglite","old_version":"0.4.5","new_version":"0.5.1","repository_url":"https://github.com/electric-sql/pglite"},{"name":"@internationalized/date","old_version":"3.12.1","new_version":"3.12.2","repository_url":"https://github.com/adobe/react-spectrum"},{"name":"knip","old_version":"6.14.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"vite","old_version":"8.0.13","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@lucide/svelte](https://github.com/lucide-icons/lucide/tree/HEAD/packages/svelte) | `1.16.0` | `1.17.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.15` | `2.4.16` |\n| [@electric-sql/pglite](https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite) | `0.4.5` | `0.5.1` |\n| [@internationalized/date](https://github.com/adobe/react-spectrum) | `3.12.1` | `3.12.2` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.14.1` | `6.15.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.13` | `8.0.16` |\n\n\nUpdates `@lucide/svelte` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003e@​lucide/svelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(lucide-vue-next|lucide-svelte|lucide-angular): Remove deprecated packages by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4376\"\u003elucide-icons/lucide#4376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(repo): Update issue templates and documentation for package ren… by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4379\"\u003elucide-icons/lucide#4379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Adds survey overlay to website by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4380\"\u003elucide-icons/lucide#4380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Certificate dev links by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4390\"\u003elucide-icons/lucide#4390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003emartini\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4335\"\u003elucide-icons/lucide#4335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump brace-expansion from 1.1.11 to 5.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4386\"\u003elucide-icons/lucide#4386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e from 2.0.0 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4404\"\u003elucide-icons/lucide#4404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump devalue from 5.8.0 to 5.8.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4391\"\u003elucide-icons/lucide#4391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ws from 8.18.0 to 8.20.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4392\"\u003elucide-icons/lucide#4392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gh-icon): limit icon size to a maximum of 256 pixels by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4398\"\u003elucide-icons/lucide#4398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dependencies): Update dependencies by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4377\"\u003elucide-icons/lucide#4377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(copilot): Adding copilot instructions by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4407\"\u003elucide-icons/lucide#4407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): add \u003ccode\u003eglobe-check\u003c/code\u003e by \u003ca href=\"https://github.com/Barakudum\"\u003e\u003ccode\u003e@​Barakudum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4342\"\u003elucide-icons/lucide#4342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(metadata): Require use-cases in meta json by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4321\"\u003elucide-icons/lucide#4321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eparasol\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4347\"\u003elucide-icons/lucide#4347\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.17.0/packages/svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@biomejs/biome` from 2.4.15 to 2.4.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.16\u003c/h2\u003e\n\u003ch2\u003e2.4.16\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10329\"\u003e#10329\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ef764d51b9f5be18ec5a4f9b4dce732512e5d805\"\u003e\u003ccode\u003eef764d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed an issue where diagnostics showed an incorrect location in Astro files.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10363\"\u003e#10363\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/50aa4157599a1ac5c77c13bce81f5c87240beff0\"\u003e\u003ccode\u003e50aa415\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed HTML formatting for a case where comments could cause the formatter to split up a closing tag, which would cause the resulting HTML to be syntactically invalid.\u003c/p\u003e\n\u003cp\u003eInput:\u003c/p\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;span\n  \u0026gt;\u0026lt;!-- 1\n--\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 2\n--\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 3\n--\u0026gt;\u0026lt;/span\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOutput:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e  \u0026lt;span\n\t  \u0026gt;\u0026lt;!-- 1\n- --\u0026gt; \u0026lt;span\u0026gt;a\u0026lt;/span\u0026lt;!-- 2\n- --\u0026gt; \u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n+ --\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\u0026gt;\u0026lt;!-- 2\n+ --\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n  --\u0026gt;\u0026lt;/span\n  \u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10465\"\u003e#10465\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/0c718da81770f47d65845bc1a006f99512d9359b\"\u003e\u003ccode\u003e0c718da\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dfedoryshchev\"\u003e\u003ccode\u003e@​dfedoryshchev\u003c/code\u003e\u003c/a\u003e! - Fixed diagnostics emitted by the \u003ccode\u003enoUntrustedLicenses\u003c/code\u003e rule.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10358\"\u003e#10358\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/05c26176573534a0abfa92d454d244f9569bc77d\"\u003e\u003ccode\u003e05c2617\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10356\"\u003e#10356\u003c/a\u003e: \u003ccode\u003ebiome rage --linter\u003c/code\u003e now displays rules enabled through linter domains in the enabled rules list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10300\"\u003e#10300\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/950247c389e693c16b47d61d8ef0f1b85d1a1b02\"\u003e\u003ccode\u003e950247c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10265\"\u003e#10265\u003c/a\u003e: Svelte function bindings such as \u003ccode\u003ebind:value={get, set}\u003c/code\u003e are now parsed more precisely, so \u003ca href=\"https://biomejs.dev/linter/rules/no-comma-operator/\"\u003e\u003ccode\u003enoCommaOperator\u003c/code\u003e\u003c/a\u003e won't emit false positives for that syntax anymore.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9786\"\u003e#9786\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MeGaNeKoS\"\u003e\u003ccode\u003e@​MeGaNeKoS\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/8480\"\u003e#8480\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/use-destructuring/\"\u003e\u003ccode\u003euseDestructuring\u003c/code\u003e\u003c/a\u003e now provides \u003ccode\u003evariableDeclarator\u003c/code\u003e and \u003ccode\u003eassignmentExpression\u003c/code\u003e options to control which contexts enforce destructuring, matching ESLint's \u003ccode\u003eprefer-destructuring\u003c/code\u003e configuration. Both default to \u003ccode\u003e{array: true, object: true}\u003c/code\u003e. The diagnostic for object destructuring in assignment expressions now instructs users to wrap the assignment in parentheses.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10425\"\u003e#10425\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1948b7242e092ed0cfcf501ef6f119202b8ea93b\"\u003e\u003ccode\u003e1948b72\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/sjh9714\"\u003e\u003ccode\u003e@​sjh9714\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10244\"\u003e#10244\u003c/a\u003e: The \u003ccode\u003euseOptionalChain\u003c/code\u003e rule now detects negated guard inequality chains like \u003ccode\u003e!foo || foo.bar !== \u0026quot;x\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10442\"\u003e#10442\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/001f94f696d9baca3c231d39895a01d4dd528d52\"\u003e\u003ccode\u003e001f94f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10411\"\u003e#10411\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-misused-promises/\"\u003e\u003ccode\u003enoMisusedPromises\u003c/code\u003e\u003c/a\u003e no longer causes a stack overflow when a nested function returns an object with shorthand properties that shadow destructured variables from an outer scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10318\"\u003e#10318\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added support for \u003ccode\u003eformatter.trailingCommas\u003c/code\u003e in overrides. This option was previously available in the top-level formatter configuration but missing from formatter overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10319\"\u003e#10319\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/2e3770923f9fb4e33606113e726014f7b63730d0\"\u003e\u003ccode\u003e2e37709\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed Vue and Svelte formatting for standalone interpolations in inline elements. Biome now preserves existing newlines in cases like:\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/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.16\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10329\"\u003e#10329\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ef764d51b9f5be18ec5a4f9b4dce732512e5d805\"\u003e\u003ccode\u003eef764d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed an issue where diagnostics showed an incorrect location in Astro files.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10363\"\u003e#10363\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/50aa4157599a1ac5c77c13bce81f5c87240beff0\"\u003e\u003ccode\u003e50aa415\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed HTML formatting for a case where comments could cause the formatter to split up a closing tag, which would cause the resulting HTML to be syntactically invalid.\u003c/p\u003e\n\u003cp\u003eInput:\u003c/p\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;span\n  \u0026gt;\u0026lt;!-- 1\n--\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 2\n--\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 3\n--\u0026gt;\u0026lt;/span\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOutput:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e  \u0026lt;span\n\t  \u0026gt;\u0026lt;!-- 1\n- --\u0026gt; \u0026lt;span\u0026gt;a\u0026lt;/span\u0026lt;!-- 2\n- --\u0026gt; \u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n+ --\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\u0026gt;\u0026lt;!-- 2\n+ --\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n  --\u0026gt;\u0026lt;/span\n  \u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10465\"\u003e#10465\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/0c718da81770f47d65845bc1a006f99512d9359b\"\u003e\u003ccode\u003e0c718da\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dfedoryshchev\"\u003e\u003ccode\u003e@​dfedoryshchev\u003c/code\u003e\u003c/a\u003e! - Fixed diagnostics emitted by the \u003ccode\u003enoUntrustedLicenses\u003c/code\u003e rule.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10358\"\u003e#10358\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/05c26176573534a0abfa92d454d244f9569bc77d\"\u003e\u003ccode\u003e05c2617\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10356\"\u003e#10356\u003c/a\u003e: \u003ccode\u003ebiome rage --linter\u003c/code\u003e now displays rules enabled through linter domains in the enabled rules list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10300\"\u003e#10300\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/950247c389e693c16b47d61d8ef0f1b85d1a1b02\"\u003e\u003ccode\u003e950247c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10265\"\u003e#10265\u003c/a\u003e: Svelte function bindings such as \u003ccode\u003ebind:value={get, set}\u003c/code\u003e are now parsed more precisely, so \u003ca href=\"https://biomejs.dev/linter/rules/no-comma-operator/\"\u003e\u003ccode\u003enoCommaOperator\u003c/code\u003e\u003c/a\u003e won't emit false positives for that syntax anymore.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9786\"\u003e#9786\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MeGaNeKoS\"\u003e\u003ccode\u003e@​MeGaNeKoS\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/8480\"\u003e#8480\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/use-destructuring/\"\u003e\u003ccode\u003euseDestructuring\u003c/code\u003e\u003c/a\u003e now provides \u003ccode\u003evariableDeclarator\u003c/code\u003e and \u003ccode\u003eassignmentExpression\u003c/code\u003e options to control which contexts enforce destructuring, matching ESLint's \u003ccode\u003eprefer-destructuring\u003c/code\u003e configuration. Both default to \u003ccode\u003e{array: true, object: true}\u003c/code\u003e. The diagnostic for object destructuring in assignment expressions now instructs users to wrap the assignment in parentheses.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10425\"\u003e#10425\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1948b7242e092ed0cfcf501ef6f119202b8ea93b\"\u003e\u003ccode\u003e1948b72\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/sjh9714\"\u003e\u003ccode\u003e@​sjh9714\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10244\"\u003e#10244\u003c/a\u003e: The \u003ccode\u003euseOptionalChain\u003c/code\u003e rule now detects negated guard inequality chains like \u003ccode\u003e!foo || foo.bar !== \u0026quot;x\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10442\"\u003e#10442\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/001f94f696d9baca3c231d39895a01d4dd528d52\"\u003e\u003ccode\u003e001f94f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10411\"\u003e#10411\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-misused-promises/\"\u003e\u003ccode\u003enoMisusedPromises\u003c/code\u003e\u003c/a\u003e no longer causes a stack overflow when a nested function returns an object with shorthand properties that shadow destructured variables from an outer scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10318\"\u003e#10318\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added support for \u003ccode\u003eformatter.trailingCommas\u003c/code\u003e in overrides. This option was previously available in the top-level formatter configuration but missing from formatter overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10319\"\u003e#10319\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/2e3770923f9fb4e33606113e726014f7b63730d0\"\u003e\u003ccode\u003e2e37709\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed Vue and Svelte formatting for standalone interpolations in inline elements. Biome now preserves existing newlines in cases like:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/5f4ea56b1dfb00d839af218e3c6484154073a7eb\"\u003e\u003ccode\u003e5f4ea56\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10326\"\u003e#10326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/de2a33ce8be86b696742f3adee35a66dc9fa943b\"\u003e\u003ccode\u003ede2a33c\u003c/code\u003e\u003c/a\u003e fix(core): regression in emitted types (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10478\"\u003e#10478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/d835303700f27f8f362a186a0dddc7995117daf9\"\u003e\u003ccode\u003ed835303\u003c/code\u003e\u003c/a\u003e docs: remove redundant default phrase in \u003ccode\u003euseConsistentObjectDefinitions\u003c/code\u003e rul...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/4f1aaf2f833d5963dd150836836be6bc68212d68\"\u003e\u003ccode\u003e4f1aaf2\u003c/code\u003e\u003c/a\u003e fix: incorrect build when using build or test (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10426\"\u003e#10426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/dc73b6baa55606ec7b6aa9229564b1c142116f2b\"\u003e\u003ccode\u003edc73b6b\u003c/code\u003e\u003c/a\u003e refactor: make plugins opt-in via feature gate (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10418\"\u003e#10418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e feat(useDestructuring): add options for assignment/declaration and improve di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e fix(config): support trailingCommas in overrides (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10318\"\u003e#10318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.16/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@electric-sql/pglite` from 0.4.5 to 0.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/electric-sql/pglite/releases\"\u003e@​electric-sql/pglite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e930e2d0: fix PGlite version; redeploy external extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite-prepopulatedfs\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [930e2d0]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\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/electric-sql/pglite/blob/main/packages/pglite/CHANGELOG.md\"\u003e@​electric-sql/pglite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e930e2d0: fix PGlite version; redeploy external extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2aa4d1a: Allow parsing of nulls in arrays \u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/997\"\u003e#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2095d4e: Add ICU support.\u003c/li\u003e\n\u003cli\u003ee937669: Restore process.exitCode\u003c/li\u003e\n\u003cli\u003e54ed6dc: new API method copyToFs() and new param postgresqlconf\u003c/li\u003e\n\u003cli\u003e817d073: restore exit code\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/4244a3e59a0aaccd87249634ed42d5c097f216be\"\u003e\u003ccode\u003e4244a3e\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/1c517da81acab5fe7dca382d5a318c479ee5678e\"\u003e\u003ccode\u003e1c517da\u003c/code\u003e\u003c/a\u003e Fix release (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1013\"\u003e#1013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/01f00c5df8be87b67876a37d4b3e692c6d05e648\"\u003e\u003ccode\u003e01f00c5\u003c/code\u003e\u003c/a\u003e chore: publish new package versions (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/93d50aa7fc1f01999290e202770117655938096c\"\u003e\u003ccode\u003e93d50aa\u003c/code\u003e\u003c/a\u003e PGlite on Postgres 18.3 (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/657171e4dcd41e676bc2ce8b956ba7fb59e8ef15\"\u003e\u003ccode\u003e657171e\u003c/code\u003e\u003c/a\u003e Update Postgres source links to newer repo (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/d964aceff09d7b8fe7b1c961d4d7b93aec637443\"\u003e\u003ccode\u003ed964ace\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/54ed6dc19fd8ee8549e5c1f209bb298d745cd4f8\"\u003e\u003ccode\u003e54ed6dc\u003c/code\u003e\u003c/a\u003e Allow copy to FS, useful for allowing postgresql.conf (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/2095d4e5ae7ade84ca6305640db0977da1f7c66f\"\u003e\u003ccode\u003e2095d4e\u003c/code\u003e\u003c/a\u003e ICU support (new) (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/2aa4d1ae89ba20283441f4b7088e1d25c1b60f8e\"\u003e\u003ccode\u003e2aa4d1a\u003c/code\u003e\u003c/a\u003e Parse nulls in arrays (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/998\"\u003e#998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/e08e50183b3b094b1e306dc3715af6f3467e9ac5\"\u003e\u003ccode\u003ee08e501\u003c/code\u003e\u003c/a\u003e Faster basic tests (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electric-sql/pglite/commits/@electric-sql/pglite@0.5.1/packages/pglite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@internationalized/date` from 3.12.1 to 3.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adobe/react-spectrum/releases\"\u003e@​internationalized/date's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eReact Spectrum S2 v1.4.0\u003c/h2\u003e\n\u003cp\u003eThis release brings long awaited \u003ca href=\"https://react-spectrum.adobe.com/dnd\"\u003edrag and drop support\u003c/a\u003e to \u003ca href=\"https://react-spectrum.adobe.com/ListView#drag-and-drop\"\u003eListView\u003c/a\u003e, \u003ca href=\"https://react-spectrum.adobe.com/TableView#drag-and-drop\"\u003eTableView\u003c/a\u003e, and \u003ca href=\"https://react-spectrum.adobe.com/TreeView#drag-and-drop\"\u003eTreeView\u003c/a\u003e! TableView now also supports \u003ca href=\"https://react-spectrum.adobe.com/TableView\"\u003ehighlight selection\u003c/a\u003e and a new \u003ca href=\"https://react-spectrum.adobe.com/TableView#content\"\u003eTableFooter\u003c/a\u003e component. Form components such as \u003ca href=\"https://react-spectrum.adobe.com/ComboBox#content\"\u003eComboBox\u003c/a\u003e and \u003ca href=\"https://react-spectrum.adobe.com/TextField#prefix\"\u003eTextField\u003c/a\u003e now allow custom prefixes, and the new \u003ca href=\"https://react-spectrum.adobe.com/LabeledValue\"\u003eLabeledValue\u003c/a\u003e can be used to display non-editable values. In addition, description and error messages can be configured for \u003ca href=\"https://react-spectrum.adobe.com/Checkbox#forms\"\u003eCheckbox\u003c/a\u003e, \u003ca href=\"https://react-spectrum.adobe.com/RadioGroup\"\u003eRadio\u003c/a\u003e, and \u003ca href=\"https://react-spectrum.adobe.com/Switch#forms\"\u003eSwitch\u003c/a\u003e. Last but not least, \u003ca href=\"https://react-spectrum.adobe.com/Calendar\"\u003eCalendar\u003c/a\u003e now supports multiple date selection.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-4-0\"\u003eFull Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.3.0\u003c/h2\u003e\n\u003cp\u003eIn this release we are excited to announce support for \u003ca href=\"https://react-spectrum.adobe.com/TableView#expandable-rows\"\u003eexpandable rows\u003c/a\u003e in TableView, highlight selection in \u003ca href=\"https://react-spectrum.adobe.com/TreeView\"\u003eTreeView\u003c/a\u003e, and window scrolling in collection components! Window scrolling enables virtualized collections to automatically scroll with the rest of the page – no height needed. In addition, we've updated the set of available \u003ca href=\"https://react-spectrum.adobe.com/icons\"\u003eworkflow icons\u003c/a\u003e, and reduced the number of dependencies installed when using S2 by over 90% – see the full release notes for details.\u003c/p\u003e\n\u003cp\u003eTo help assist with migrations from S1 to S2, we've added a new end to end \u003ca href=\"https://react-spectrum.adobe.com/migrating#ai-assisted-migration-recommended\"\u003emigration Agent skill\u003c/a\u003e that you can use with your agent of choice. Our existing \u003ca href=\"https://react-spectrum.adobe.com/ai#agent-skills\"\u003eS2 Agent skill\u003c/a\u003e has also been updated to greatly improve its ability to select the proper S2 component to use from context, so be sure to update.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-3-0\"\u003eFull release notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.2.0\u003c/h2\u003e\n\u003cp\u003eIn this release, we are excited to announce that \u003ca href=\"https://react-spectrum.adobe.com/ListView\"\u003eListView\u003c/a\u003e and \u003ca href=\"https://react-spectrum.adobe.com/Menu#unavailable-items\"\u003eunavailable menu items\u003c/a\u003e are now available! In addition, we have added \u003ca href=\"https://react-spectrum.adobe.com/ActionBar\"\u003eActionBar\u003c/a\u003e support for TreeView and \u003ca href=\"https://react-spectrum.adobe.com/Picker#custom-render-value\"\u003ecustom renderer support\u003c/a\u003e for the Picker's display value. We also shipped multiple TableView fixes and a set of documentation improvements including a Typography search view now available in the main search menu.\u003c/p\u003e\n\u003cp\u003eThanks to all of our contributors for the updates in this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-2-0\"\u003eFull release notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.1.0\u003c/h2\u003e\n\u003cp\u003eIt’s our first release of the new year and we’ve got plenty of exciting treats we’re bringing to the table. We’ve added a variety of new features to our documentation site including a new dark/light mode switch in the site header. Our search menu also now features a Colors section where you can browse the Spectrum-defined colors and search by name or hex value to find close or exact matches. We also now offer our docs in the form of \u003ca href=\"https://react-spectrum.adobe.com/ai#agent-skills\"\u003eAgent Skills\u003c/a\u003e that can be installed locally and used by your favorite AI coding tools.\u003c/p\u003e\n\u003cp\u003eThis release also includes several bugs fixes, such as properly rendering menus when rendered from within a popover and updates to TreeView disabledBehavior styling to match the latest designs.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-1-0\"\u003eFull Release Notes\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/adobe/react-spectrum/commit/791377f0ad2093fb6ad36582e403289f13b0376b\"\u003e\u003ccode\u003e791377f\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/78406036d3968c04dccf8818bef0ed5368b88a09\"\u003e\u003ccode\u003e7840603\u003c/code\u003e\u003c/a\u003e chore: update test util page badges (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10123\"\u003e#10123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/2cea5b59697b96298661b00218607560e151ecc1\"\u003e\u003ccode\u003e2cea5b5\u003c/code\u003e\u003c/a\u003e chore: update circleci resource classes (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/83e5b5308f76f9297e21c4c0a04d5af11ad4ca0a\"\u003e\u003ccode\u003e83e5b53\u003c/code\u003e\u003c/a\u003e chore: Omit calendar features from v3 (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10122\"\u003e#10122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/2c18eb685a1b6a7ebe164b2a82439e70fd603d54\"\u003e\u003ccode\u003e2c18eb6\u003c/code\u003e\u003c/a\u003e fix: Custom 454 Calendar month (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10115\"\u003e#10115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/ed9170f4ba232cef9ae22eb5ede01f2affa071c9\"\u003e\u003ccode\u003eed9170f\u003c/code\u003e\u003c/a\u003e fix: ensure Tableview and ListView render their dividers and borders with the...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/6206fc3b21c2982e4a03c7b9aaa644e07d6c2f9f\"\u003e\u003ccode\u003e6206fc3\u003c/code\u003e\u003c/a\u003e chore: Only export DragPreview from useDragAndDrop subpath (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10114\"\u003e#10114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/8e4498fa3c965ea000115872773926040a1a72f0\"\u003e\u003ccode\u003e8e4498f\u003c/code\u003e\u003c/a\u003e docs: add api section with slots to DragPreview (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10113\"\u003e#10113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/719ebb227f03fab6c6b7e8cf9775b73c7901493c\"\u003e\u003ccode\u003e719ebb2\u003c/code\u003e\u003c/a\u003e fix: optimize locales not tree-shaking react-stately intl messages (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10111\"\u003e#10111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/3547c08ac6273c1ad55019ac6ea6c35865972048\"\u003e\u003ccode\u003e3547c08\u003c/code\u003e\u003c/a\u003e fix: stabilise our flaky CI jobs (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10106\"\u003e#10106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adobe/react-spectrum/compare/@internationalized/date@3.12.1...@internationalized/date@3.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.14.1 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.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\u003cli\u003eFormat (eb4b178d5d90a719cdc576d644766f8f95a47876)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@​wdio/types\u003c/code\u003e dev dep with inline types (a3747d61ee0e594854e5da0ca6cb7597e0096b99)\u003c/li\u003e\n\u003cli\u003eBump dependencies (822ab3905cb7b5a216404231607a7820105930a2)\u003c/li\u003e\n\u003cli\u003eWork AGENTS.md, etcetera (361bd4803934a01e01b08170565f8374e4e49eb2)\u003c/li\u003e\n\u003cli\u003eRemove rootDirs workaround resolved by oxc-resolver 11.20.0 (e190a9fec22db41975cf9568a31970a05c86e66b)\u003c/li\u003e\n\u003cli\u003eAdd nuxt no-root-tsconfig fixture guarding alias resolution (e3e5bc94d5f7b6ffdbc89b18d7c8d5acbb5a9008)\u003c/li\u003e\n\u003cli\u003eAllow extra args for release-it (f9c59952fa2c8c4c13bd42edc0935610900d1980)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/vercel\"\u003e\u003ccode\u003e@​vercel\u003c/code\u003e\u003c/a\u003e as platinum sponsor (c4c06a9149c986680f0d1aa74b57a46ff1f88601)\u003c/li\u003e\n\u003cli\u003eOverhaul \u0026amp; improve --trace functionailty (60df0b05f364c8d841c0f784a06bab2a3215a32f)\u003c/li\u003e\n\u003cli\u003eRe-gen plugins.md (0f9d044d312053154498a562e3a9422a4f44afe6)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix vscode-knip build: pin native oxc bindings to bundled JS version (1b45a4103312c9c059560ae2e1eac25d86b4e2ac)\u003c/li\u003e\n\u003cli\u003eRelease vscode-knip@2.1.5 (328892eb04e65b4702e1ef2303db3156b8f2e1a3)\u003c/li\u003e\n\u003cli\u003eFix Astro plugin to support both possible middleware entry points (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1749\"\u003e#1749\u003c/a\u003e) (33e0cc1a530a8cf5b6b05c8b3a3ca55f8fce8a75) - thanks \u003ca href=\"https://github.com/schmalz-dmi\"\u003e\u003ccode\u003e@​schmalz-dmi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix LICENSE link (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1760\"\u003e#1760\u003c/a\u003e) (829620f9077ddea086a610c279c7c1250dd66e11) - thanks \u003ca href=\"https://github.com/vortispy\"\u003e\u003ccode\u003e@​vortispy\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix GraphQL Codegen script config dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1756\"\u003e#1756\u003c/a\u003e) (e841c6355e7eff240e74010bfd2be8bbb22ff2b6) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSet pnpm config via env vars, disable verify-deps in ecosystem tests (53c12248cc3e79fd79f3efde691d463fc795c40f)\u003c/li\u003e\n\u003cli\u003eUpdate slonik ecosystem snapshot (f18410b34c8554364a9f003660bebae5e826de57)\u003c/li\u003e\n\u003cli\u003eFix Serverless TypeScript plugin dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1757\"\u003e#1757\u003c/a\u003e) (ebde7f8f3e3004db7f51fb5d60a0bdc2452116ef) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix extended tsconfig type dependency attribution (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1758\"\u003e#1758\u003c/a\u003e) (f600b09e562317a37844ed8cdf1b9b46e06c9405) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Bun binary dependency tracking (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1759\"\u003e#1759\u003c/a\u003e) (1b289239f35ff2912195b7e39a96c667c54c1fc5) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDetect Babel plugins/presets in Vite plugin options (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1761\"\u003e#1761\u003c/a\u003e) (2753d6910743a12a207fca81cb8325c00803963a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3f3769e37b75e3d35e3713e8435735adc00df52b\"\u003e\u003ccode\u003e3f3769e\u003c/code\u003e\u003c/a\u003e Release knip@6.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/60df0b05f364c8d841c0f784a06bab2a3215a32f\"\u003e\u003ccode\u003e60df0b0\u003c/code\u003e\u003c/a\u003e Overhaul \u0026amp; improve --trace functionailty\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e3e5bc94d5f7b6ffdbc89b18d7c8d5acbb5a9008\"\u003e\u003ccode\u003ee3e5bc9\u003c/code\u003e\u003c/a\u003e Add nuxt no-root-tsconfig fixture guarding alias resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e190a9fec22db41975cf9568a31970a05c86e66b\"\u003e\u003ccode\u003ee190a9f\u003c/code\u003e\u003c/a\u003e Remove rootDirs workaround resolved by oxc-resolver 11.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/822ab3905cb7b5a216404231607a7820105930a2\"\u003e\u003ccode\u003e822ab39\u003c/code\u003e\u003c/a\u003e Bump dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a3747d61ee0e594854e5da0ca6cb7597e0096b99\"\u003e\u003ccode\u003ea3747d6\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003e@​wdio/types\u003c/code\u003e dev dep with inline types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/eb4b178d5d90a719cdc576d644766f8f95a47876\"\u003e\u003ccode\u003eeb4b178\u003c/code\u003e\u003c/a\u003e Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/b5afb9f29e3474eee4bf276c1de83cb0682a5663\"\u003e\u003ccode\u003eb5afb9f\u003c/code\u003e\u003c/a\u003e Inline trivial installed-binaries and types-included accessors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5\"\u003e\u003ccode\u003e010d570\u003c/code\u003e\u003c/a\u003e Flatten control flow in ConfigurationChief\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/55143941eebbc8dac12c79b77c1f65a8b61dfbef\"\u003e\u003ccode\u003e5514394\u003c/code\u003e\u003c/a\u003e Simplify installed-binaries collection in manifest metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.15.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.13 to 8.0.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.16\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.16/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.15\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.15/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.15...v8.0.16\"\u003e8.0.16\u003c/a\u003e (2026-06-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e reject UNC paths for launch-editor-middleware (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22571\"\u003e#22571\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9\"\u003e50b9512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject windows alternate paths (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22572\"\u003e#22572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546\"\u003edc245c7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.14...v8.0.15\"\u003e8.0.15\u003c/a\u003e (2026-06-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esend 408 on request timeout (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22476\"\u003e#22476\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c85c9eeb9aaf41f477b48b057146887bd5620797\"\u003ec85c9ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.3 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22538\"\u003e#22538\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575\"\u003e646dbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecapitalize error messages and remove spurious space in parse error (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22488\"\u003e#22488\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3\"\u003e85a0eff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22511\"\u003e#22511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa\"\u003e2686d7d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e fix html-proxy cache key mismatch for /@fs/ HTML paths (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21762\"\u003e#21762\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47c4213f134f562c41ed7c031e4788510cf7e31e\"\u003e47c4213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e error on relative glob in virtual module when no files match (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22497\"\u003e#22497\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5c8e98f8b584ac5d42f0f9b8580c49792213b13c\"\u003e5c8e98f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e close the rolldown bundle when write() rejects (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22528\"\u003e#22528\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815\"\u003ee3cfb9d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eresolve:\u003c/strong\u003e provide onWarn for viteResolvePlugin in JS plugin containers (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22509\"\u003e#22509\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/40985f1c09b7696e594e6c5695fbc315d2da2c83\"\u003e40985f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22566\"\u003e#22566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd\"\u003e3052a67\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecorrect logic in \u003ccode\u003ecollectAllModules\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22562\"\u003e#22562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c\"\u003e6978a9c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f94df87ff03b40b65e29bacdc04cc18c7bccaa4a\"\u003e\u003ccode\u003ef94df87\u003c/code\u003e\u003c/a\u003e release: v8.0.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546\"\u003e\u003ccode\u003edc245c7\u003c/code\u003e\u003c/a\u003e fix: reject windows alternate paths (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22572\"\u003e#22572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9\"\u003e\u003ccode\u003e50b9512\u003c/code\u003e\u003c/a\u003e fix(deps): reject UNC paths for launch-editor-middleware (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22571\"\u003e#22571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/8d1b0195fd186d0b3297d7cd17acff6c96797420\"\u003e\u003ccode\u003e8d1b019\u003c/code\u003e\u003c/a\u003e release: v8.0.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa\"\u003e\u003ccode\u003e2686d7d\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd\"\u003e\u003ccode\u003e3052a67\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22566\"\u003e#22566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815\"\u003e\u003ccode\u003ee3cfb9d\u003c/code\u003e\u003c/a\u003e fix(optimizer): close the rolldown bundle when write() rejects (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22528\"\u003e#22528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c\"\u003e\u003ccode\u003e6978a9c\u003c/code\u003e\u003c/a\u003e refactor: correct logic in \u003ccode\u003ecollectAllModules\u003c/code\u003e function (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22562\"\u003e#22562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575\"\u003e\u003ccode\u003e646dbed\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.3 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22538\"\u003e#22538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3\"\u003e\u003ccode\u003e85a0eff\u003c/code\u003e\u003c/a\u003e fix: capitalize error messages and remove spurious space in parse error (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits view...\n\n_Description has been truncated_","html_url":"https://github.com/Divkix/Logwell/pull/121","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Divkix%2FLogwell/issues/121","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/121/packages"},{"uuid":"4570453922","node_id":"PR_kwDOSHdZr87hvGuS","number":26,"state":"open","title":"deps(deps): bump the patch-minor group across 1 directory with 29 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-02T10:05:11.000Z","updated_at":"2026-06-02T10:05:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"patch-minor","update_count":29,"packages":[{"name":"@base-ui/react","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/mui/base-ui"},{"name":"@better-auth/passkey","old_version":"1.6.5","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@hookform/resolvers","old_version":"5.2.2","new_version":"5.4.0","repository_url":"https://github.com/react-hook-form/resolvers"},{"name":"@prisma/adapter-pg","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"better-auth","old_version":"1.6.5","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"cloudinary","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/cloudinary/cloudinary_npm"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/date-fns/date-fns"},{"name":"jspdf-autotable","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/simonbengtsson/jsPDF-AutoTable"},{"name":"lucide-react","old_version":"1.11.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"nodemailer","old_version":"8.0.5","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"react","old_version":"19.2.4","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.16","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.4","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-hook-form","old_version":"7.74.0","new_version":"7.77.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"react-resizable-panels","old_version":"4.10.0","new_version":"4.11.2","repository_url":"https://github.com/bvaughn/react-resizable-panels"},{"name":"recharts","old_version":"3.8.0","new_version":"3.8.1","repository_url":"https://github.com/recharts/recharts"},{"name":"shadcn","old_version":"4.3.1","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"@tailwindcss/postcss","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"eslint-config-next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"tailwindcss","old_version":"4.2.2","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":"vitest","old_version":"4.1.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the patch-minor group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@base-ui/react](https://github.com/mui/base-ui/tree/HEAD/packages/react) | `1.4.0` | `1.5.0` |\n| [@better-auth/passkey](https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey) | `1.6.5` | `1.6.13` |\n| [@hookform/resolvers](https://github.com/react-hook-form/resolvers) | `5.2.2` | `5.4.0` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.7.0` | `7.8.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.7.0` | `7.8.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.5` | `1.6.13` |\n| [cloudinary](https://github.com/cloudinary/cloudinary_npm) | `2.9.0` | `2.10.0` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.4.0` |\n| [jspdf-autotable](https://github.com/simonbengtsson/jsPDF-AutoTable) | `5.0.7` | `5.0.8` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.11.0` | `1.17.0` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.5` | `8.0.10` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.4` | `19.2.7` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.74.0` | `7.77.0` |\n| [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | `4.10.0` | `4.11.2` |\n| [recharts](https://github.com/recharts/recharts) | `3.8.0` | `3.8.1` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.3.1` | `4.10.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.3.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.6` | `16.2.7` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.7.0` | `7.8.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.4` | `4.1.8` |\n\n\nUpdates `@base-ui/react` 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/mui/base-ui/releases\"\u003e@​base-ui/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4661\"\u003e#4661\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse local document for virtual arrow (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4662\"\u003e#4662\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix macOS Safari and Firefox minimizing fullscreen when closing popups with \u003c!-- raw HTML omitted --\u003eEsc\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4695\"\u003e#4695\u003c/a\u003e) by \u003ca href=\"https://github.com/arturbien\"\u003e\u003ccode\u003e@​arturbien\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unnecessary memoization (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4693\"\u003e#4693\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not use \u003ccode\u003eMath.random()\u003c/code\u003e in \u003ccode\u003euseStableCallback()\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4732\"\u003e#4732\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix return focus when reference disconnects (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't steal initial focus if focus already moved inside a popup (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4775\"\u003e#4775\u003c/a\u003e) by \u003ca href=\"https://github.com/stefee\"\u003e\u003ccode\u003e@​stefee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix native \u003ccode\u003eFormData\u003c/code\u003e for popup inputs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4725\"\u003e#4725\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSubmit the associated form when pressing \u003c!-- raw HTML omitted --\u003eEnter\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose clear visibility state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4664\"\u003e#4664\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix popup input form submit (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4687\"\u003e#4687\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ecloseQuery\u003c/code\u003e when closing multiple input-inside-popup combobox (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4715\"\u003e#4715\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore hidden-input changes while readonly or disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4810\"\u003e#4810\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsider the controlled \u003ccode\u003eopen\u003c/code\u003e prop for open state detection (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4712\"\u003e#4712\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDrawer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eField\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eForm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMenu\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix submenu pointer-events scope for \u003ccode\u003ekeepMounted\u003c/code\u003e portals (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4723\"\u003e#4723\u003c/a\u003e) by \u003ca href=\"https://github.com/twillhorn\"\u003e\u003ccode\u003e@​twillhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/blob/master/CHANGELOG.md\"\u003e@​base-ui/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eMay 19, 2026\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4661\"\u003e#4661\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse local document for virtual arrow (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4662\"\u003e#4662\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix macOS Safari and Firefox minimizing fullscreen when closing popups with \u003c!-- raw HTML omitted --\u003eEsc\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4695\"\u003e#4695\u003c/a\u003e) by \u003ca href=\"https://github.com/arturbien\"\u003e\u003ccode\u003e@​arturbien\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unnecessary memoization (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4693\"\u003e#4693\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not use \u003ccode\u003eMath.random()\u003c/code\u003e in \u003ccode\u003euseStableCallback()\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4732\"\u003e#4732\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix return focus when reference disconnects (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't steal initial focus if focus already moved inside a popup (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4775\"\u003e#4775\u003c/a\u003e) by \u003ca href=\"https://github.com/stefee\"\u003e\u003ccode\u003e@​stefee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix native \u003ccode\u003eFormData\u003c/code\u003e for popup inputs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4725\"\u003e#4725\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSubmit the associated form when pressing \u003c!-- raw HTML omitted --\u003eEnter\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose clear visibility state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4664\"\u003e#4664\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix popup input form submit (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4687\"\u003e#4687\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ecloseQuery\u003c/code\u003e when closing multiple input-inside-popup combobox (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4715\"\u003e#4715\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore hidden-input changes while readonly or disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4810\"\u003e#4810\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsider the controlled \u003ccode\u003eopen\u003c/code\u003e prop for open state detection (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4712\"\u003e#4712\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDrawer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eField\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eForm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/2fdf1b06f2b8b25bf86124bf6c8810a6aa2352a8\"\u003e\u003ccode\u003e2fdf1b0\u003c/code\u003e\u003c/a\u003e [release] v1.5.0 (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4850\"\u003e#4850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8535638e9ac36330fd711bd3a3e81ee6898d9468\"\u003e\u003ccode\u003e8535638\u003c/code\u003e\u003c/a\u003e [otp field] Fix vertical arrow slot navigation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4844\"\u003e#4844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/09ce83bfa512300511b690bd30c5a08877d319d9\"\u003e\u003ccode\u003e09ce83b\u003c/code\u003e\u003c/a\u003e [alert dialog] Fix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/5e0f3e73e43e9552cab72318dcbcee70ecfa3abe\"\u003e\u003ccode\u003e5e0f3e7\u003c/code\u003e\u003c/a\u003e [menu] Support group labels in radio groups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4826\"\u003e#4826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8db1aa95e52c6a0f687232f638ba0f753f03d53d\"\u003e\u003ccode\u003e8db1aa9\u003c/code\u003e\u003c/a\u003e [otp field] Fix RTL arrow navigation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ccb4b307586b6549930bd6da30fd2cdcc8b45526\"\u003e\u003ccode\u003eccb4b30\u003c/code\u003e\u003c/a\u003e [otp field] Compose \u003ccode\u003enormalizeValue\u003c/code\u003e with validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4717\"\u003e#4717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ad99b44c38e4d044d6a8f40ff9b90d55160a9bbd\"\u003e\u003ccode\u003ead99b44\u003c/code\u003e\u003c/a\u003e [direction provider] Fix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/5579e7f8518c5fb97d2fd977d6d978aa988f46c0\"\u003e\u003ccode\u003e5579e7f\u003c/code\u003e\u003c/a\u003e [drawer] Forward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\\\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/81703365122b88f8ccf25a14587c0e58e8b0ee70\"\u003e\u003ccode\u003e8170336\u003c/code\u003e\u003c/a\u003e [navigation menu] Fix \u003ccode\u003ekeepMounted\u003c/code\u003e content sizing (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4817\"\u003e#4817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/4a339d027ca09cbddc19da134d9bcc5d75388fee\"\u003e\u003ccode\u003e4a339d0\u003c/code\u003e\u003c/a\u003e [otp field] Prevent locked hidden autofill validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4827\"\u003e#4827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mui/base-ui/commits/v1.5.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/passkey` from 1.6.5 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/passkey's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/passkey/CHANGELOG.md\"\u003e@​better-auth/passkey's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9746\"\u003e#9746\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/33a3632731ab1aa722d82541dc2aff71ba3f2090\"\u003e\u003ccode\u003e33a3632\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/reslear\"\u003e\u003ccode\u003e@​reslear\u003c/code\u003e\u003c/a\u003e! - fix: hotfix passkey handle undefined transports\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9622\"\u003e#9622\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/8907c7df9cf330f36ded6fa3cd588faf6ca8e568\"\u003e\u003ccode\u003e8907c7d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - A WebAuthn challenge can now only be used once. Two concurrent passkey verification requests carrying the same challenge cookie can no longer both succeed; the second now fails with \u003ccode\u003eCHALLENGE_NOT_FOUND\u003c/code\u003e. Failed verification also surfaces the actual error status: a failed \u003ccode\u003everifyPasskeyRegistration\u003c/code\u003e returns \u003ccode\u003e400 FAILED_TO_VERIFY_REGISTRATION\u003c/code\u003e instead of \u003ccode\u003e500 Internal Server Error\u003c/code\u003e, and a failed \u003ccode\u003everifyPasskeyAuthentication\u003c/code\u003e returns \u003ccode\u003e401 AUTHENTICATION_FAILED\u003c/code\u003e instead of \u003ccode\u003e400 AUTHENTICATION_FAILED\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7a120724c5c3fdd9d60d59169b32d693e9497fec\"\u003e\u003ccode\u003e7a12072\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f77060af3a9d1f19f05a26ccf6e56d79bb9db69d\"\u003e\u003ccode\u003ef77060a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/dcb2e6d29cf4c986ff8980dab50bcfcb8110a749\"\u003e\u003ccode\u003edcb2e6d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5fcc9d37f2c46d3719a70c18857d9913ce172cf\"\u003e\u003ccode\u003ef5fcc9d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d91eb77f5c10779b287f9c8de0495fcb75a425a\"\u003e\u003ccode\u003e9d91eb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a3b0c63de908b9f85d6c1d6c06f89bab16a72ba3\"\u003e\u003ccode\u003ea3b0c63\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b40dac22e0cfddbbb27136fe8067aba154ca91a\"\u003e\u003ccode\u003e1b40dac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5626e1b4375aef7735e4f1103035377cbfad755c\"\u003e\u003ccode\u003e5626e1b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ad9ad824965cb8385f6f2a921576f2cc58ac2b47\"\u003e\u003ccode\u003ead9ad82\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/62dabf66780a3dc7270e419886a15c43f3c8d879\"\u003e\u003ccode\u003e62dabf6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/276d67fad597ca415a023c10fb5e1165093eebd1\"\u003e\u003ccode\u003e276d67f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d73ffff4470664147e7207336442029c35f12d9\"\u003e\u003ccode\u003e2d73fff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/0a7cb7064723d2096e36f44b86c59f7181a8e0c5\"\u003e\u003ccode\u003e0a7cb70\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/015f96bc63a90c06a67fbaf80e286b6f6fe1967d\"\u003e\u003ccode\u003e015f96b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43cc49c640c0d2c27572807a291d318bbcadfd04\"\u003e\u003ccode\u003e43cc49c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5e29eaf1e57d73a024d12b1bedf4162e5f4a863\"\u003e\u003ccode\u003ef5e29ea\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1d372bbab9117f5a574ecb608b7a5108f1ccbc66\"\u003e\u003ccode\u003e1d372bb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/3f8f310a0f2737f65bb4393eefd6b9372b2cb00e\"\u003e\u003ccode\u003e3f8f310\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/17cd433c66a6ed323b9fda7d4e7db5ad98d8099b\"\u003e\u003ccode\u003e17cd433\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c01b2f13216463fc0fc0054b5acdb9559d29d825\"\u003e\u003ccode\u003ec01b2f1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/6b44606b7d596527b59176b7a0cd06ea66df9031\"\u003e\u003ccode\u003e6b44606\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/04303a92acd6fd3cf9d5f5ab5901255e67526ad3\"\u003e\u003ccode\u003e04303a9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7bf5449b11866bd82deafee910619660c153d799\"\u003e\u003ccode\u003e7bf5449\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2b7937fc2febd048bfc14b8226287b55b7d48e52\"\u003e\u003ccode\u003e2b7937f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b0ef96fd8ec08ebb4d6ad0c0557d4b7855703f10\"\u003e\u003ccode\u003eb0ef96f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e21d744987476c20a934c79ef226fe6a5f468e22\"\u003e\u003ccode\u003ee21d744\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.11\u003c/li\u003e\n\u003cli\u003ebetter-auth@1.6.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9429\"\u003e#9429\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ddae5817c882ed47961588e795ee194ee64c9e6b\"\u003e\u003ccode\u003eddae581\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e! - Return a handled auth cancellation when passkey autofill authentication cannot start.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/1e0f26d4c83608d14a533f33458ade0f8504fd16\"\u003e\u003ccode\u003e1e0f26d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/8c1e91757d91d103c332e90201c39ce5892c37e8\"\u003e\u003ccode\u003e8c1e917\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b2d655c77c7c627ada17456d1de106fdce6fa18e\"\u003e\u003ccode\u003eb2d655c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/09f1327acb9c6bbfeb272dc62c7013172cf33153\"\u003e\u003ccode\u003e09f1327\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/906b7b34a710d49798e166395da2bcd2be13ef46\"\u003e\u003ccode\u003e906b7b3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e9c978e2af9e61d35f50fd040305cbb8fdda32ba\"\u003e\u003ccode\u003ee9c978e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e71aad3b6d67502cfb770fa8890f3ab58c537114\"\u003e\u003ccode\u003ee71aad3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/80a655d271dcae5f785a70f13be60f80fb828cf1\"\u003e\u003ccode\u003e80a655d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/15ff28a957a18df8ecd2aa08d66b94c91ae9a6a4\"\u003e\u003ccode\u003e15ff28a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/88a7c678f4db3f7da580d53071b2595b92354a45\"\u003e\u003ccode\u003e88a7c67\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9a7b51d0d3dfbc6b2697fe5f9edd0bb480bdf89b\"\u003e\u003ccode\u003e9a7b51d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b259024dcd1bbbc08559ee057f22c01929a72a7\"\u003e\u003ccode\u003e1b25902\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/cf591360e72a8d01741618cd61cdeea84cf8398a\"\u003e\u003ccode\u003ecf59136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a597ee01ed4e6d85aba5ee9f15100acc578390d9\"\u003e\u003ccode\u003ea597ee0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/fc02cedb708e2b5987a177539a903cc35155a426\"\u003e\u003ccode\u003efc02ced\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9f1ef1f7e5500e0b3dbe2a18e25e3519847cd7a9\"\u003e\u003ccode\u003e9f1ef1f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/36ef808c6cedec6eeb9a3a4e6790e0ab46d96ff3\"\u003e\u003ccode\u003e36ef808\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c1336c563d45f93ca3fd4da4e6c767fc267d86d0\"\u003e\u003ccode\u003ec1336c5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/3a9a2c37eeab1d0c98845a47642d4dc27fe54ceb\"\u003e\u003ccode\u003e3a9a2c3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/fde043207ef3d5a5e1f74aa5ddabf77d523d52d4\"\u003e\u003ccode\u003efde0432\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2220a6d6c25ebd24c8568131636389dc0c12f82b\"\u003e\u003ccode\u003e2220a6d\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/815ecf62b6f6c5bf656ab55da393ce63d7eed0a6\"\u003e\u003ccode\u003e815ecf6\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.9\u003c/li\u003e\n\u003cli\u003ebetter-auth@1.6.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/33a3632731ab1aa722d82541dc2aff71ba3f2090\"\u003e\u003ccode\u003e33a3632\u003c/code\u003e\u003c/a\u003e fix: hotfix passkey handle undefined transports (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9746\"\u003e#9746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/8907c7df9cf330f36ded6fa3cd588faf6ca8e568\"\u003e\u003ccode\u003e8907c7d\u003c/code\u003e\u003c/a\u003e fix(passkey): consume challenge atomically and propagate inner verify errors ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/cbb5014cdf7b83dab3a156ee9b0bca216595d8cf\"\u003e\u003ccode\u003ecbb5014\u003c/code\u003e\u003c/a\u003e chore: release v1.6.10 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9350\"\u003e#9350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/ddae5817c882ed47961588e795ee194ee64c9e6b\"\u003e\u003ccode\u003eddae581\u003c/code\u003e\u003c/a\u003e fix(passkey): handle autofill ceremony failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9429\"\u003e#9429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f484269228b7eb8df0e2325e7d264bb8d7796311\"\u003e\u003ccode\u003ef484269\u003c/code\u003e\u003c/a\u003e chore: release v1.6.9 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9341\"\u003e#9341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b289ac6c4bba10aa260d45a8627adc529e0d3b32\"\u003e\u003ccode\u003eb289ac6\u003c/code\u003e\u003c/a\u003e chore: release v1.6.8 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9316\"\u003e#9316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a02e07cb8953f1450d29527a12c7801989dd08a1\"\u003e\u003ccode\u003ea02e07c\u003c/code\u003e\u003c/a\u003e fix(passkey): resolve exactOptionalPropertyTypes incompatibility  (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9270\"\u003e#9270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/passkey@1.6.13/packages/passkey\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@hookform/resolvers` from 5.2.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react-hook-form/resolvers/releases\"\u003e@​hookform/resolvers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/compare/v5.3.0...v5.4.0\"\u003e5.4.0\u003c/a\u003e (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add ata-validator resolver (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issue with toNestErrors.ts (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eadd guidance on passing context to \u003ccode\u003eyupResolver\u003c/code\u003e (useForm context) (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/835\"\u003e#835\u003c/a\u003e)  (\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/3d2992472adf5735b46b175e22bea82fddf13854\"\u003e3d29924\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/react-hook-form/resolvers/commit/3d2992472adf5735b46b175e22bea82fddf13854\"\u003e\u003ccode\u003e3d29924\u003c/code\u003e\u003c/a\u003e feat: add guidance on passing context to \u003ccode\u003eyupResolver\u003c/code\u003e (useForm context) (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/835\"\u003e#835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/56b68f3798612601190a533887847d8fef2c94af\"\u003e\u003ccode\u003e56b68f3\u003c/code\u003e\u003c/a\u003e feat: 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/cf8562d88ce3a1658676b2ef996347f29e05b3ee\"\u003e\u003ccode\u003ecf8562d\u003c/code\u003e\u003c/a\u003e update readme on ata-validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/5e5b6103692fa599ddacca39a03bf707e73a5012\"\u003e\u003ccode\u003e5e5b610\u003c/code\u003e\u003c/a\u003e fix issue with toNestErrors.ts (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/72aacf8604d697a29a1859f8bffccf18adb86add\"\u003e\u003ccode\u003e72aacf8\u003c/code\u003e\u003c/a\u003e Revise supported versions in SECURITY.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/ad89a20d869f2dc21b905168c5578b3522c01b64\"\u003e\u003ccode\u003ead89a20\u003c/code\u003e\u003c/a\u003e feat: add ata-validator resolver (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/02286db88310fd23e1de61ad880c23e210801813\"\u003e\u003ccode\u003e02286db\u003c/code\u003e\u003c/a\u003e ci: updated publish workflow to use node 24 (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/838\"\u003e#838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/2e9bc7c7d02506d336e20d8c0bae0c479f3662ec\"\u003e\u003ccode\u003e2e9bc7c\u003c/code\u003e\u003c/a\u003e Fix(zodResolver): error paths in complex unions \u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/787\"\u003e#787\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/react-hook-form/resolvers/compare/v5.2.2...v5.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.7.0 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.8.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.8.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003equeryPlanCacheMaxSize\u003c/code\u003e option to the \u003ccode\u003ePrismaClient\u003c/code\u003e constructor for fine-grained control over the query plan cache. Pass \u003ccode\u003e0\u003c/code\u003e to disable the cache entirely, or omit it to use the default cache size. A larger value can improve performance in applications that execute many unique queries, while a smaller one can reduce memory usage. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an equality filter panic and incorrect \u003ccode\u003e::jsonb\u003c/code\u003e cast when filtering on PostgreSQL JSON list columns. Queries using \u003ccode\u003ewhere: { jsonListField: { equals: [...] } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5804\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed case-insensitive JSON field filtering (\u003ccode\u003emode: insensitive\u003c/code\u003e), allowing \u003ccode\u003ewhere: { jsonField: { equals: \u0026quot;...\u0026quot;, mode: \u0026quot;insensitive\u0026quot; } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5806\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed incorrect parameterization of enum values that have a custom database name set via \u003ccode\u003e@map\u003c/code\u003e. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a database parameter limit check (\u003ccode\u003eP2029\u003c/code\u003e), which could incorrectly reject or miss over-limit queries. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a regression that caused missing SQL Server \u003ccode\u003eVARCHAR\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5801\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSchema Engine\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a misleading error message in \u003ccode\u003eprisma migrate diff\u003c/code\u003e that referenced the \u003ccode\u003e--shadow-database-url\u003c/code\u003e CLI flag, which was removed in Prisma 7. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29455\"\u003e#29455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eprisma migrate dev\u003c/code\u003e (and shadow database migration replay in general) failing with \u003ccode\u003eCREATE INDEX CONCURRENTLY cannot run inside a transaction block\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5799\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed PostgreSQL introspection silently dropping sequence defaults when the database returns the schema-qualified form \u003ccode\u003epg_catalog.nextval('sequence_name'::regclass)\u003c/code\u003e instead of the bare \u003ccode\u003enextval(...)\u003c/code\u003e. Columns backed by sequences now correctly appear as \u003ccode\u003e@default(autoincrement())\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5802\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-d1\u003c/code\u003e\u003c/strong\u003e: Savepoint operations (\u003ccode\u003ecreateSavepoint\u003c/code\u003e, \u003ccode\u003erollbackToSavepoint\u003c/code\u003e, \u003ccode\u003ereleaseSavepoint\u003c/code\u003e) now silently no-op with debug logging instead of executing SQL statements, consistent with how the D1 adapter already treats top-level transactions. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29499\"\u003e#29499\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c/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/prisma/prisma/commits/7.8.0/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.7.0 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.8.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.8.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003equeryPlanCacheMaxSize\u003c/code\u003e option to the \u003ccode\u003ePrismaClient\u003c/code\u003e constructor for fine-grained control over the query plan cache. Pass \u003ccode\u003e0\u003c/code\u003e to disable the cache entirely, or omit it to use the default cache size. A larger value can improve performance in applications that execute many unique queries, while a smaller one can reduce memory usage. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an equality filter panic and incorrect \u003ccode\u003e::jsonb\u003c/code\u003e cast when filtering on PostgreSQL JSON list columns. Queries using \u003ccode\u003ewhere: { jsonListField: { equals: [...] } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5804\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed case-insensitive JSON field filtering (\u003ccode\u003emode: insensitive\u003c/code\u003e), allowing \u003ccode\u003ewhere: { jsonField: { equals: \u0026quot;...\u0026quot;, mode: \u0026quot;insensitive\u0026quot; } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5806\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed incorrect parameterization of enum values that have a custom database name set via \u003ccode\u003e@map\u003c/code\u003e. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a database parameter limit check (\u003ccode\u003eP2029\u003c/code\u003e), which could incorrectly reject or miss over-limit queries. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a regression that caused missing SQL Server \u003ccode\u003eVARCHAR\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5801\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSchema Engine\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a misleading error message in \u003ccode\u003eprisma migrate diff\u003c/code\u003e that referenced the \u003ccode\u003e--shadow-database-url\u003c/code\u003e CLI flag, which was removed in Prisma 7. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29455\"\u003e#29455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eprisma migrate dev\u003c/code\u003e (and shadow database migration replay in general) failing with \u003ccode\u003eCREATE INDEX CONCURRENTLY cannot run inside a transaction block\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5799\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed PostgreSQL introspection silently dropping sequence defaults when the database returns the schema-qualified form \u003ccode\u003epg_catalog.nextval('sequence_name'::regclass)\u003c/code\u003e instead of the bare \u003ccode\u003enextval(...)\u003c/code\u003e. Columns backed by sequences now correctly appear as \u003ccode\u003e@default(autoincrement())\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5802\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-d1\u003c/code\u003e\u003c/strong\u003e: Savepoint operations (\u003ccode\u003ecreateSavepoint\u003c/code\u003e, \u003ccode\u003erollbackToSavepoint\u003c/code\u003e, \u003ccode\u003ereleaseSavepoint\u003c/code\u003e) now silently no-op with debug logging instead of executing SQL statements, consistent with how the D1 adapter already treats top-level transactions. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29499\"\u003e#29499\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/62b44ac01aafbe101dad63abaab7da9747f62839\"\u003e\u003ccode\u003e62b44ac\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-5.e96eae70cf4ade6a15d7e6064d5b0b4f7d835d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4104864e3fdcf0805562a6e95e318c28f302fd7b\"\u003e\u003ccode\u003e4104864\u003c/code\u003e\u003c/a\u003e feat: add a query plan cache size parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/723ba7b1abda24cc29f535560eaf13087bfd20bc\"\u003e\u003ccode\u003e723ba7b\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-4.8c287008617e9b12f313df99e2c821ae61ea9a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/cadbafe60594b909edbe3aebee7e6af1c1bb6c11\"\u003e\u003ccode\u003ecadbafe\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-2.3187e3937290320ba3c7dbd5aa94af67942b44...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/f7055337b1d1689af8a0680cc38248cb9af7bee2\"\u003e\u003ccode\u003ef705533\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-1.7b80cc56c645c6e03c7541474e6a7c8d91b70d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fbab4e8ec0359540d8e1bd8b8780ed48ee58cf54\"\u003e\u003ccode\u003efbab4e8\u003c/code\u003e\u003c/a\u003e Fix 29271 (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29303\"\u003e#29303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.8.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.5 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls wit...\n\n_Description has been truncated_","html_url":"https://github.com/idolrun/expenso/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/idolrun%2Fexpenso/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4567108502","node_id":"PR_kwDOSorf_M7hkP5o","number":3,"state":"closed","title":"Bump the npm_and_yarn group across 7 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-01T23:31:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T23:29:50.000Z","updated_at":"2026-06-01T23:34:05.000Z","time_to_close":73,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /apps/desktop directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/ssrf-safe-fetch directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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 --...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpgrade auth, tests, and observability dependencies across the repo to bring security and stability fixes. Requires a small 2FA schema change for `better-auth`.\n\n- **Dependencies**\n  - `better-auth` → 1.6.2 (CSRF fix in OAuth; 2FA behavior updates).\n  - `vitest` → 4.1.8 across root, `apps/desktop`, and packages.\n  - `@opentelemetry/sdk-node` → 0.218.0; `@opentelemetry/auto-instrumentations-node` → ^0.76.0.\n\n- **Migration**\n  - Add a `verified` boolean column to the `twoFactor` table, then run your ORM migration.\n    - Prisma: `npx auth@latest generate` → `npx prisma migrate dev` (or `prisma db push`) → `npx prisma generate`.\n    - Drizzle: `npx auth@latest generate` → `npx drizzle-kit generate` → `npx drizzle-kit migrate`.\n\n\u003csup\u003eWritten for commit 77878a9814b01142ffcf7fbe3e55f2f3e2799fb7. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/DaddyFilth/lobehubd/pull/3?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/DaddyFilth/lobehubd/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaddyFilth%2Flobehubd/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4566970800","node_id":"PR_kwDOPCFEYc7hjzc4","number":171,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T22:56:32.000Z","updated_at":"2026-06-01T22:57:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":2,"packages":[{"name":"better-auth","old_version":"1.4.18","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 2 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.18 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/sazanami-notes/sazanami/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/sazanami-notes/sazanami/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazanami-notes%2Fsazanami/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"},{"uuid":"4566052552","node_id":"PR_kwDOSOhcxc7hgxrM","number":3,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 8 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T00:17:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T20:07:45.000Z","updated_at":"2026-06-02T00:17:45.000Z","time_to_close":14998,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":13,"packages":[{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"drizzle-orm","old_version":"0.38.4","new_version":"0.45.2","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"ws","old_version":"8.19.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"better-auth","old_version":"1.4.18","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"dompurify","old_version":"3.3.2","new_version":"3.4.0","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"vite","old_version":"6.4.1","new_version":"6.4.2","repository_url":"https://github.com/vitejs/vite"},{"name":"mermaid","old_version":"11.12.3","new_version":"11.15.0","repository_url":"https://github.com/mermaid-js/mermaid"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.0` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.4` | `0.45.2` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.18` | `1.6.2` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.2` | `3.4.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.1` | `6.4.2` |\n| [mermaid](https://github.com/mermaid-js/mermaid) | `11.12.3` | `11.15.0` |\n\nBumps the npm_and_yarn group with 1 update in the /cli directory: [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 2 updates in the /packages/db directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 1 update in the /packages/mcp-server directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/plugins/examples/plugin-authoring-smoke-example directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/plugins/examples/plugin-orchestration-smoke-example directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 6 updates in the /server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.0` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.4` | `0.45.2` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.18` | `1.6.2` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.2` | `3.4.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.1` | `6.4.2` |\n\nBumps the npm_and_yarn group with 1 update in the /ui directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `vitest` from 3.2.4 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1de0aa22dd6311a93546a75a3c58a6be519c1baf\"\u003e\u003ccode\u003e1de0aa2\u003c/code\u003e\u003c/a\u003e fix: correctly identify concurrent test during static analysis (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3cac1c1b5a91d921942e9391fbd94841717363f\"\u003e\u003ccode\u003ec3cac1c\u003c/code\u003e\u003c/a\u003e fix: use isAgent check, not just TTY, for watch mode (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/eab68ba2b8ea6f89717c0b885c573579659d7c3b\"\u003e\u003ccode\u003eeab68ba\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9824\"\u003e#9824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/031f02a89be34491c441b4da9c4e2bacb7db71df\"\u003e\u003ccode\u003e031f02a\u003c/code\u003e\u003c/a\u003e fix: allow catch/finally for async assertion (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9827\"\u003e#9827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e9e096a231fa0ec6475da82e36cbd6fcc9bc8f9\"\u003e\u003ccode\u003e3e9e096\u003c/code\u003e\u003c/a\u003e feat(reporters): add \u003ccode\u003eagent\u003c/code\u003e reporter to reduce ai agent token usage (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9779\"\u003e#9779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8181e06e765f4d043818b244c76795022fa78ff6\"\u003e\u003ccode\u003e8181e06\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehideSkippedTests\u003c/code\u003e should not hide \u003ccode\u003etest.todo\u003c/code\u003e (fix \u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9562\"\u003e#9562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9781\"\u003e#9781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8216b0014b83612e40ef49f919d5293b68717b3\"\u003e\u003ccode\u003ea8216b0\u003c/code\u003e\u003c/a\u003e fix: manual and redirect mock shouldn't \u003ccode\u003eload\u003c/code\u003e or \u003ccode\u003etransform\u003c/code\u003e original module...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest\"\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 vitest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drizzle-orm` from 0.38.4 to 0.45.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drizzle-team/drizzle-orm/releases\"\u003edrizzle-orm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.45.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003esql.identifier()\u003c/code\u003e, \u003ccode\u003esql.as()\u003c/code\u003e escaping issues. Previously all the values passed to this functions were not properly escaped\ncausing a possible SQL Injection (CWE-89) vulnerability\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/EthanKim88\"\u003e\u003ccode\u003e@​EthanKim88\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/0x90sh\"\u003e\u003ccode\u003e@​0x90sh\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/wgoodall01\"\u003e\u003ccode\u003e@​wgoodall01\u003c/code\u003e\u003c/a\u003e for reaching out to us with a reproduction and suggested fix\u003c/p\u003e\n\u003ch2\u003e0.45.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pg-native Pool detection in node-postgres transactions breaking in environments with forbidden \u003ccode\u003erequire()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5107\"\u003e#5107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.45.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pg-native Pool detection in node-postgres transactions\u003c/li\u003e\n\u003cli\u003eAllowed subqueries in select fields\u003c/li\u003e\n\u003cli\u003eUpdated typo algorythm =\u0026gt; algorithm\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e$onUpdate\u003c/code\u003e not handling \u003ccode\u003eSQL\u003c/code\u003e values (fixes \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/2388\"\u003e#2388\u003c/a\u003e, tests implemented by \u003ca href=\"https://github.com/L-Mario564\"\u003eL-Mario564\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/pull/2911\"\u003e#2911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003epg\u003c/code\u003e mappers not handling \u003ccode\u003eDate\u003c/code\u003e instances in \u003ccode\u003ebun-sql:postgresql\u003c/code\u003e driver responses for \u003ccode\u003edate\u003c/code\u003e, \u003ccode\u003etimestamp\u003c/code\u003e types (fixes \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4493\"\u003e#4493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix durable sqlite transaction return value \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/3746\"\u003e#3746\u003c/a\u003e - thanks \u003ca href=\"https://github.com/joaocstro\"\u003e\u003ccode\u003e@​joaocstro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add $replicas reference \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4874\"\u003e#4874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed invalid usage of \u003ccode\u003e.one()\u003c/code\u003e in \u003ccode\u003edurable-sqlite\u003c/code\u003e session\u003c/li\u003e\n\u003cli\u003eFixed spread operator related crash in sqlite \u003ccode\u003eblob\u003c/code\u003e columns\u003c/li\u003e\n\u003cli\u003eBetter browser support for sqlite \u003ccode\u003eblob\u003c/code\u003e columns\u003c/li\u003e\n\u003cli\u003eImproved sqlite \u003ccode\u003eblob\u003c/code\u003e mapping\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix wrong DrizzleQueryError export. thanks \u003ca href=\"https://github.com/nathankleyn\"\u003e\u003ccode\u003e@​nathankleyn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed types of \u003ccode\u003e$client\u003c/code\u003e for clients created by drizzle function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eawait db.$client.[...]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003eupdated_at\u003c/code\u003e column to the \u003ccode\u003eneon_auth.users_sync\u003c/code\u003e table definition.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUG]: Fixed type issues with joins with certain variations of \u003ccode\u003etsconfig\u003c/code\u003e: \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4535\"\u003e#4535\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4457\"\u003e#4457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4586\"\u003e[BUG]: Drizzle can no longer run on Durable Objects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.0\u003c/h2\u003e\n\u003ch2\u003eError handling\u003c/h2\u003e\n\u003cp\u003eStarting from this version, we’ve introduced a new \u003ccode\u003eDrizzleQueryError\u003c/code\u003e that wraps all errors from database drivers and provides a set of useful information:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/273c78071d4841b497f5144734b38294df7ec64b\"\u003e\u003ccode\u003e273c780\u003c/code\u003e\u003c/a\u003e + 0.45.2 (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5534\"\u003e#5534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/4aa6ecfee4b4728dadf6f77f071a149878a3c6c0\"\u003e\u003ccode\u003e4aa6ecf\u003c/code\u003e\u003c/a\u003e Kit updates (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5490\"\u003e#5490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/e8e6edfef5ca69c6188d320388ad440265911057\"\u003e\u003ccode\u003ee8e6edf\u003c/code\u003e\u003c/a\u003e feat(drizzle-kit): support d1 via binding (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5302\"\u003e#5302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/a086f59fba7f46f3a077893ba912c99e91eaa760\"\u003e\u003ccode\u003ea086f59\u003c/code\u003e\u003c/a\u003e Fixed pg-native Pool detection in node-postgres transactions breaking in envi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/c445637df39366bcf47b12601896ce851771c1c2\"\u003e\u003ccode\u003ec445637\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5095\"\u003e#5095\u003c/a\u003e from drizzle-team/main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/e7b3aaa26456b88cd23a7843ebc95b3bddde1ba4\"\u003e\u003ccode\u003ee7b3aaa\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/0d885a54ddafd8717f8610cf3d2899f3eef61e65\"\u003e\u003ccode\u003e0d885a5\u003c/code\u003e\u003c/a\u003e refactor: Update condition for run-feature job to improve clarity and functio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/45a1ffbcbfdd96772d0aba7d9e43744db2dce471\"\u003e\u003ccode\u003e45a1ffb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5087\"\u003e#5087\u003c/a\u003e from drizzle-team/main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/6357645bd33b1f444e1d081769dd4b71c3de31f8\"\u003e\u003ccode\u003e6357645\u003c/code\u003e\u003c/a\u003e chore: Comment out NEON_HTTP_CONNECTION_STRING requirement in release workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/53dec98a936f549d0cc2e668f19db3a2df842f51\"\u003e\u003ccode\u003e53dec98\u003c/code\u003e\u003c/a\u003e refactor: Simplify release router workflow by removing unnecessary switch job...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/drizzle-team/drizzle-orm/compare/0.38.4...0.45.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for drizzle-orm since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ws` from 8.19.0 to 8.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/websockets/ws/releases\"\u003ews's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.20.1\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an uninitialized memory disclosure issue in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\n(c0327ec1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProviding a \u003ccode\u003eTypedArray\u003c/code\u003e (e.g. \u003ccode\u003eFloat32Array\u003c/code\u003e) as the \u003ccode\u003ereason\u003c/code\u003e argument for\n\u003ccode\u003ewebsocket.close()\u003c/code\u003e, rather than the supported string or \u003ccode\u003eBuffer\u003c/code\u003e types, caused\nuninitialized memory to be disclosed to the remote peer.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { deepStrictEqual } from 'node:assert';\r\nimport { WebSocket, WebSocketServer } from 'ws';\r\n\u003cp\u003econst wss = new WebSocketServer(\n{ port: 0, skipUTF8Validation: true },\nfunction () {\nconst { port } = wss.address();\nconst ws = new WebSocket(\u003ccode\u003ews://localhost:${port}\u003c/code\u003e, {\nskipUTF8Validation: true\n});\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ews.on('close', function (code, reason) {\r\n  deepStrictEqual(reason, Buffer.alloc(80));\r\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n);\u003c/p\u003e\n\u003cp\u003ewss.on('connection', function (ws) {\nws.close(1000, new Float32Array(20));\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe issue was privately reported by \u003ca href=\"https://github.com/ChALkeR\"\u003eNikita Skovoroda\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.20.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded exports for the \u003ccode\u003ePerMessageDeflate\u003c/code\u003e class and utilities for the\n\u003ccode\u003eSec-WebSocket-Extensions\u003c/code\u003e and \u003ccode\u003eSec-WebSocket-Protocol\u003c/code\u003e headers (d3503c1f).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/5d9b316230ea931532a6671cc450f18c11edd02f\"\u003e\u003ccode\u003e5d9b316\u003c/code\u003e\u003c/a\u003e [dist] 8.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086\"\u003e\u003ccode\u003ec0327ec\u003c/code\u003e\u003c/a\u003e [security] Fix uninitialized memory disclosure in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/ce2a3d62437995a47e6056d485a33d21b6a8f867\"\u003e\u003ccode\u003ece2a3d6\u003c/code\u003e\u003c/a\u003e [ci] Test on node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/58e45b872bb0f35a3edd553c27e105300a4f5bd0\"\u003e\u003ccode\u003e58e45b8\u003c/code\u003e\u003c/a\u003e [ci] Do not test on node 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/5f26c245231a4b018479a9269e8c3da4773fe42f\"\u003e\u003ccode\u003e5f26c24\u003c/code\u003e\u003c/a\u003e [ci] Run the lint step on node 24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/843925544e2f4cffe445e0179947f56d6c5b608f\"\u003e\u003ccode\u003e8439255\u003c/code\u003e\u003c/a\u003e [dist] 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/d3503c1fd36a310985108f62b343bae18346ab67\"\u003e\u003ccode\u003ed3503c1\u003c/code\u003e\u003c/a\u003e [minor] Export the \u003ccode\u003ePerMessageDeflate\u003c/code\u003e class and header utils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/3ee5349a0b1580f6e1f347b59ec3371011bd8481\"\u003e\u003ccode\u003e3ee5349\u003c/code\u003e\u003c/a\u003e [api] Convert the \u003ccode\u003eisServer\u003c/code\u003e and \u003ccode\u003emaxPayload\u003c/code\u003e parameters to options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/91707b470ebd803aaa3fd1e896217740f39267d4\"\u003e\u003ccode\u003e91707b4\u003c/code\u003e\u003c/a\u003e [doc] Add missing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/8b553192268810a83253e2a4a39ac16768e75bb3\"\u003e\u003ccode\u003e8b55319\u003c/code\u003e\u003c/a\u003e [pkg] Update eslint to version 10.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/websockets/ws/compare/8.19.0...8.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.4.18 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.3.2 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eMost relevant changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eFORBID_TAGS\u003c/code\u003e not winning over \u003ccode\u003eADD_TAGS\u003c/code\u003e, thanks \u003ca href=\"https://github.com/kodareef5\"\u003e\u003ccode\u003e@​kodareef5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed several minor problems and typos regarding MathML attributes, thanks \u003ca href=\"https://github.com/DavidOliver\"\u003e\u003ccode\u003e@​DavidOliver\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eADD_ATTR\u003c/code\u003e/\u003ccode\u003eADD_TAGS\u003c/code\u003e function leaking into subsequent array-based calls, thanks \u003ca href=\"https://github.com/1Jesper1\"\u003e\u003ccode\u003e@​1Jesper1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a missing \u003ccode\u003eSAFE_FOR_TEMPLATES\u003c/code\u003e scrub in \u003ccode\u003eRETURN_DOM\u003c/code\u003e path, thanks \u003ca href=\"https://github.com/bencalif\"\u003e\u003ccode\u003e@​bencalif\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a prototype pollution via \u003ccode\u003eCUSTOM_ELEMENT_HANDLING\u003c/code\u003e, thanks \u003ca href=\"https://github.com/trace37labs\"\u003e\u003ccode\u003e@​trace37labs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eADD_TAGS\u003c/code\u003e function form bypassing \u003ccode\u003eFORBID_TAGS\u003c/code\u003e, thanks \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eADD_ATTR\u003c/code\u003e predicates skipping URI validation, thanks \u003ca href=\"https://github.com/christos-eth\"\u003e\u003ccode\u003e@​christos-eth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eUSE_PROFILES\u003c/code\u003e prototype pollution, thanks \u003ca href=\"https://github.com/christos-eth\"\u003e\u003ccode\u003e@​christos-eth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue leading to possible mXSS via Re-Contextualization, thanks \u003ca href=\"https://github.com/researchatfluidattacks\"\u003e\u003ccode\u003e@​researchatfluidattacks\u003c/code\u003e\u003c/a\u003e and others\u003c/li\u003e\n\u003cli\u003eFixed an issue with closing tags leading to possible mXSS, thanks \u003ca href=\"https://github.com/frevadiscor\"\u003e\u003ccode\u003e@​frevadiscor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with the type dentition patcher after Node version bump\u003c/li\u003e\n\u003cli\u003eFixed freezing BS runs by reducing the tested browsers array\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\u003c/li\u003e\n\u003cli\u003eAdded needed files for OpenSSF scorecard checks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePublished Advisories are here:\u003c/strong\u003e\n\u003ca href=\"https://github.com/cure53/DOMPurify/security/advisories?state=published\"\u003ehttps://github.com/cure53/DOMPurify/security/advisories?state=published\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDOMPurify 3.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an engine requirement for Node 20 which caused hiccups, thanks \u003ca href=\"https://github.com/Rotzbua\"\u003e\u003ccode\u003e@​Rotzbua\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/cure53/DOMPurify/commit/5b16e0b892e82b1779d62b9928b43c4c4ff290b9\"\u003e\u003ccode\u003e5b16e0b\u003c/code\u003e\u003c/a\u003e Getting 3.x branch ready for 3.4.0 release (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1250\"\u003e#1250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/8bcbf73ae7eb56e7b4f1300b66cf543342c7ee27\"\u003e\u003ccode\u003e8bcbf73\u003c/code\u003e\u003c/a\u003e chore: Preparing 3.3.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/5faddd60af7b4d612f32a0c6b44432b77c8c490c\"\u003e\u003ccode\u003e5faddd6\u003c/code\u003e\u003c/a\u003e fix: engine requirement (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/0f91e3add5c028bc4110c513b0c2571b284c35af\"\u003e\u003ccode\u003e0f91e3a\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/d5ff1a8c605df1df998c2e7df2c4c8ac762b0dea\"\u003e\u003ccode\u003ed5ff1a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:cure53/DOMPurify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/c3efd489010366e755de9d65fd741888fd8b7462\"\u003e\u003ccode\u003ec3efd48\u003c/code\u003e\u003c/a\u003e fix: moved back from jsdom 28 to jsdom 20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/988b888108c8df911ef37e68d0e26c85ad90e885\"\u003e\u003ccode\u003e988b888\u003c/code\u003e\u003c/a\u003e fix: moved back from jsdom 28 to jsdom 20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/2726c74e9c6a0645127d1630e5ca49f64bc9fe67\"\u003e\u003ccode\u003e2726c74\u003c/code\u003e\u003c/a\u003e chore: Preparing 3.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/6202c7e43e9df01ba606396aed60fbae5583f7a1\"\u003e\u003ccode\u003e6202c7e\u003c/code\u003e\u003c/a\u003e build(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e and jsdom (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1204\"\u003e#1204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/302b51de22535cc90235472c52e3401bedd46f80\"\u003e\u003ccode\u003e302b51d\u003c/code\u003e\u003c/a\u003e fix: Expanded the regex ever so slightly to also cover script\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.3.2...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 6.4.1 to 6.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.2 (2026-04-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003efe28e47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22159\"\u003e#22159\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22163\"\u003e#22163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003eca4da5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22161\"\u003e#22161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6b3fad02abd550bd7b79934ff92c58dbd7f33045\"\u003e\u003ccode\u003e6b3fad0\u003c/code\u003e\u003c/a\u003e release: v6.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003e\u003ccode\u003eca4da5d\u003c/code\u003e\u003c/a\u003e fix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003e\u003ccode\u003efe28e47\u003c/code\u003e\u003c/a\u003e fix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5487f4f641f70c47ea05fd101a4319897df048b3\"\u003e\u003ccode\u003e5487f4f\u003c/code\u003e\u003c/a\u003e release: v6.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e\u003ccode\u003e1114b5d\u003c/code\u003e\u003c/a\u003e fix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f12697c0f64b9a37196b9ab218a0911829d5b103\"\u003e\u003ccode\u003ef12697c\u003c/code\u003e\u003c/a\u003e release: v6.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003e\u003ccode\u003eca6455e\u003c/code\u003e\u003c/a\u003e feat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0e173d83681daa31be10fa8a62d56b1ec84690af\"\u003e\u003ccode\u003e0e173d8\u003c/code\u003e\u003c/a\u003e release: v6.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003e\u003ccode\u003ec59a222\u003c/code\u003e\u003c/a\u003e fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3f337c5e24504e51188d29c970de1416ee523dbb\"\u003e\u003ccode\u003e3f337c5\u003c/code\u003e\u003c/a\u003e release: v6.3.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v6.4.2/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mermaid` from 11.12.3 to 11.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mermaid-js/mermaid/releases\"\u003emermaid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emermaid@11.15.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/mermaid-js/mermaid/pull/7174\"\u003e#7174\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/0aca21739c0d1fcaaa206e04a6cd574ebc415483\"\u003e\u003ccode\u003e0aca217\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/milesspencer35\"\u003e\u003ccode\u003e@​milesspencer35\u003c/code\u003e\u003c/a\u003e! - feat(sequence): Add support for decimal start and increment values in the \u003ccode\u003eautonumber\u003c/code\u003e directive\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7512\"\u003e#7512\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/8e17492f7365ba50896382feb69a23efd9d8a22d\"\u003e\u003ccode\u003e8e17492\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aruncveli\"\u003e\u003ccode\u003e@​aruncveli\u003c/code\u003e\u003c/a\u003e! - feat(flowchart): add datastore shape\u003c/p\u003e\n\u003cp\u003eIn Data flow diagrams, a datastore/warehouse/file/database is used to represent data persistence. It is denoted by a rectangle with only top and bottom borders, and can be used in flowcharts with \u003ccode\u003eA@{ shape: datastore, label: \u0026quot;Datastore\u0026quot; }\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/6440\"\u003e#6440\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/9ad8dde6d049adde85d8ed2d476c09b5820f3f4b\"\u003e\u003ccode\u003e9ad8dde\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/yordis\"\u003e\u003ccode\u003e@​yordis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lgazo\"\u003e\u003ccode\u003e@​lgazo\u003c/code\u003e\u003c/a\u003e! - feat: add Event Modeling diagram\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7707\"\u003e#7707\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/27db774627be1cee881961dfd0d2cb21cd01b79d\"\u003e\u003ccode\u003e27db774\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/txmxthy\"\u003e\u003ccode\u003e@​txmxthy\u003c/code\u003e\u003c/a\u003e! - feat(architecture): expose four fcose layout knobs for \u003ccode\u003earchitecture-beta\u003c/code\u003e diagrams (\u003ccode\u003enodeSeparation\u003c/code\u003e, \u003ccode\u003eidealEdgeLengthMultiplier\u003c/code\u003e, \u003ccode\u003eedgeElasticity\u003c/code\u003e, \u003ccode\u003enumIter\u003c/code\u003e) so authors can tune layout density and spread overlapping siblings without changing diagram source\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7604\"\u003e#7604\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/bf9502fb6012a4b724679b401ac928f5ee55161c\"\u003e\u003ccode\u003ebf9502f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/M-a-c\"\u003e\u003ccode\u003e@​M-a-c\u003c/code\u003e\u003c/a\u003e! - feat(class): add nested namespace support for class diagrams via dot notation and syntactic nesting\u003c/p\u003e\n\u003cp\u003eIf you have namespaces in class diagrams that use \u003ccode\u003e.\u003c/code\u003es already and want to render them without nesting (≤v11.14.0 behaviour), you can use set \u003ccode\u003eclass.hierarchicalNamespaces=false\u003c/code\u003e in your mermaid config:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003econfig:\n  class:\n    hierarchicalNamespaces: false\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7272\"\u003e#7272\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/88cdd3dc0aab9577174561b04e14760c565a232b\"\u003e\u003ccode\u003e88cdd3d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/xinbenlv\"\u003e\u003ccode\u003e@​xinbenlv\u003c/code\u003e\u003c/a\u003e! - feat(sankey): add outlined label style, configurable nodeWidth/nodePadding, and custom node colors\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/e9b0f34d8d82a6260077764ee45e1d7d90957a0f\"\u003e\u003ccode\u003ee9b0f34\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: prevent unbalanced CSS styles in classDefs\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/37ff937f1da2e19f882fd1db01235db4d01f4056\"\u003e\u003ccode\u003e37ff937\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: create CSS styles using the CSSOM\u003c/p\u003e\n\u003cp\u003eThis removes some invalid CSS and normalizes some CSS formatting.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7508\"\u003e#7508\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/bfe60cc67b9a6dec64f9161f58e4d24a06c42b65\"\u003e\u003ccode\u003ebfe60cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/biiab\"\u003e\u003ccode\u003e@​biiab\u003c/code\u003e\u003c/a\u003e! - fix(stateDiagram): \u003ccode\u003eend note\u003c/code\u003e now only closes a note when used on a new line\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/faafb5d49106dd32c367f3882505f2dd625aa30e\"\u003e\u003ccode\u003efaafb5d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix(gantt): add iteration limit for \u003ccode\u003eexcludes\u003c/code\u003e field\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/65f8be2a42faf869b811469571983cba7eeeca99\"\u003e\u003ccode\u003e65f8be2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: disallow some CSS at-rules in custom CSS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7726\"\u003e#7726\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1502f32f3c5fb944925b0c527fbbde3c4f041824\"\u003e\u003ccode\u003e1502f32\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aloisklink\"\u003e\u003ccode\u003e@​aloisklink\u003c/code\u003e\u003c/a\u003e! - fix(wardley): fix unnecessary sanitization of text\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7578\"\u003e#7578\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1f98db8e326299ac97a2fa60abfd509d8f5f16e2\"\u003e\u003ccode\u003e1f98db8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Gaston202\"\u003e\u003ccode\u003e@​Gaston202\u003c/code\u003e\u003c/a\u003e! - fix(class): self-referential class multiplicity labels no longer rendered multiple times\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7560\"\u003e#7560\u003c/a\u003e. Resolves an issue where cardinality labels on self-referential class relationships were rendered three times due to edge splitting in the dagre layout. The fix ensures that each sub-edge only carries its relevant label positions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7592\"\u003e#7592\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/2343e38498a3b31f8ce5e79f1f009e0b56fbe086\"\u003e\u003ccode\u003e2343e38\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/knsv-bot\"\u003e\u003ccode\u003e@​knsv-bot\u003c/code\u003e\u003c/a\u003e! - fix(sequence): add background box behind alt/else section title labels in sequence diagrams\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7589\"\u003e#7589\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/7fb9509b8b5cb1dc48519dc60cf6cdc6afba0462\"\u003e\u003ccode\u003e7fb9509\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/NYCU-Chung\"\u003e\u003ccode\u003e@​NYCU-Chung\u003c/code\u003e\u003c/a\u003e! - fix(block): prevent column widths from shrinking when mixing different column spans\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7632\"\u003e#7632\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/3f9e0f15bedc1e2c71ddb6b34192d1a21124cfc2\"\u003e\u003ccode\u003e3f9e0f1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ekiauhce\"\u003e\u003ccode\u003e@​ekiauhce\u003c/code\u003e\u003c/a\u003e! - fix(sequence): correct messageAlign label position for right-to-left arrows in sequence diagrams\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/mermaid-js/mermaid/commit/41646dfd43ac83f001b03c70605feb036afae46d\"\u003e\u003ccode\u003e41646df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7739\"\u003e#7739\u003c/a\u003e from aloisklink/ci/fix-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/2671f5c44a1515960ebc41c09a365c41860f95ee\"\u003e\u003ccode\u003e2671f5c\u003c/code\u003e\u003c/a\u003e docs: fix v11.15.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/f4bf04b5db8bed603e40ed3d5ce5228d6b07754e\"\u003e\u003ccode\u003ef4bf04b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7738\"\u003e#7738\u003c/a\u003e from mermaid-js/changeset-release/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/abfb563e1dcbd46d617f44a6361bd6d926dc6289\"\u003e\u003ccode\u003eabfb563\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/60b289f428d0a0832ad95ed4e1fb326344e23532\"\u003e\u003ccode\u003e60b289f\u003c/code\u003e\u003c/a\u003e Release Candidate 11.15.0 (\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7737\"\u003e#7737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/d37c0db39ca2405b4473361063df2c47109dc2c9\"\u003e\u003ccode\u003ed37c0db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7730\"\u003e#7730\u003c/a\u003e from aloisklink/fix/fix-edgeLabelRightLeft-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/5ab5a2895fa8b7e90de85b43a4b99aa50b39b0f1\"\u003e\u003ccode\u003e5ab5a28\u003c/code\u003e\u003c/a\u003e docs: improve nested namespace changeset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/18f8b4c5bf67aface3485272b48042f2fdd6fad2\"\u003e\u003ccode\u003e18f8b4c\u003c/code\u003e\u003c/a\u003e fix: revert endEdgeLabelLeft/endEdgeLabelRight change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/504b2eb73d4d827baa817efd47ab6f44ae769b5a\"\u003e\u003ccode\u003e504b2eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7726\"\u003e#7726\u003c/a\u003e from aloisklink/fix/correct-unnecessary-html-escapes...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1502f32f3c5fb944925b0c527fbbde3c4f041824\"\u003e\u003ccode\u003e1502f32\u003c/code\u003e\u003c/a\u003e fix(wardley): fix unnecessary sanitization of text\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mermaid-js/mermaid/compare/mermaid@11.12.3...mermaid@11.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `defu` from 6.1.4 to 6.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unjs/defu/releases\"\u003edefu's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.7\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.6...v6.1.7\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e📦 Build\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the \u003ccode\u003etypes\u003c/code\u003e export entry (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/160\"\u003e#160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport Defu types (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eJakub Michálek (\u003ca href=\"https://github.com/J-Michalek\"\u003e\u003ccode\u003e@​J-Michalek\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKricsleo (\u003ca href=\"https://github.com/kricsleo\"\u003e\u003ccode\u003e@​kricsleo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.6\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.5...v6.1.6\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e📦 Build\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix mixed types (\u003ca href=\"https://github.com/unjs/defu/commit/407b516\"\u003e407b516\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.5\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.4...v6.1.5\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent prototype pollution via \u003ccode\u003e__proto__\u003c/code\u003e in defaults (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/156\"\u003e#156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore inherited enumerable properties (\u003ca href=\"https://github.com/unjs/defu/commit/11ba022\"\u003e11ba022\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Tests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more tests for plain objects (\u003ca href=\"https://github.com/unjs/defu/commit/b65f603\"\u003eb65f603\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contr...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpgrade dependencies across the repo to pick up security fixes and refresh test/build tooling. Notably upgrades `vitest` to v4 and `better-auth` to 1.6.2, which requires a small DB migration.\n\n- **Dependencies**\n  - `better-auth` → 1.6.2 (2FA flow improvements, CSRF fix)\n  - `drizzle-orm` → 0.45.2 (identifier escaping fix)\n  - `ws` → 8.20.1 (fixes memory disclosure in `close()`)\n  - `dompurify` → 3.4.0 (multiple security fixes)\n  - `vitest` → 4.1.0 (test runner upgrade)\n  - `vite` → 6.4.2 (security hardening)\n  - `mermaid` → 11.15.0 (new features)\n  - `esbuild` → 0.28.0 (build tool update)\n\n- **Migration**\n  - For `better-auth` 1.6.2, add `verified` to the `twoFactor` table:\n    - Run `npx auth@latest generate`\n    - With Drizzle: run `npx drizzle-kit generate` then `npx drizzle-kit migrate`\n    - No data backfill needed (defaults to `true`)\n\n\u003csup\u003eWritten for commit 7110579296c698514cde02e3750796c0e1a44e42. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/EmiyaKiritsugu3/paperclip/pull/3?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/EmiyaKiritsugu3/paperclip/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmiyaKiritsugu3%2Fpaperclip/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4565635597","node_id":"PR_kwDOPbApZM7hfZDl","number":8,"state":"open","title":"build(deps): bump the npm_and_yarn group across 4 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T19:05:21.000Z","updated_at":"2026-06-01T19:08:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/Sherlock999xxx/lobe-chat/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherlock999xxx%2Flobe-chat/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4565632954","node_id":"PR_kwDOQVkdzc7hfYhC","number":70,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 5 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-01T23:06:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T19:04:53.000Z","updated_at":"2026-06-01T23:06:54.000Z","time_to_close":14519,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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...\n\n_Description has been truncated_","html_url":"https://github.com/hezhijie0327/lobehub/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hezhijie0327%2Flobehub/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"},{"uuid":"4563712485","node_id":"PR_kwDOR5QMZ87hZGsr","number":142,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T22:36:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T14:02:52.000Z","updated_at":"2026-06-03T22:36:18.000Z","time_to_close":203604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":9,"packages":[{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","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"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"shadcn","old_version":"4.8.2","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"@eslint-react/eslint-plugin","old_version":"5.8.6","new_version":"5.8.9","repository_url":"https://github.com/Rel1cx/eslint-react"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"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"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.8` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `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| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.13` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.8.2` | `4.10.0` |\n| [@eslint-react/eslint-plugin](https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin) | `5.8.6` | `5.8.9` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n\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/ui` 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/ui'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\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/ui\"\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\nUpdates `better-auth` from 1.6.11 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\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 `shadcn` from 4.8.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shadcn-ui/ui/releases\"\u003eshadcn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eshadcn@4.10.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10842\"\u003e#10842\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c467361dee9e20631b2999040912439b35d4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add support for GitHub registries. See the \u003ca href=\"https://ui.shadcn.com/docs/registry/github\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eshadcn@4.9.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10834\"\u003e#10834\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1439f54260aa0c51747261c220334ec641\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add npx shadcn eject\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eshadcn@4.8.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/shadcn-ui/ui/pull/10659\"\u003e#10659\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e07900769d91b09def00e68179bcb7a821f59b954\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/raashish1601\"\u003e\u003ccode\u003e@​raashish1601\u003c/code\u003e\u003c/a\u003e! - update template handling\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10495\"\u003e#10495\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a19c3ee13ac78b656027462007c8bdaa6d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/artemxknpv\"\u003e\u003ccode\u003e@​artemxknpv\u003c/code\u003e\u003c/a\u003e! - Preserve quotes in className literals when applying RTL transforms.\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/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md\"\u003eshadcn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10842\"\u003e#10842\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c467361dee9e20631b2999040912439b35d4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add support for GitHub registries\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10834\"\u003e#10834\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1439f54260aa0c51747261c220334ec641\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add npx shadcn eject\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.8.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/shadcn-ui/ui/pull/10659\"\u003e#10659\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e07900769d91b09def00e68179bcb7a821f59b954\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/raashish1601\"\u003e\u003ccode\u003e@​raashish1601\u003c/code\u003e\u003c/a\u003e! - update template handling\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10495\"\u003e#10495\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a19c3ee13ac78b656027462007c8bdaa6d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/artemxknpv\"\u003e\u003ccode\u003e@​artemxknpv\u003c/code\u003e\u003c/a\u003e! - Preserve quotes in className literals when applying RTL transforms.\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/shadcn-ui/ui/commit/adac7cae1f5bb08c210483b73732100cec51987c\"\u003e\u003ccode\u003eadac7ca\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10845\"\u003e#10845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c46\u003c/code\u003e\u003c/a\u003e feat(registry): add GitHub registry support (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10842\"\u003e#10842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/460ad60d84617836762a8800755fafef37f662df\"\u003e\u003ccode\u003e460ad60\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10835\"\u003e#10835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1\u003c/code\u003e\u003c/a\u003e feat: add shadcn eject (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10834\"\u003e#10834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/5c849297d0113c648a291e426469af688ac59ebf\"\u003e\u003ccode\u003e5c84929\u003c/code\u003e\u003c/a\u003e feat(release): add beta and rc prerelease labels (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10806\"\u003e#10806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/2baa86081d9df6aa58e3573e27789eda80f8b1e0\"\u003e\u003ccode\u003e2baa860\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10791\"\u003e#10791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e0790076\u003c/code\u003e\u003c/a\u003e fix(cli): update template handling for pnpm 11 (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10659\"\u003e#10659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a1\u003c/code\u003e\u003c/a\u003e fix(transform-rtl): preserve quotes in transformed className literals (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10495\"\u003e#10495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/shadcn-ui/ui/commits/shadcn@4.10.0/packages/shadcn\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-react/eslint-plugin` from 5.8.6 to 5.8.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rel1cx/eslint-react/releases\"\u003e@​eslint-react/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.8.9 (2026-06-01)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐞 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-direct-mutation-state\u003c/code\u003e\u003c/strong\u003e: Detect nested state mutations and member expressions in assignment expressions (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1818\"\u003e#1818\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated contributing guide and monorepo structure documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eExamples\u003c/strong\u003e: Removed \u003ccode\u003e.vscode\u003c/code\u003e directories from all examples, added missing \u003ccode\u003eengines.node\u003c/code\u003e to Preact examples, cleaned up redundant \u003ccode\u003e.config/*.ts\u003c/code\u003e from \u003ccode\u003etsconfig.node.json\u003c/code\u003e, and updated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Cleaned up configs and docs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeps\u003c/strong\u003e: Patch bumped \u003ccode\u003eeslint\u003c/code\u003e, \u003ccode\u003etinyglobby\u003c/code\u003e, and \u003ccode\u003etsdown\u003c/code\u003e across workspace packages; added \u003ccode\u003e@fontsource/iosevka-aile\u003c/code\u003e to the website; reordered CSS imports in \u003ccode\u003elayout.tsx\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.sentrux\u003c/code\u003e baseline timestamp.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAttestation\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/attestations/29343471\"\u003ehttps://github.com/Rel1cx/eslint-react/attestations/29343471\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.8 (2026-05-31)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekit\u003c/code\u003e\u003c/strong\u003e: Added \u003ccode\u003eis.APICall\u003c/code\u003e callout to the Kit documentation (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejsx\u003c/code\u003e\u003c/strong\u003e: Updated \u003ccode\u003egetChildren\u003c/code\u003e and \u003ccode\u003ehasChildren\u003c/code\u003e API documentation to reflect empty string children behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Reworked status emoji indicators across docs and examples (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1816\"\u003e#1816\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added ℞ prefix to recipe titles and cleaned up See Also sections.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Removed the \u003ccode\u003ecustom-rules-of-children\u003c/code\u003e recipe and cross-linked the remaining recipes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added redirects for moved rule documentation.\u003c/li\u003e\n\u003cli\u003eCleaned up the \u0026quot;Community Maintained Presets that use ESLint React\u0026quot; documentation page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-misused-capture-owner-stack\u003c/code\u003e\u003c/strong\u003e: Added edge-case tests for \u003ccode\u003ecaptureOwnerStack\u003c/code\u003e (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated fonts and dropped the \u003ccode\u003edata-theme\u003c/code\u003e attribute.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated theme configuration (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1815\"\u003e#1815\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMonorepo\u003c/strong\u003e: Aligned the \u003ccode\u003etsdown\u003c/code\u003e version in \u003ccode\u003e@local/configs\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epnpm-workspace\u003c/strong\u003e: Enabled \u003ccode\u003etrustPolicy: \u0026quot;no-downgrade\u0026quot;\u003c/code\u003e and added \u003ccode\u003eminimumReleaseAge: 1440\u003c/code\u003e (1 day).\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003e10.4.1\u003c/code\u003e across workspace packages.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003epnpm\u003c/code\u003e to \u003ccode\u003e11.5.0\u003c/code\u003e and refreshed the lockfile.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003efumadocs\u003c/code\u003e packages and \u003ccode\u003etinyexec\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rel1cx/eslint-react/blob/main/CHANGELOG.md\"\u003e@​eslint-react/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.8.9 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🐞 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-direct-mutation-state\u003c/code\u003e\u003c/strong\u003e: Detect nested state mutations and member expressions in assignment expressions (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1818\"\u003e#1818\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated contributing guide and monorepo structure documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eExamples\u003c/strong\u003e: Removed \u003ccode\u003e.vscode\u003c/code\u003e directories from all examples, added missing \u003ccode\u003eengines.node\u003c/code\u003e to Preact examples, cleaned up redundant \u003ccode\u003e.config/*.ts\u003c/code\u003e from \u003ccode\u003etsconfig.node.json\u003c/code\u003e, and updated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Cleaned up configs and docs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeps\u003c/strong\u003e: Patch bumped \u003ccode\u003eeslint\u003c/code\u003e, \u003ccode\u003etinyglobby\u003c/code\u003e, and \u003ccode\u003etsdown\u003c/code\u003e across workspace packages; added \u003ccode\u003e@fontsource/iosevka-aile\u003c/code\u003e to the website; reordered CSS imports in \u003ccode\u003elayout.tsx\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.sentrux\u003c/code\u003e baseline timestamp.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.8 (2026-05-31)\u003c/h2\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekit\u003c/code\u003e\u003c/strong\u003e: Added \u003ccode\u003eis.APICall\u003c/code\u003e callout to the Kit documentation (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejsx\u003c/code\u003e\u003c/strong\u003e: Updated \u003ccode\u003egetChildren\u003c/code\u003e and \u003ccode\u003ehasChildren\u003c/code\u003e API documentation to reflect empty string children behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Reworked status emoji indicators across docs and examples (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1816\"\u003e#1816\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added ℞ prefix to recipe titles and cleaned up See Also sections.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Removed the \u003ccode\u003ecustom-rules-of-children\u003c/code\u003e recipe and cross-linked the remaining recipes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added redirects for moved rule documentation.\u003c/li\u003e\n\u003cli\u003eCleaned up the \u0026quot;Community Maintained Presets that use ESLint React\u0026quot; documentation page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-misused-capture-owner-stack\u003c/code\u003e\u003c/strong\u003e: Added edge-case tests for \u003ccode\u003ecaptureOwnerStack\u003c/code\u003e (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated fonts and dropped the \u003ccode\u003edata-theme\u003c/code\u003e attribute.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated theme configuration (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1815\"\u003e#1815\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMonorepo\u003c/strong\u003e: Aligned the \u003ccode\u003etsdown\u003c/code\u003e version in \u003ccode\u003e@local/configs\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epnpm-workspace\u003c/strong\u003e: Enabled \u003ccode\u003etrustPolicy: \u0026quot;no-downgrade\u0026quot;\u003c/code\u003e and added \u003ccode\u003eminimumReleaseAge: 1440\u003c/code\u003e (1 day).\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003e10.4.1\u003c/code\u003e across workspace packages.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003epnpm\u003c/code\u003e to \u003ccode\u003e11.5.0\u003c/code\u003e and refreshed the lockfile.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003efumadocs\u003c/code\u003e packages and \u003ccode\u003etinyexec\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint-plugin-package-json\u003c/code\u003e to \u003ccode\u003e1.2.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated dprint plugins and reformatted font families in example projects.\u003c/li\u003e\n\u003cli\u003eUpdated Sentrux baseline metrics.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.7...v5.8.8\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.7...v5.8.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.7 (2026-05-29)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/ff9258dc21cd08546d20e8596d2de9e5387a6875\"\u003e\u003ccode\u003eff9258d\u003c/code\u003e\u003c/a\u003e release: 5.8.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/60e2514c793e3f7c06f6bb1f81ac6a20da014cfa\"\u003e\u003ccode\u003e60e2514\u003c/code\u003e\u003c/a\u003e release: 5.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/5b62a422ea43365ed2abab803a95f34cab47a335\"\u003e\u003ccode\u003e5b62a42\u003c/code\u003e\u003c/a\u003e Update baseline timestamp and bump eslint to 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/0e85aa0e12f2f1cfe0c0203908f0a4e32e4c8c06\"\u003e\u003ccode\u003e0e85aa0\u003c/code\u003e\u003c/a\u003e release: 5.8.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/d2e2d2db15ca432a571831238bdfca72a5485d9f\"\u003e\u003ccode\u003ed2e2d2d\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/7f9bd4a174d1ff660087c82d28ba6faea375c791\"\u003e\u003ccode\u003e7f9bd4a\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/449f940c05ff05556d8af9b7bcc3098bcef463a9\"\u003e\u003ccode\u003e449f940\u003c/code\u003e\u003c/a\u003e docs: fix inaccurate minimum ESLint version and off preset description in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/846014c8c4d4cfe8b22a67424f2c15b339f8bb1f\"\u003e\u003ccode\u003e846014c\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/9ad3404c5ae8a48c14a6e23b121250ec78364f85\"\u003e\u003ccode\u003e9ad3404\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/a29c464e7111dd9df50d549c9b749f4254a68014\"\u003e\u003ccode\u003ea29c464\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Rel1cx/eslint-react/commits/v5.8.9/plugins/eslint-plugin\"\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 `eslint-import-resolver-typescript` from 4.4.4 to 4.4.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/releases\"\u003eeslint-import-resolver-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473\"\u003e#473\u003c/a\u003e \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/leey0818\"\u003e\u003ccode\u003e@​leey0818\u003c/code\u003e\u003c/a\u003e! - fix: check tsconfig matching before using resolver\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/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md\"\u003eeslint-import-resolver-typescript's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.4.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473\"\u003e#473\u003c/a\u003e \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/leey0818\"\u003e\u003ccode\u003e@​leey0818\u003c/code\u003e\u003c/a\u003e! - fix: check tsconfig matching before using resolver\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/724c47d8c08fa8ffa702c7a94ba53b367a4727fb\"\u003e\u003ccode\u003e724c47d\u003c/code\u003e\u003c/a\u003e chore: release eslint-import-resolver-typescript (\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e fix: check tsconfig matching before using resolver (\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/compare/v4.4.4...v4.4.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-import-resolver-typescript since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/CaseyHoover/FullStackSkeleton/pull/142","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaseyHoover%2FFullStackSkeleton/issues/142","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/142/packages"},{"uuid":"4560221598","node_id":"PR_kwDOSmnPgc7hNwyU","number":24,"state":"open","title":"chore(deps): bump the npm-dependencies group 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-01T04:00:11.000Z","updated_at":"2026-06-03T11:33:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":5,"packages":[{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.12","repository_url":"https://github.com/better-auth/better-auth"},{"name":"lucide-react","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"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":"lefthook","old_version":"2.1.8","new_version":"2.1.9","repository_url":"https://github.com/evilmartians/lefthook"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.12` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.16.0` | `1.17.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| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |\n\nUpdates `better-auth` from 1.6.11 to 1.6.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.12\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed field index ordering in \u003ccode\u003egetMigration\u003c/code\u003e migrations. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9691\"\u003e#9691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed synthetic user construction to exclude extra fields. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9347\"\u003e#9347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed session cookie refresh headers not being forwarded when resolving sessions. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9667\"\u003e#9667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003echangeEmail\u003c/code\u003e to return an error when \u003ccode\u003eemailVerification.sendVerificationEmail\u003c/code\u003e is missing, and URL-encoded \u003ccode\u003ecallbackURL\u003c/code\u003e in verify-email links. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9614\"\u003e#9614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ecallbackURL\u003c/code\u003e URL-encoding in verify-email links for OAuth account linking and username sign-in. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9792\"\u003e#9792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erole.authorize\u003c/code\u003e to reject empty action lists and correctly evaluate \u003ccode\u003eOR\u003c/code\u003e conditions on unknown resources. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9603\"\u003e#9603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed missing exports of \u003ccode\u003eAdminClientOptions\u003c/code\u003e and \u003ccode\u003eOrganizationClientOptions\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9642\"\u003e#9642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed email OTP sign-in failing with captcha errors under default captcha settings. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9596\"\u003e#9596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eparseJSON\u003c/code\u003e to properly decode escape sequences in quoted strings. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9617\"\u003e#9617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cookie parsing to tolerate missing spaces after \u003ccode\u003e;\u003c/code\u003e separators, preventing users behind certain proxies from being treated as logged-out. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9543\"\u003e#9543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetTrustedOrigins\u003c/code\u003e to respect the dynamic \u003ccode\u003ebaseURL\u003c/code\u003e protocol option. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9644\"\u003e#9644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed request mutation by cloning the request before passing it to the \u003ccode\u003esendVerificationEmail\u003c/code\u003e callback. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9619\"\u003e#9619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e config option to \u003ccode\u003egenericOAuth\u003c/code\u003e for providers that omit \u003ccode\u003eexpires_in\u003c/code\u003e in their token response. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9799\"\u003e#9799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed oauth-proxy to forward specific error codes instead of collapsing all errors into \u003ccode\u003euser_creation_failed\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9723\"\u003e#9723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed oauth-proxy flows failing with \u003ccode\u003estate_mismatch\u003c/code\u003e when production and preview environments use different secrets. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9385\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth callback errors to forward specific error codes (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e) instead of the generic \u003ccode\u003eplease_restart_the_process\u003c/code\u003e code. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9788\"\u003e#9788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth state validation failures to redirect to the per-flow \u003ccode\u003eerrorCallbackURL\u003c/code\u003e instead of the default error page. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9789\"\u003e#9789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OpenAPI schema generation to emit unique \u003ccode\u003eoperationId\u003c/code\u003es for endpoints that expose multiple HTTP methods. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9721\"\u003e#9721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitations silently routing users to the wrong team when team IDs contained a comma. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9616\"\u003e#9616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edeleteOrganization\u003c/code\u003e and \u003ccode\u003eremoveMember\u003c/code\u003e to roll back on failure instead of leaving orphaned rows. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9630\"\u003e#9630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed stateless session cache refresh to preserve the real session expiry instead of resetting it. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8817\"\u003e#8817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a session cookie leak that allowed \u003ccode\u003esession_token\u003c/code\u003e and \u003ccode\u003esession_data\u003c/code\u003e cookies to be captured and replayed to bypass 2FA when cookie caching is enabled. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9639\"\u003e#9639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed missing username validation on the admin \u003ccode\u003ecreateUser\u003c/code\u003e endpoint. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/c0c574ea50cfb3b9350f666590ad9747bb39ad6f/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed expired magic-link tokens and OAuth authorization codes to be reliably rejected, and corrected their error codes. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9624\"\u003e#9624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eregistration_endpoint\u003c/code\u003e to be hidden from \u003ccode\u003e.well-known\u003c/code\u003e metadata unless dynamic client registration is enabled. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9448\"\u003e#9448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Basic Auth credential parsing to accept \u003ccode\u003eclient_secret\u003c/code\u003e values containing colons. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9601\"\u003e#9601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the consent update endpoint to return \u003ccode\u003eNOT_FOUND\u003c/code\u003e when the referenced client no longer exists. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9600\"\u003e#9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth and OIDC metadata discovery for path-prefixed issuers. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9668\"\u003e#9668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/c0c574ea50cfb3b9350f666590ad9747bb39ad6f/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etoCamelCase\u003c/code\u003e, \u003ccode\u003etoSnakeCase\u003c/code\u003e, \u003ccode\u003etoPascalCase\u003c/code\u003e, and \u003ccode\u003etoKebabCase\u003c/code\u003e utilities to \u003ccode\u003e@better-auth/core/utils/string\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9727\"\u003e#9727\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9603\"\u003e#9603\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003erole.authorize\u003c/code\u003e now treats empty action lists (\u003ccode\u003e[]\u003c/code\u003e or \u003ccode\u003e{ actions: [] }\u003c/code\u003e) as unauthorized, and evaluates each requested resource under the \u003ccode\u003eOR\u003c/code\u003e connector before returning the result.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9702\"\u003e#9702\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Banned users signing in with an OAuth provider now redirect to the \u003ccode\u003eerrorCallbackURL\u003c/code\u003e passed to \u003ccode\u003esignIn.social\u003c/code\u003e, with \u003ccode\u003e?error=BANNED_USER\u0026amp;error_description=\u0026lt;message\u0026gt;\u003c/code\u003e in the query string. Previously the redirect went to the auth server's default error page with \u003ccode\u003e?error=banned\u003c/code\u003e, which broke multi-domain deployments where the auth host and frontend host differ. The \u003ccode\u003eoauth-proxy\u003c/code\u003e, SSO OIDC, and SAML callbacks now also redirect hook rejections to the error URL (previously returned JSON 403), and \u003ccode\u003eoauth-proxy\u003c/code\u003e URL-encodes the \u003ccode\u003eerror\u003c/code\u003e query value across all its redirects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9596\"\u003e#9596\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/7a120724c5c3fdd9d60d59169b32d693e9497fec\"\u003e\u003ccode\u003e7a12072\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Email OTP sign-in no longer fails with a missing-captcha-token error under the default captcha settings. If you intentionally want captcha on email OTP sign-in, add \u003ccode\u003e/sign-in/email-otp\u003c/code\u003e to \u003ccode\u003ecaptcha({ endpoints })\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9614\"\u003e#9614\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003echangeEmail\u003c/code\u003e no longer silently returns \u003ccode\u003e{ status: true }\u003c/code\u003e when the flow cannot complete: if \u003ccode\u003eemailVerification.sendVerificationEmail\u003c/code\u003e is missing for a verified user, the request now fails with a 400 error. \u003ccode\u003ecallbackURL\u003c/code\u003e values are also URL-encoded, so callbacks that carry their own query string survive the round trip through verify-email links.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9617\"\u003e#9617\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eparseJSON\u003c/code\u003e now decodes escape sequences such as \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, and \u003ccode\u003e\\uXXXX\u003c/code\u003e in quoted strings. Values such as organization metadata that round-trip through \u003ccode\u003eJSON.stringify\u003c/code\u003e and back no longer come out with raw escape characters in place of the original characters.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9624\"\u003e#9624\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f77060af3a9d1f19f05a26ccf6e56d79bb9db69d\"\u003e\u003ccode\u003ef77060a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Expired magic-link tokens and OAuth authorization codes are now reliably rejected. Magic-link verify redirects to \u003ccode\u003e?error=INVALID_TOKEN\u003c/code\u003e for expired tokens (was \u003ccode\u003e?error=EXPIRED_TOKEN\u003c/code\u003e). The OIDC, MCP, and \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e \u003ccode\u003e/token\u003c/code\u003e endpoints return \u003ccode\u003eerror_description: \u0026quot;invalid code\u0026quot;\u003c/code\u003e for expired codes (was \u003ccode\u003e\u0026quot;code expired\u0026quot;\u003c/code\u003e). The OAuth \u003ccode\u003eerror\u003c/code\u003e value stays \u003ccode\u003einvalid_grant\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9631\"\u003e#9631\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/dcb2e6d29cf4c986ff8980dab50bcfcb8110a749\"\u003e\u003ccode\u003edcb2e6d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Cookie values containing characters outside the bare cookie-octet range (such as \u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\\\u003c/code\u003e) are now percent-encoded into the \u003ccode\u003eCookie\u003c/code\u003e header. They were previously dropped on re-serialization, which could break flows that store structured values in cookies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9792\"\u003e#9792\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - URL-encode \u003ccode\u003ecallbackURL\u003c/code\u003e in the verify-email links sent during OAuth account linking and username sign-in.\u003c/p\u003e\n\u003cp\u003eBoth paths interpolated the caller's \u003ccode\u003ecallbackURL\u003c/code\u003e into the verification link without encoding it. A legitimate value containing an ampersand, such as \u003ccode\u003e/welcome?ref=oauth\u0026amp;plan=pro\u003c/code\u003e, was truncated at the first \u003ccode\u003e\u0026amp;\u003c/code\u003e, so the user landed on the wrong page after verifying their email. The value is now encoded the same way the other verify-email links already handle it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9642\"\u003e#9642\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5fcc9d37f2c46d3719a70c18857d9913ce172cf\"\u003e\u003ccode\u003ef5fcc9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(admin): export AdminClientOptions and OrganizationClientOptions\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9691\"\u003e#9691\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d91eb77f5c10779b287f9c8de0495fcb75a425a\"\u003e\u003ccode\u003e9d91eb7\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: getMigration field index order\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9543\"\u003e#9543\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b40dac22e0cfddbbb27136fe8067aba154ca91a\"\u003e\u003ccode\u003e1b40dac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eCookie\u003c/code\u003e headers without a space after \u003ccode\u003e;\u003c/code\u003e separators are now tolerated. Signed-in users behind proxies that strip this space were previously treated as logged-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9667\"\u003e#9667\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5626e1b4375aef7735e4f1103035377cbfad755c\"\u003e\u003ccode\u003e5626e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kgarg2468\"\u003e\u003ccode\u003e@​kgarg2468\u003c/code\u003e\u003c/a\u003e! - Forward cookie refresh headers emitted while resolving sessions through getSessionFromCtx.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9619\"\u003e#9619\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ad9ad824965cb8385f6f2a921576f2cc58ac2b47\"\u003e\u003ccode\u003ead9ad82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(email-verification): clone request before passing to sendVerificationEmail callback\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9661\"\u003e#9661\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/62dabf66780a3dc7270e419886a15c43f3c8d879\"\u003e\u003ccode\u003e62dabf6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden URL normalization and Stripe customer search escaping. URL helpers now trim trailing slashes without a regular expression, and Stripe search query values escape backslashes before quotes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9347\"\u003e#9347\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/276d67fad597ca415a023c10fb5e1165093eebd1\"\u003e\u003ccode\u003e276d67f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: build synthetic user safely without including extra fields\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9644\"\u003e#9644\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d73ffff4470664147e7207336442029c35f12d9\"\u003e\u003ccode\u003e2d73fff\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(core): respect dynamic baseURL protocol option in getTrustedOrigins\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9799\"\u003e#9799\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Refresh access tokens from \u003ccode\u003egenericOAuth\u003c/code\u003e providers that omit \u003ccode\u003eexpires_in\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWhen a provider's token response leaves out \u003ccode\u003eexpires_in\u003c/code\u003e, Better Auth recorded no expiry, so \u003ccode\u003egetAccessToken\u003c/code\u003e couldn't tell the token had lapsed and never refreshed it; callers kept receiving a stale token. Set \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e (seconds) on a \u003ccode\u003egenericOAuth\u003c/code\u003e config entry to declare the token's lifetime; the expiry is then synthesized at sign-in and on refresh, and the existing refresh path works. The option is opt-in: providers that return \u003ccode\u003eexpires_in\u003c/code\u003e or issue non-expiring tokens are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9788\"\u003e#9788\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Surface specific OAuth callback error codes and route every callback failure through one redirect helper.\u003c/p\u003e\n\u003cp\u003eA failed OAuth sign-in previously gave users almost nothing to act on. The state parser collapsed every failure into a single \u003ccode\u003eplease_restart_the_process\u003c/code\u003e code, and the built-in social callback's missing-state branch redirected with a \u003ccode\u003estate\u003c/code\u003e query parameter the error page never reads, so that case showed no error at all. Now \u003ccode\u003eparseState\u003c/code\u003e forwards the precise \u003ccode\u003eStateError\u003c/code\u003e code (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e, with \u003ccode\u003estate_security_mismatch\u003c/code\u003e reported as \u003ccode\u003estate_mismatch\u003c/code\u003e), and unexpected failures map to \u003ccode\u003einternal_server_error\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe built-in social callback no longer keeps its own missing-state guard; it goes through the shared state parser like every other callback, so both built-in and generic-OAuth providers report a missing \u003ccode\u003estate\u003c/code\u003e as \u003ccode\u003eerror=state_not_found\u003c/code\u003e. All callback error redirects (built-in, generic-OAuth, and oauth-proxy) now use one \u003ccode\u003eredirectOnError\u003c/code\u003e helper that owns the query separator, parameter name, and URL encoding, so a redirect cannot be built with the wrong parameter again.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eplease_restart_the_process\u003c/code\u003e error code is removed. Error pages that branch on \u003ccode\u003eerror=please_restart_the_process\u003c/code\u003e should handle the specific state codes (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e) or \u003ccode\u003einternal_server_error\u003c/code\u003e instead.\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/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/17cd433c66a6ed323b9fda7d4e7db5ad98d8099b\"\u003e\u003ccode\u003e17cd433\u003c/code\u003e\u003c/a\u003e fix(oauth-proxy): missing state-cookie skip for oauth-proxy (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9385\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e fix: URL-encode callbackURL in verify-email links (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9792\"\u003e#9792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0a7cb7064723d2096e36f44b86c59f7181a8e0c5\"\u003e\u003ccode\u003e0a7cb70\u003c/code\u003e\u003c/a\u003e fix(oauth): honor per-flow errorCallbackURL when state validation fails (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9789\"\u003e#9789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e fix(oauth): forward specific callback error codes via shared redirectOnError ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e feat(core): add string case conversion utilities (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9727\"\u003e#9727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/015f96bc63a90c06a67fbaf80e286b6f6fe1967d\"\u003e\u003ccode\u003e015f96b\u003c/code\u003e\u003c/a\u003e fix(oauth-proxy): forward \u003ccode\u003eresult.error\u003c/code\u003e verbatim in callback redirect (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9723\"\u003e#9723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43cc49c640c0d2c27572807a291d318bbcadfd04\"\u003e\u003ccode\u003e43cc49c\u003c/code\u003e\u003c/a\u003e fix(open-api): emit unique operationIds for multi-method endpoints (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9721\"\u003e#9721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e fix: redirect hook rejections to errorCallbackURL across auth callback flows ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.12/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(lucide-vue-next|lucide-svelte|lucide-angular): Remove deprecated packages by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4376\"\u003elucide-icons/lucide#4376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(repo): Update issue templates and documentation for package ren… by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4379\"\u003elucide-icons/lucide#4379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Adds survey overlay to website by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4380\"\u003elucide-icons/lucide#4380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Certificate dev links by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4390\"\u003elucide-icons/lucide#4390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003emartini\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4335\"\u003elucide-icons/lucide#4335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump brace-expansion from 1.1.11 to 5.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4386\"\u003elucide-icons/lucide#4386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e from 2.0.0 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4404\"\u003elucide-icons/lucide#4404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump devalue from 5.8.0 to 5.8.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4391\"\u003elucide-icons/lucide#4391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ws from 8.18.0 to 8.20.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4392\"\u003elucide-icons/lucide#4392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gh-icon): limit icon size to a maximum of 256 pixels by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4398\"\u003elucide-icons/lucide#4398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dependencies): Update dependencies by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4377\"\u003elucide-icons/lucide#4377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(copilot): Adding copilot instructions by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4407\"\u003elucide-icons/lucide#4407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): add \u003ccode\u003eglobe-check\u003c/code\u003e by \u003ca href=\"https://github.com/Barakudum\"\u003e\u003ccode\u003e@​Barakudum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4342\"\u003elucide-icons/lucide#4342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(metadata): Require use-cases in meta json by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4321\"\u003elucide-icons/lucide#4321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eparasol\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4347\"\u003elucide-icons/lucide#4347\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.17.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@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 `lefthook` from 2.1.8 to 2.1.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1d35cbabe1ebaf2a5ed4d2186caa0402de6448e2 chore: add pretty gradient (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e22be6c50e1412c748f3c6b60e9c61cd056dc693b deps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1415\"\u003e#1415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e1bae568f03dfb88af9185031fa44e9fee285e917 fix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.9 (2026-05-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1431\"\u003e#1431\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1415\"\u003e#1415\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/75f99ff325a731c296b572292dd1c855cd970b93\"\u003e\u003ccode\u003e75f99ff\u003c/code\u003e\u003c/a\u003e 2.1.9: fix install with --reset-hooks-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/1d35cbabe1ebaf2a5ed4d2186caa0402de6448e2\"\u003e\u003ccode\u003e1d35cba\u003c/code\u003e\u003c/a\u003e chore: add pretty gradient (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/1bae568f03dfb88af9185031fa44e9fee285e917\"\u003e\u003ccode\u003e1bae568\u003c/code\u003e\u003c/a\u003e fix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/22be6c50e1412c748f3c6b60e9c61cd056dc693b\"\u003e\u003ccode\u003e22be6c5\u003c/code\u003e\u003c/a\u003e deps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1415\"\u003e#1415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.8...v2.1.9\"\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/henchoznoe/NexTemplate/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/henchoznoe%2FNexTemplate/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"4557655843","node_id":"PR_kwDOSFYK3M7hF8ep","number":92,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T06:53:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T13:11:41.000Z","updated_at":"2026-06-05T06:53:35.000Z","time_to_close":409312,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":7,"packages":[{"name":"turbo","old_version":"2.9.15","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"@react-router/node","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@react-router/serve","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"react-router","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@react-router/dev","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.15` | `2.9.16` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node) | `7.15.1` | `7.16.0` |\n| [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve) | `7.15.1` | `7.16.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.13` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.15.1` | `7.16.0` |\n| [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev) | `7.15.1` | `7.16.0` |\n\n\nUpdates `turbo` from 2.9.15 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\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 `@react-router/node` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md\"\u003e@​react-router/node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHonor Node writable backpressure in \u003ccode\u003ewriteReadableStreamToWritable\u003c/code\u003e and \u003ccode\u003ewriteAsyncIterableToWritable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15071\"\u003e#15071\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAwait \u003ccode\u003e'drain'\u003c/code\u003e when \u003ccode\u003ewritable.write()\u003c/code\u003e returns \u003ccode\u003efalse\u003c/code\u003e instead of letting chunks accumulate in the writable's internal buffer.\u003c/li\u003e\n\u003cli\u003eReject (rather than hang) if the writable errors or closes mid-stream.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/50511dc3da31fb4689b9683779661fd754cebcdf\"\u003e\u003ccode\u003e50511dc\u003c/code\u003e\u003c/a\u003e fix(node): honor writable backpressure when streaming to Node writables (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node/issues/15071\"\u003e#15071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/node@7.16.0/packages/react-router-node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-router/serve` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/serve's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md\"\u003e@​react-router/serve's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNormalize \u003ccode\u003eassetsBuildDirectory\u003c/code\u003e path separators in \u003ccode\u003ereact-router-serve\u003c/code\u003e so Windows-built server artifacts can serve \u003ccode\u003e/assets/*\u003c/code\u003e correctly when run on Linux. (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/14982\"\u003e#14982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/express@7.16.0\"\u003e\u003ccode\u003e@react-router/express@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/node@7.16.0\"\u003e\u003ccode\u003e@react-router/node@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/98e8b3bd707dcf42dab0ff85dc1e9322d0f1d0cf\"\u003e\u003ccode\u003e98e8b3b\u003c/code\u003e\u003c/a\u003e fix(serve): normalize assetsBuildDirectory separators in react-router-serve (...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/serve@7.16.0/packages/react-router-serve\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-router` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003ereact-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md\"\u003ereact-router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStabilize \u003ccode\u003efuture.unstable_trailingSlashAwareDataRequests\u003c/code\u003e as \u003ccode\u003efuture.v8_trailingSlashAwareDataRequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDisable manifest path when lazy route dicovery is disabled (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15068\"\u003e#15068\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix browser URL creation to use the configured history window instead of the global window. (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15066\"\u003e#15066\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePass the history/router window through to \u003ccode\u003ecreateBrowserURLImpl\u003c/code\u003e so custom window contexts keep the correct URL origin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003euseNavigation()\u003c/code\u003e return type to preserve discriminated union across navigation states (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15095\"\u003e#15095\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWiden \u003ccode\u003eMetaDescriptor\u003c/code\u003e \u003ccode\u003escript:ld+json\u003c/code\u003e type from \u003ccode\u003eLdJsonObject\u003c/code\u003e to \u003ccode\u003eLdJsonObject | LdJsonObject[]\u003c/code\u003e to permit multiple JSON-LD schemas in a single \u003ccode\u003e\u0026lt;script type=\u0026quot;application/ld+json\u0026quot;\u0026gt;\u003c/code\u003e tag emitted by \u003ccode\u003e\u0026lt;Meta /\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15082\"\u003e#15082\u003c/a\u003e)\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/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/d71025d9b86854180c995cb36fd3d28f58c459bf\"\u003e\u003ccode\u003ed71025d\u003c/code\u003e\u003c/a\u003e Stabilize trailing slash aware data requests (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/6e21b638e1e692eaf19a8ff98ec05d28d5b23c70\"\u003e\u003ccode\u003e6e21b63\u003c/code\u003e\u003c/a\u003e fix: keep useNavigation() return type a discriminated union (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15095\"\u003e#15095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4cde90be1ccae1c27a893ab5e87f64a35f308979\"\u003e\u003ccode\u003e4cde90b\u003c/code\u003e\u003c/a\u003e Support array of objects for \u003ccode\u003escript:ld+json\u003c/code\u003e meta descriptor (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15082\"\u003e#15082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/dc996ea6a4edc08c37ca1f80e2c5c6c88e64377e\"\u003e\u003ccode\u003edc996ea\u003c/code\u003e\u003c/a\u003e fix(router): pass configured window to createBrowserURLImpl (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15066\"\u003e#15066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/cfb5fb0f41bfd8034bd5931f0b9a8e4da8ed0f11\"\u003e\u003ccode\u003ecfb5fb0\u003c/code\u003e\u003c/a\u003e Disable manifest handler when lazy route discovery is disabled (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15068\"\u003e#15068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/16eb79e3c301d63628895960700faab38526c9a9\"\u003e\u003ccode\u003e16eb79e\u003c/code\u003e\u003c/a\u003e test: fix typo in test description (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15053\"\u003e#15053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4b464a9ac2c566841d08722181e4d5f34f36f64b\"\u003e\u003ccode\u003e4b464a9\u003c/code\u003e\u003c/a\u003e chore: format\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/react-router@7.16.0/packages/react-router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-router/dev` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/dev's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md\"\u003e@​react-router/dev's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eStabilize \u003ccode\u003efuture.unstable_trailingSlashAwareDataRequests\u003c/code\u003e as \u003ccode\u003efuture.v8_trailingSlashAwareDataRequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15098\"\u003e#15098\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe unstable flag is no longer supported and will error during config resolution\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLog future flag warnings for upcoming React Router v8 flags (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15029\"\u003e#15029\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ev8_middleware\u003c/code\u003e, \u003ccode\u003ev8_splitRouteModules\u003c/code\u003e, \u003ccode\u003ev8_viteEnvironmentApi\u003c/code\u003e, \u003ccode\u003ev8_passThroughRequests\u003c/code\u003e, \u003ccode\u003ev8_trailingSlashAwareDataRequests\u003c/code\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\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/node@7.16.0\"\u003e\u003ccode\u003e@react-router/node@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/serve@7.16.0\"\u003e\u003ccode\u003e@react-router/serve@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/d71025d9b86854180c995cb36fd3d28f58c459bf\"\u003e\u003ccode\u003ed71025d\u003c/code\u003e\u003c/a\u003e Stabilize trailing slash aware data requests (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/c35008f7f4abbf0872a4934e4e83e0f18046eb40\"\u003e\u003ccode\u003ec35008f\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​react-router/dev\u003c/code\u003e): log future flag warnings for upcoming v8 flags (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4b464a9ac2c566841d08722181e4d5f34f36f64b\"\u003e\u003ccode\u003e4b464a9\u003c/code\u003e\u003c/a\u003e chore: format\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/dev@7.16.0/packages/react-router-dev\"\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/duck-organization/questbot/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/duck-organization%2Fquestbot/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"},{"uuid":"4557548082","node_id":"PR_kwDORoExos7hFoBl","number":182,"state":"closed","title":"chore(deps): Bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T22:40:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T12:29:27.000Z","updated_at":"2026-05-31T22:40:54.000Z","time_to_close":36685,"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":"@tanstack/react-form","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"happy-dom","old_version":"20.8.9","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"meilisearch","old_version":"0.44.0","new_version":"0.58.0","repository_url":"https://github.com/meilisearch/meilisearch-js"},{"name":"prettier-plugin-tailwindcss","old_version":"0.7.4","new_version":"0.8.0","repository_url":"https://github.com/tailwindlabs/prettier-plugin-tailwindcss"},{"name":"better-auth","old_version":"1.6.12","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"svelte","old_version":"5.55.9","new_version":"5.56.0","repository_url":"https://github.com/sveltejs/svelte"},{"name":"@tanstack/form-core","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"},{"name":"nodemailer","old_version":"8.0.9","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"@tanstack/svelte-form","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-form](https://github.com/TanStack/form/tree/HEAD/packages/react-form) | `1.32.0` | `1.33.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.8.9` | `20.9.0` |\n| [meilisearch](https://github.com/meilisearch/meilisearch-js) | `0.44.0` | `0.58.0` |\n| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.7.4` | `0.8.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.12` | `1.6.13` |\n| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `5.55.9` | `5.56.0` |\n| [@tanstack/form-core](https://github.com/TanStack/form/tree/HEAD/packages/form-core) | `1.32.0` | `1.33.0` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.9` | `8.0.10` |\n| [@tanstack/svelte-form](https://github.com/TanStack/form/tree/HEAD/packages/svelte-form) | `1.32.0` | `1.33.0` |\n\n\nUpdates `@tanstack/react-form` from 1.32.0 to 1.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/releases\"\u003e@​tanstack/react-form's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-nextjs\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-remix\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-start\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-nextjs\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-remix\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-start\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\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/TanStack/form/blob/main/packages/react-form/CHANGELOG.md\"\u003e@​tanstack/react-form's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/1d2c585e159622b7b8be2b09dd7f823c8928b17e\"\u003e\u003ccode\u003e1d2c585\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e Form Groups (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/5d8b2cd0128207da34114098c92a69685e1cea0a\"\u003e\u003ccode\u003e5d8b2cd\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/120473e270dde2a61e646852d657e1acc5585ffd\"\u003e\u003ccode\u003e120473e\u003c/code\u003e\u003c/a\u003e Fix trusted provenance (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e fix(form-core): bump _arrayVersion when async defaultValues update array fiel...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/form/commits/@tanstack/react-form@1.33.0/packages/react-form\"\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 `happy-dom` from 20.8.9 to 20.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003ehappy-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.9.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for event listener properties on Window (e.g. \u003ccode\u003eWindow.onkeydown\u003c/code\u003e) - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2131\"\u003e#2131\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/4090adefaf116143ebabf3226581c1261c09e877\"\u003e\u003ccode\u003e4090ade\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/c7c2bb506377f2b38218486b166b89a9b0e5b174\"\u003e\u003ccode\u003ec7c2bb5\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/d541143d69e6593422e32c7c3853213ee04af545\"\u003e\u003ccode\u003ed541143\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/a78d89e7e1cf77c42cb04833b9d9fba30a3e868a\"\u003e\u003ccode\u003ea78d89e\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2131\"\u003e#2131\u003c/a\u003e Adds support for event listener properties on Window (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.8.9...v20.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for happy-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `meilisearch` from 0.44.0 to 0.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/meilisearch/meilisearch-js/releases\"\u003emeilisearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.58.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dynamic search rules (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2171\"\u003e#2171\u003c/a\u003e) \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ Maintenance/misc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump lint-staged from 16.2.7 to 16.4.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2166\"\u003e#2166\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typedoc from 0.28.15 to 0.28.18 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2165\"\u003e#2165\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump the vitest group across 1 directory with 2 updates (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2161\"\u003e#2161\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.10.13 to 24.12.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2164\"\u003e#2164\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump the eslint group across 1 directory with 2 updates (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2159\"\u003e#2159\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2160\"\u003e#2160\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake tests compatible with Meilisearch v1.42.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2169\"\u003e#2169\u003c/a\u003e) \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump vite from 8.0.0 to 8.0.5 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2177\"\u003e#2177\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/curquiza\"\u003e\u003ccode\u003e@​curquiza\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot],  and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003ev0.57.0 🌻\u003c/h2\u003e\n\u003ch2\u003eMigration guide\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!note]\nAll breaking changes pertain to features that were deprecated for more than 12 months.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eReplace default export, and \u003ccode\u003eMeiliSearch\u003c/code\u003e named export with \u003ccode\u003eMeilisearch\u003c/code\u003e (lowercase 's'):\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e- import meili from \u0026quot;meilisearch\u0026quot;;\r\n- import { MeiliSearch } from \u0026quot;meilisearch\u0026quot;;\r\n- import { default as meili } from \u0026quot;meilisearch\u0026quot;;\r\n+ import { Meilisearch } from \u0026quot;meilisearch\u0026quot;;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eReplace all symbols containing \u003ccode\u003eMeiliSearch\u003c/code\u003e with \u003ccode\u003eMeilisearch\u003c/code\u003e (lowercase 's'):\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e- import { MeiliSearchError } from \u0026quot;meilisearch\u0026quot;;\r\n+ import { MeilisearchError } from \u0026quot;meilisearch\u0026quot;;\r\n// etc.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAs CommonJS and UMD bundles aren't available anymore, you will have to bundle for any target environment that requires them, if applicable. \u003ca href=\"https://github.com/meilisearch/meilisearch-js/issues\"\u003eOpen an issue\u003c/a\u003e if you require assistance.\u003c/p\u003e\n\u003ch2\u003e⚠️ Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop CommonJS/UMD bundles and migrate to ESM-only exports (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2144\"\u003e#2144\u003c/a\u003e) \u003ca href=\"https://github.com/flevi29\"\u003e\u003ccode\u003e@​flevi29\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003edistinct\u003c/code\u003e in federated search requests (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2154\"\u003e#2154\u003c/a\u003e) \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/70ac04b2def505c625be72d03fe3e89f392b07f1\"\u003e\u003ccode\u003e70ac04b\u003c/code\u003e\u003c/a\u003e Update version for the next release (v0.58.0) in package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/6dd94eaabf0a09498fbe3dd8b0fcce3f35cbf6d9\"\u003e\u003ccode\u003e6dd94ea\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump vite from 8.0.0 to 8.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/17343bcf39cd333878934e76eb35eb9bbd9b518e\"\u003e\u003ccode\u003e17343bc\u003c/code\u003e\u003c/a\u003e Update experimental features test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/133e1d0fa9d66b64e02b29ddb3dfe7b9b87d31f1\"\u003e\u003ccode\u003e133e1d0\u003c/code\u003e\u003c/a\u003e Update experimental features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/deee206d0bcf5f262bb908c0312c730a8a393f3d\"\u003e\u003ccode\u003edeee206\u003c/code\u003e\u003c/a\u003e Rename files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/c4d11a9fb59497c6e001f9452017b6903ba40320\"\u003e\u003ccode\u003ec4d11a9\u003c/code\u003e\u003c/a\u003e Check presence of expected fields only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/e2ec12176ca196a9d41ef28801d938d4926bf701\"\u003e\u003ccode\u003ee2ec121\u003c/code\u003e\u003c/a\u003e Update types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/f0d7a2301b23feb17cd0eae630a11e557b937393\"\u003e\u003ccode\u003ef0d7a23\u003c/code\u003e\u003c/a\u003e Add dynamic search rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/c162ca30de9e6a0aa662f58a7b9301b0e0984fae\"\u003e\u003ccode\u003ec162ca3\u003c/code\u003e\u003c/a\u003e Make tests compatible with v1.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/1d7221bf90368376f4c0bd557e6dae5a1e6d66a1\"\u003e\u003ccode\u003e1d7221b\u003c/code\u003e\u003c/a\u003e chore: remove unused code samples\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/meilisearch/meilisearch-js/compare/v0.44.0...v0.58.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for meilisearch since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier-plugin-tailwindcss` from 0.7.4 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases\"\u003eprettier-plugin-tailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md\"\u003eprettier-plugin-tailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.0] - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.2] - 2025-12-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLoad compatible plugins sequentially to work around race conditions in Node.js (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/412\"\u003e#412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix compatibility with \u003ccode\u003eprettier-plugin-svelte\u003c/code\u003e when using Prettier v3.7+ (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.1] - 2025-10-17\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch against correct name of dynamic attributes when using regexes (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFormat quotes in \u003ccode\u003e@source\u003c/code\u003e, \u003ccode\u003e@plugin\u003c/code\u003e, and \u003ccode\u003e@config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in function calls in Twig (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in callable template literals (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in function calls mixed with property accesses (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport regular expression patterns for attributes (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport regular expression patterns for function names (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f77532e1c604f1ab06bc1b9902f6d9b115150998\"\u003e\u003ccode\u003ef77532e\u003c/code\u003e\u003c/a\u003e 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/4815377fb1bb89cfe94bcbf566d1d6283f8e41e3\"\u003e\u003ccode\u003e4815377\u003c/code\u003e\u003c/a\u003e Update the changelog for recent PRs (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/0a7ddcb677a9ae10837f9941ae9fef2d9b33386d\"\u003e\u003ccode\u003e0a7ddcb\u003c/code\u003e\u003c/a\u003e Fix insiders tags sometimes published to latest channel (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/8066e85c13026f118bef653217d34f5aed0bec20\"\u003e\u003ccode\u003e8066e85\u003c/code\u003e\u003c/a\u003e release on \u003ccode\u003epublished\u003c/code\u003e event\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3b0ed57817c1b44ecf14484b55e3720fe15dc261\"\u003e\u003ccode\u003e3b0ed57\u003c/code\u003e\u003c/a\u003e move \u003ccode\u003e--silent\u003c/code\u003e flag before the script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f7d2598fe00779cd362819437f4f0a1f866208fc\"\u003e\u003ccode\u003ef7d2598\u003c/code\u003e\u003c/a\u003e 0.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/9a511914abfa10fa6f66405cee3e46892b9b6a2b\"\u003e\u003ccode\u003e9a51191\u003c/code\u003e\u003c/a\u003e merge \u003ccode\u003erelease.yml\u003c/code\u003e and \u003ccode\u003erelease-insiders.yml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3997fbd5ddf63b8b5bf600bff00b128acc8bfb7e\"\u003e\u003ccode\u003e3997fbd\u003c/code\u003e\u003c/a\u003e Use explicit import() expressions in plugin load arrays for bundler compatibi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/125a8bc77639529a5a0c7e4e8a02174d7ed2d70b\"\u003e\u003ccode\u003e125a8bc\u003c/code\u003e\u003c/a\u003e Fix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/2ac6e70fe9ef595cd910fc94ab98431ad652c6e4\"\u003e\u003ccode\u003e2ac6e70\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eminify: \u0026quot;dce-only\u003c/code\u003e in tsdown (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.7.4...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.12 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `svelte` from 5.55.9 to 5.56.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sveltejs/svelte/releases\"\u003esvelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esvelte@5.56.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow declarations in the template (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eperf: use \u003ccode\u003ecreateElement\u003c/code\u003e instead of \u003ccode\u003ecreateElementNS\u003c/code\u003e for HTML elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18262\"\u003e#18262\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: store \u003ccode\u003ecurrent_sources\u003c/code\u003e as a \u003ccode\u003eSet\u003c/code\u003e for O(1) membership checks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18278\"\u003e#18278\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18320\"\u003e#18320\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: hoist \u003ccode\u003erest_props\u003c/code\u003e exclude list as a module-scope \u003ccode\u003eSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18252\"\u003e#18252\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esvelte@5.55.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix: unlink errored and otherwise finished batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18264\"\u003e#18264\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: walk composedPath() directly in delegated event propagation (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18268\"\u003e#18268\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: transfer effects when merging batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18254\"\u003e#18254\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: allow \u003ccode\u003e$derived(await ...)\u003c/code\u003e in disconnected effect roots (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18273\"\u003e#18273\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: remove temporary raw-text hydration markers (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18269\"\u003e#18269\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: propagate async \u003ccode\u003e@const\u003c/code\u003e blockers through closure references so template expressions like \u003ccode\u003e{(() =\u0026gt; host)()}\u003c/code\u003e correctly wait for the awaited value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18309\"\u003e#18309\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: properly unlink batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18298\"\u003e#18298\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: settle discarded batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18290\"\u003e#18290\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: declare \u003ccode\u003elet:\u003c/code\u003e directives before \u003ccode\u003e{@const}\u003c/code\u003e declarations on slotted elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18271\"\u003e#18271\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: resume outro-ed branches if they were kept around (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18291\"\u003e#18291\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: avoid waterfall-warning when async resolves to same value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18297\"\u003e#18297\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: correctly coordinate component-level effects inside async blocks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18260\"\u003e#18260\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: make unnecessary commit work less likely (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18263\"\u003e#18263\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: add tag name to \u003ccode\u003ea11y_click_events_have_key_events\u003c/code\u003e warning (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: catch rejected promises while merging/committing (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18266\"\u003e#18266\u003c/a\u003e)\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/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md\"\u003esvelte's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.56.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow declarations in the template (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eperf: use \u003ccode\u003ecreateElement\u003c/code\u003e instead of \u003ccode\u003ecreateElementNS\u003c/code\u003e for HTML elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18262\"\u003e#18262\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: store \u003ccode\u003ecurrent_sources\u003c/code\u003e as a \u003ccode\u003eSet\u003c/code\u003e for O(1) membership checks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18278\"\u003e#18278\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18320\"\u003e#18320\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: hoist \u003ccode\u003erest_props\u003c/code\u003e exclude list as a module-scope \u003ccode\u003eSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18252\"\u003e#18252\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.55.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix: unlink errored and otherwise finished batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18264\"\u003e#18264\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: walk composedPath() directly in delegated event propagation (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18268\"\u003e#18268\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: transfer effects when merging batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18254\"\u003e#18254\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: allow \u003ccode\u003e$derived(await ...)\u003c/code\u003e in disconnected effect roots (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18273\"\u003e#18273\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: remove temporary raw-text hydration markers (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18269\"\u003e#18269\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: propagate async \u003ccode\u003e@const\u003c/code\u003e blockers through closure references so template expressions like \u003ccode\u003e{(() =\u0026gt; host)()}\u003c/code\u003e correctly wait for the awaited value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18309\"\u003e#18309\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: properly unlink batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18298\"\u003e#18298\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: settle discarded batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18290\"\u003e#18290\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: declare \u003ccode\u003elet:\u003c/code\u003e directives before \u003ccode\u003e{@const}\u003c/code\u003e declarations on slotted elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18271\"\u003e#18271\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: resume outro-ed branches if they were kept around (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18291\"\u003e#18291\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: avoid waterfall-warning when async resolves to same value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18297\"\u003e#18297\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: correctly coordinate component-level effects inside async blocks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18260\"\u003e#18260\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: make unnecessary commit work less likely (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18263\"\u003e#18263\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: add tag name to \u003ccode\u003ea11y_click_events_have_key_events\u003c/code\u003e warning (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: catch rejected promises while merging/committing (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18266\"\u003e#18266\u003c/a\u003e)\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/sveltejs/svelte/commit/70afafe18e48a9973c5f711d62d87d088234655e\"\u003e\u003ccode\u003e70afafe\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18315\"\u003e#18315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/6d26dce265de128d65a99e1735e576651d9c1a75\"\u003e\u003ccode\u003e6d26dce\u003c/code\u003e\u003c/a\u003e allow class/function expressions in tags (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18324\"\u003e#18324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/2fae91af6de9e526346ee096cef798bd54d2f7fd\"\u003e\u003ccode\u003e2fae91a\u003c/code\u003e\u003c/a\u003e perf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18320\"\u003e#18320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a40c745fd95e855a7c667b24ee6bb149783d1813\"\u003e\u003ccode\u003ea40c745\u003c/code\u003e\u003c/a\u003e perf: hoist rest_props exclude list as a module-scope Set (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18252\"\u003e#18252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/980c7e2321b5e9041e868c7d32de7029631a3650\"\u003e\u003ccode\u003e980c7e2\u003c/code\u003e\u003c/a\u003e fix: don't error on \u003ccode\u003e{type}\u003c/code\u003e in declaration tags (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18321\"\u003e#18321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/5300843e8683948e15eebe8b3342cdef6614a41d\"\u003e\u003ccode\u003e5300843\u003c/code\u003e\u003c/a\u003e chore: bump playwright (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18319\"\u003e#18319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/59d3a36f825d9f2ca29dbdbec0ad27e4f5bf1105\"\u003e\u003ccode\u003e59d3a36\u003c/code\u003e\u003c/a\u003e feat: allow declarations in the template (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a9e82dd388815bdd3c86bec88afd997ec0dfe342\"\u003e\u003ccode\u003ea9e82dd\u003c/code\u003e\u003c/a\u003e chore: remove \u003ccode\u003eon_fork_commit\u003c/code\u003e (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18318\"\u003e#18318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a9916053d9bbad77143d34dd7fdd5ed8b2394413\"\u003e\u003ccode\u003ea991605\u003c/code\u003e\u003c/a\u003e perf: use createElement instead of createElementNS for HTML elements (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18262\"\u003e#18262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/27e74c4df7b49f6b7663e00acd065a68ddaa337f\"\u003e\u003ccode\u003e27e74c4\u003c/code\u003e\u003c/a\u003e docs: add auto-generated browser support page (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18276\"\u003e#18276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sveltejs/svelte/commits/svelte@5.56.0/packages/svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/form-core` from 1.32.0 to 1.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/releases\"\u003e@​tanstack/form-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.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/TanStack/form/pull/2190\"\u003e#2190\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e - Fix array async default values not updating\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2152\"\u003e#2152\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e - Improve performance for mounting/unmounting \u0026lt;form.Field\u0026gt;\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/blob/main/packages/form-core/CHANGELOG.md\"\u003e@​tanstack/form-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.32.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/TanStack/form/pull/2190\"\u003e#2190\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e - Fix array async default values not updating\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2152\"\u003e#2152\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e - Improve performance for mounting/unmounting \u0026lt;form.Field\u0026gt;\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/1d2c585e159622b7b8be2b09dd7f823c8928b17e\"\u003e\u003ccode\u003e1d2c585\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e Form Groups (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/5d8b2cd0128207da34114098c92a69685e1cea0a\"\u003e\u003ccode\u003e5d8b2cd\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/120473e270dde2a61e646852d657e1acc5585ffd\"\u003e\u003ccode\u003e120473e\u003c/code\u003e\u003c/a\u003e Fix trusted provenance (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e fix(form-core): bump _arrayVersion when async defaultValues update array fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"...\n\n_Description has been truncated_","html_url":"https://github.com/bwyard/artist-platform/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwyard%2Fartist-platform/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"}],"issue_packages":[{"old_version":"1.6.11","new_version":"1.6.14","update_type":"patch","path":null,"pr_created_at":"2026-06-07T22:37:44.000Z","version_change":"1.6.11 → 1.6.14","issue":{"uuid":"4608945092","node_id":"PR_kwDORgtSgM7js3Cw","number":80,"state":"open","title":"chore(deps): bump the production-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-07T22:37:44.000Z","updated_at":"2026-06-07T22:37:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":12,"packages":[{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-email","old_version":"6.1.4","new_version":"6.5.0","repository_url":"https://github.com/resend/react-email"},{"name":"resend","old_version":"6.12.3","new_version":"6.12.4","repository_url":"https://github.com/resend/resend-node"},{"name":"@hono/node-server","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/honojs/node-server"},{"name":"@scalar/hono-api-reference","old_version":"0.10.16","new_version":"0.10.20","repository_url":"https://github.com/scalar/scalar"},{"name":"hono","old_version":"4.12.19","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"@better-auth/infra","old_version":"0.2.8","new_version":"0.2.13","repository_url":"https://github.com/better-auth/better-auth-infra"},{"name":"@better-auth/redis-storage","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `6.1.4` | `6.5.0` |\n| [resend](https://github.com/resend/resend-node) | `6.12.3` | `6.12.4` |\n| [@hono/node-server](https://github.com/honojs/node-server) | `2.0.3` | `2.0.4` |\n| [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) | `0.10.16` | `0.10.20` |\n| [hono](https://github.com/honojs/hono) | `4.12.19` | `4.12.23` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [@better-auth/infra](https://github.com/better-auth/better-auth-infra/tree/HEAD/packages/infra) | `0.2.8` | `0.2.13` |\n| [@better-auth/redis-storage](https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage) | `1.6.11` | `1.6.14` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\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 `react-dom` 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-dom'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-dom/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-dom\"\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-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-email` from 6.1.4 to 6.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/releases\"\u003ereact-email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-email@6.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e3875d2a: add a \u003ccode\u003e--clients\u003c/code\u003e option to \u003ccode\u003eemail dev\u003c/code\u003e and a \u003ccode\u003eCOMPATIBILITY_EMAIL_CLIENTS\u003c/code\u003e environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for \u003ccode\u003egmail\u003c/code\u003e, \u003ccode\u003eapple-mail\u003c/code\u003e, \u003ccode\u003eoutlook\u003c/code\u003e, and \u003ccode\u003eyahoo\u003c/code\u003e. Teams that only target one or two clients can now skip the noise: \u003ccode\u003eemail dev --clients outlook,apple-mail\u003c/code\u003e. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on \u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/2797\"\u003e#2797\u003c/a\u003e by \u003ca href=\"https://github.com/ReemX\"\u003e\u003ccode\u003e@​ReemX\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed47825a: Add accessibility defaults to components: \u003ccode\u003edir\u003c/code\u003e/\u003ccode\u003elang\u003c/code\u003e on \u003ccode\u003eBody\u003c/code\u003e, an empty \u003ccode\u003ealt\u003c/code\u003e fallback on \u003ccode\u003eImg\u003c/code\u003e, \u003ccode\u003erole=\u0026quot;presentation\u0026quot;\u003c/code\u003e on the \u003ccode\u003eMarkdown\u003c/code\u003e table, and a \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e from \u003ccode\u003ePreview\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eba99365: resolve and strip unresolved \u003ccode\u003e--tw-*\u003c/code\u003e CSS variables in non-inlinable rules so Tailwind media query utilities no longer break Gmail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.3\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ereact-email@6.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbda5c8: increase whitespace padding to 200 characters for better Gmail preview text rendering\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec610dc0: fix: padding in Container/Section failing on Klaviyo and Outlook desktop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-email@6.3.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ereact-email@6.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e192d82a: Add \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props to \u003ccode\u003e\u0026lt;Tailwind\u0026gt;\u003c/code\u003e for Tailwind v4 CSS-first configuration. Both accept a CSS string and can be combined with the existing \u003ccode\u003econfig\u003c/code\u003e prop.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003eimport themeCss from \u0026quot;./theme.css?inline\u0026quot;;\n\u003cp\u003e\u0026lt;Tailwind theme={themeCss}\u0026gt;\u003cbr /\u003e\n\u0026lt;div className=\u0026quot;bg-brand font-display\u0026quot;\u0026gt;Custom themed content\u0026lt;/div\u0026gt;\u003cbr /\u003e\n\u0026lt;/Tailwind\u0026gt;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eEmpty strings are no-ops. The base Tailwind theme and utilities are still loaded — \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e layer on top.\u003c/p\u003e\n\u003cp\u003eThe preview server, \u003ccode\u003eemail export\u003c/code\u003e, and the caniemail compatibility check all understand the Vite-style \u003ccode\u003e?inline\u003c/code\u003e and \u003ccode\u003e?raw\u003c/code\u003e suffixes on CSS imports, so the pattern above works the same in your project and inside the preview UI. The compatibility check also extracts the \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props (in addition to \u003ccode\u003econfig\u003c/code\u003e) when analyzing your template, so any caniemail incompatibilities in CSS produced by those props will surface as warnings.\u003c/p\u003e\n\u003cp\u003eInternal note: the exported \u003ccode\u003esetupTailwind\u003c/code\u003e helper now takes \u003ccode\u003e{ config, cssConfigs }\u003c/code\u003e instead of a positional \u003ccode\u003eTailwindConfig\u003c/code\u003e. Calling it with the old shape throws with a migration hint.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md\"\u003ereact-email's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e3875d2a: add a \u003ccode\u003e--clients\u003c/code\u003e option to \u003ccode\u003eemail dev\u003c/code\u003e and a \u003ccode\u003eCOMPATIBILITY_EMAIL_CLIENTS\u003c/code\u003e environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for \u003ccode\u003egmail\u003c/code\u003e, \u003ccode\u003eapple-mail\u003c/code\u003e, \u003ccode\u003eoutlook\u003c/code\u003e, and \u003ccode\u003eyahoo\u003c/code\u003e. Teams that only target one or two clients can now skip the noise: \u003ccode\u003eemail dev --clients outlook,apple-mail\u003c/code\u003e. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on \u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/2797\"\u003e#2797\u003c/a\u003e by \u003ca href=\"https://github.com/ReemX\"\u003e\u003ccode\u003e@​ReemX\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed47825a: Add accessibility defaults to components: \u003ccode\u003edir\u003c/code\u003e/\u003ccode\u003elang\u003c/code\u003e on \u003ccode\u003eBody\u003c/code\u003e, an empty \u003ccode\u003ealt\u003c/code\u003e fallback on \u003ccode\u003eImg\u003c/code\u003e, \u003ccode\u003erole=\u0026quot;presentation\u0026quot;\u003c/code\u003e on the \u003ccode\u003eMarkdown\u003c/code\u003e table, and a \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e from \u003ccode\u003ePreview\u003c/code\u003e.\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\u003eba99365: resolve and strip unresolved \u003ccode\u003e--tw-*\u003c/code\u003e CSS variables in non-inlinable rules so Tailwind media query utilities no longer break Gmail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.3\u003c/h2\u003e\n\u003ch2\u003e6.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbda5c8: increase whitespace padding to 200 characters for better Gmail preview text rendering\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec610dc0: fix: padding in Container/Section failing on Klaviyo and Outlook desktop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.3.0\u003c/h2\u003e\n\u003ch2\u003e6.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e192d82a: Add \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props to \u003ccode\u003e\u0026lt;Tailwind\u0026gt;\u003c/code\u003e for Tailwind v4 CSS-first configuration. Both accept a CSS string and can be combined with the existing \u003ccode\u003econfig\u003c/code\u003e prop.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003eimport themeCss from \u0026quot;./theme.css?inline\u0026quot;;\n\u003cp\u003e\u0026lt;Tailwind theme={themeCss}\u0026gt;\u003cbr /\u003e\n\u0026lt;div className=\u0026quot;bg-brand font-display\u0026quot;\u0026gt;Custom themed content\u0026lt;/div\u0026gt;\u003cbr /\u003e\n\u0026lt;/Tailwind\u0026gt;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eEmpty strings are no-ops. The base Tailwind theme and utilities are still loaded — \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e layer on top.\u003c/p\u003e\n\u003cp\u003eThe preview server, \u003ccode\u003eemail export\u003c/code\u003e, and the caniemail compatibility check all understand the Vite-style \u003ccode\u003e?inline\u003c/code\u003e and \u003ccode\u003e?raw\u003c/code\u003e suffixes on CSS imports, so the pattern above works the same in your project and inside the preview UI. The compatibility check also extracts the \u003ccode\u003etheme\u003c/code\u003e and \u003ccode\u003eutility\u003c/code\u003e props (in addition to \u003ccode\u003econfig\u003c/code\u003e) when analyzing your template, so any caniemail incompatibilities in CSS produced by those props will surface as warnings.\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/resend/react-email/commit/62630604e92aaca0c4d2fa0477cba1c0996856c4\"\u003e\u003ccode\u003e6263060\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3548\"\u003e#3548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/3875d2a228450223c8130ed366aacb3bae7d9780\"\u003e\u003ccode\u003e3875d2a\u003c/code\u003e\u003c/a\u003e feat(react-email): filter compatibility warnings by email client (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3547\"\u003e#3547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/d47825a4d7ce10514d3143ff69cba43799966aa3\"\u003e\u003ccode\u003ed47825a\u003c/code\u003e\u003c/a\u003e feat: better accessibility defaults (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3546\"\u003e#3546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/c295594053ff02eb7387c844a9097b264f501b18\"\u003e\u003ccode\u003ec295594\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3543\"\u003e#3543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/ba993652e42a300b899f7bb07e8fa846d853bef1\"\u003e\u003ccode\u003eba99365\u003c/code\u003e\u003c/a\u003e fix(tailwind): tw-* variables in non inlined rules (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3542\"\u003e#3542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/32cb16c5ff69f5ab060aa896d1aaee060fc9e1cd\"\u003e\u003ccode\u003e32cb16c\u003c/code\u003e\u003c/a\u003e fix(editor): repair columns.spec.tsx type errors + run typecheck on CI (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3539\"\u003e#3539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/a79acd1f19f4da032ad7c287d78b9ec3dcbb2da0\"\u003e\u003ccode\u003ea79acd1\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3535\"\u003e#3535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/7745296a31a7d463a170c7f3f8dc3f70a69a24ae\"\u003e\u003ccode\u003e7745296\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3533\"\u003e#3533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/fbda5c8a2b0671e5725d29f37025c737fec7d5ef\"\u003e\u003ccode\u003efbda5c8\u003c/code\u003e\u003c/a\u003e fix(preview): increase whitespace padding to 200 chars for Gmail (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/f52257156d9ca7b003527108ee742e65d39dd3fd\"\u003e\u003ccode\u003ef522571\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/react-email/issues/3530\"\u003e#3530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resend/react-email/commits/react-email@6.5.0/packages/react-email\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `resend` from 6.12.3 to 6.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/resend-node/releases\"\u003eresend's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.12.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): update dependency next to v16.2.6 [security] by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/957\"\u003eresend/resend-node#957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dev-660): harden github actions workflows by \u003ca href=\"https://github.com/felipefreitag\"\u003e\u003ccode\u003e@​felipefreitag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/959\"\u003eresend/resend-node#959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add sync-prs-to-linear action by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/961\"\u003eresend/resend-node#961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: rename misnamed \u003ccode\u003eget-contact.interface.ts\u003c/code\u003e to \u003ccode\u003eget-topic.interface.ts\u003c/code\u003e in topics module by \u003ca href=\"https://github.com/wesleyramalho\"\u003e\u003ccode\u003e@​wesleyramalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/903\"\u003eresend/resend-node#903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating payloads in emails, broadcasts, and templates by \u003ca href=\"https://github.com/Shubhdeep12\"\u003e\u003ccode\u003e@​Shubhdeep12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/862\"\u003eresend/resend-node#862\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add optional baseUrl and userAgent to Resend constructor by \u003ca href=\"https://github.com/xiaoyu2er\"\u003e\u003ccode\u003e@​xiaoyu2er\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/839\"\u003eresend/resend-node#839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump public-shared-workflows hash by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/965\"\u003eresend/resend-node#965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump public-shared-workflows hash by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/966\"\u003eresend/resend-node#966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: align \u003ccode\u003edelete\u003c/code\u003e method with other HTTP methods in Resend class by \u003ca href=\"https://github.com/wesleyramalho\"\u003e\u003ccode\u003e@​wesleyramalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/904\"\u003eresend/resend-node#904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: to support \u003ccode\u003e@​react-email/render\u003c/code\u003e exports across versions in templates by \u003ca href=\"https://github.com/Shubhdeep12\"\u003e\u003ccode\u003e@​Shubhdeep12\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/863\"\u003eresend/resend-node#863\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: replace svix with standardwebhooks to reduce install size (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/969\"\u003e#969\u003c/a\u003e) by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/970\"\u003eresend/resend-node#970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 6.12.4 by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-node/pull/971\"\u003eresend/resend-node#971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\"\u003ehttps://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\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/resend/resend-node/commit/58db880a67575d9231bcbc5cae9c438793698f05\"\u003e\u003ccode\u003e58db880\u003c/code\u003e\u003c/a\u003e chore: bump version to 6.12.4 (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/63f5ddb8fc0d35fa590e27f7ca4d69d3051969db\"\u003e\u003ccode\u003e63f5ddb\u003c/code\u003e\u003c/a\u003e fix: replace svix with standardwebhooks to reduce install size (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/969\"\u003e#969\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/45dc73dae27646930d460d52de7528640ba9fb8e\"\u003e\u003ccode\u003e45dc73d\u003c/code\u003e\u003c/a\u003e fix: to support \u003ccode\u003e@​react-email/render\u003c/code\u003e exports across versions in templates (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/863\"\u003e#863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/24950d7aa54bf19d929fe26e63557611411938cb\"\u003e\u003ccode\u003e24950d7\u003c/code\u003e\u003c/a\u003e refactor: align \u003ccode\u003edelete\u003c/code\u003e method with other HTTP methods in Resend class (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/904\"\u003e#904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/2759316719f54e602dbf3d0b1fa58703f52b79c0\"\u003e\u003ccode\u003e2759316\u003c/code\u003e\u003c/a\u003e chore: bump public-shared-workflows hash (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/966\"\u003e#966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/fa04efcf72a2c1d89a6530ee14ce08986a4c1a08\"\u003e\u003ccode\u003efa04efc\u003c/code\u003e\u003c/a\u003e chore: bump public-shared-workflows hash (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/77bbf2d63285a1e527fe3fc85493235a6131d084\"\u003e\u003ccode\u003e77bbf2d\u003c/code\u003e\u003c/a\u003e feat: add optional baseUrl and userAgent to Resend constructor (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/ebdb2d3f1ad3880ed81e4bb437796577e3e2ab6b\"\u003e\u003ccode\u003eebdb2d3\u003c/code\u003e\u003c/a\u003e fix: avoid mutating payloads in emails, broadcasts, and templates (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/674ab1bf6c09ddc1942d317a9e2939692fd32340\"\u003e\u003ccode\u003e674ab1b\u003c/code\u003e\u003c/a\u003e fix: rename misnamed \u003ccode\u003eget-contact.interface.ts\u003c/code\u003e to \u003ccode\u003eget-topic.interface.ts\u003c/code\u003e i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-node/commit/ac0c09ffc9dde924b5b147b8767c1b5e636778f6\"\u003e\u003ccode\u003eac0c09f\u003c/code\u003e\u003c/a\u003e chore: add sync-prs-to-linear action (\u003ca href=\"https://redirect.github.com/resend/resend-node/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resend/resend-node/compare/v6.12.3...v6.12.4\"\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/~dielduarte\"\u003edielduarte\u003c/a\u003e, a new releaser for resend since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@hono/node-server` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/node-server/releases\"\u003e@​hono/node-server's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: stub ws types to prevent them leaking in public types by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/node-server/pull/359\"\u003ehonojs/node-server#359\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\"\u003ehttps://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\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/honojs/node-server/commit/9e1cdee836baeb13f33e857a582b29546185c324\"\u003e\u003ccode\u003e9e1cdee\u003c/code\u003e\u003c/a\u003e 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/node-server/commit/b4ca62216c9b537f1e56e0282bc8b5ee5b953b26\"\u003e\u003ccode\u003eb4ca622\u003c/code\u003e\u003c/a\u003e fix: stub ws types to prevent them leaking in public types (\u003ca href=\"https://redirect.github.com/honojs/node-server/issues/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/honojs/node-server/compare/v2.0.3...v2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@scalar/hono-api-reference` from 0.10.16 to 0.10.20\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md\"\u003e@​scalar/hono-api-reference's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.10.20\u003c/h2\u003e\n\u003ch2\u003e0.10.19\u003c/h2\u003e\n\u003ch2\u003e0.10.18\u003c/h2\u003e\n\u003ch2\u003e0.10.17\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scalar/scalar/commits/HEAD/integrations/hono\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hono` from 4.12.19 to 4.12.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/hono/releases\"\u003ehono's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(serve-static): normalize all backslashes in file paths, not just the first in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4962\"\u003ehonojs/hono#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): export the Context class publicly by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4543\"\u003ehonojs/hono#4543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contribution): add AI Usage Policy by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4970\"\u003ehonojs/hono#4970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(compress): add contentTypeFilter option and \u003ccode\u003eCOMPRESSIBLE_CONTENT_TYPE_REGEX\u003c/code\u003e re-export by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4961\"\u003ehonojs/hono#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4971\"\u003ehonojs/hono#4971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.22...v4.12.23\"\u003ehttps://github.com/honojs/hono/compare/v4.12.22...v4.12.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update vitest to v4 and cleanups by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4952\"\u003ehonojs/hono#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mime): specify charset parameter per MIME type instead of mechanical detection by \u003ca href=\"https://github.com/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compress): respect Accept-Encoding when encoding option is set by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deno): echo negotiated WebSocket subprotocol in upgrade response by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add msgpack as a compressible content type by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\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/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.21...v4.12.22\"\u003ehttps://github.com/honojs/hono/compare/v4.12.21...v4.12.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.21\u003c/h2\u003e\n\u003ch2\u003eSecurity fixes\u003c/h2\u003e\n\u003cp\u003eThis release includes fixes for the following security issues:\u003c/p\u003e\n\u003ch3\u003eapp.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003eapp.mount()\u003c/code\u003e. Fixes prefix stripping using the raw URL pathname instead of the decoded path, where percent-encoded characters in the mount prefix or path could cause the prefix to be removed at the wrong position, resulting in the sub-application receiving an incorrect path. GHSA-2gcr-mfcq-wcc3\u003c/p\u003e\n\u003ch3\u003eIP Restriction bypasses static deny rules for non-canonical IPv6\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/ip-restriction\u003c/code\u003e. Fixes IP address comparison using string equality, where non-canonical IPv6 representations of a denied address — such as compressed forms or hex-notation IPv4-mapped addresses — could bypass static deny rules. GHSA-xrhx-7g5j-rcj5\u003c/p\u003e\n\u003ch3\u003eCookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/cookie\u003c/code\u003e. Fixes missing validation of \u003ccode\u003esameSite\u003c/code\u003e and \u003ccode\u003epriority\u003c/code\u003e options against injection characters (\u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e), where user-controlled input passed to either option could inject additional attributes into the Set-Cookie response header. GHSA-3hrh-pfw6-9m5x\u003c/p\u003e\n\u003ch3\u003eJWT middleware accepts any Authorization scheme, not only Bearer\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/jwt\u003c/code\u003e, \u003ccode\u003ehono/jwk\u003c/code\u003e. Fixes missing scheme validation in the Authorization header, where any two-part header value was accepted regardless of the scheme name, allowing non-Bearer schemes to pass JWT authentication. GHSA-f577-qrjj-4474\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eUsers who use \u003ccode\u003eapp.mount()\u003c/code\u003e, \u003ccode\u003ehono/ip-restriction\u003c/code\u003e, \u003ccode\u003ehono/cookie\u003c/code\u003e, or \u003ccode\u003ehono/jwt\u003c/code\u003e/\u003ccode\u003ehono/jwk\u003c/code\u003e are encouraged to upgrade to this version.\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/honojs/hono/commit/83bfb3bb4a12c1d92c163a39e907df5d662ff78d\"\u003e\u003ccode\u003e83bfb3b\u003c/code\u003e\u003c/a\u003e 4.12.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/bcd290a64c0b392fd06d2bd1f256c5dc9835e4a4\"\u003e\u003ccode\u003ebcd290a\u003c/code\u003e\u003c/a\u003e fix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4971\"\u003e#4971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c968177d9c11ddc7c7cca57c384497f11a6d60ae\"\u003e\u003ccode\u003ec968177\u003c/code\u003e\u003c/a\u003e feat(compress): add contentTypeFilter option and `COMPRESSIBLE_CONTENT_TYPE_R...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/0265a5453a7c272417eaa22b93d3fb319d2188ed\"\u003e\u003ccode\u003e0265a54\u003c/code\u003e\u003c/a\u003e docs(contribution): add AI Usage Policy (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c84c5d2d46ca6a78c316529491d42ab7bb956368\"\u003e\u003ccode\u003ec84c5d2\u003c/code\u003e\u003c/a\u003e feat(context): export the Context class publicly (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4543\"\u003e#4543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/82dad6297c90c33c41bf48b4530509a21588ad06\"\u003e\u003ccode\u003e82dad62\u003c/code\u003e\u003c/a\u003e fix(serve-static): normalize all backslashes in file paths, not just the firs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/2f01b774b168911d24e4864fb66054f5de9d9a4e\"\u003e\u003ccode\u003e2f01b77\u003c/code\u003e\u003c/a\u003e 4.12.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/6bc0dff277684ee50ace6dc87a7ad73a9c131c99\"\u003e\u003ccode\u003e6bc0dff\u003c/code\u003e\u003c/a\u003e feat: add msgpack as a compressible content type (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/7e0555d14c72d4204347ac9afaae32ba5c013ab9\"\u003e\u003ccode\u003e7e0555d\u003c/code\u003e\u003c/a\u003e fix(deno): echo negotiated WebSocket subprotocol in upgrade response (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4955\"\u003e#4955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/f0ed2465913f2a89ebdf65cc54d6254915fc3ff6\"\u003e\u003ccode\u003ef0ed246\u003c/code\u003e\u003c/a\u003e fix(compress): respect Accept-Encoding when encoding option is set (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4951\"\u003e#4951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.19...v4.12.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/infra` from 0.2.8 to 0.2.13\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth-infra/commits/HEAD/packages/infra\"\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@​better-auth/infra\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/redis-storage` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/redis-storage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/redis-storage/CHANGELOG.md\"\u003e@​better-auth/redis-storage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/a3b0c63de908b9f85d6c1d6c06f89bab16a72ba3\"\u003e\u003ccode\u003ea3b0c63\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/04303a92acd6fd3cf9d5f5ab5901255e67526ad3\"\u003e\u003ccode\u003e04303a9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7bf5449b11866bd82deafee910619660c153d799\"\u003e\u003ccode\u003e7bf5449\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.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/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/redis-storage/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/redis-storage@1.6.14/packages/redis-storage\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=...\n\n_Description has been truncated_","html_url":"https://github.com/xconics-dev/proptryx-server/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xconics-dev%2Fproptryx-server/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"}},{"old_version":"1.6.12","new_version":"1.6.14","update_type":"patch","path":null,"pr_created_at":"2026-06-07T10:24:18.000Z","version_change":"1.6.12 → 1.6.14","issue":{"uuid":"4606966001","node_id":"PR_kwDOSSxBlM7jmwAI","number":26,"state":"open","title":"build(deps): Bump the npm-production group with 5 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-07T10:24:18.000Z","updated_at":"2026-06-07T10:26:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"npm-production","update_count":5,"packages":[{"name":"@tanstack/react-query","old_version":"5.100.14","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"better-auth","old_version":"1.6.12","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"react","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-production group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.14` | `5.101.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.12` | `1.6.14` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n\nUpdates `@tanstack/react-query` from 5.100.14 to 5.101.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3042860e3c8731c94ca4dec0e277e415d0484fce\"\u003e\u003ccode\u003e3042860\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/query/commit/e631dc3fa17bff71f413246b7a770a730016d346\"\u003e\u003ccode\u003ee631dc3\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10857\"\u003e#10857\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/7cf5923308fb91f3eff0fe952d8c64676e2bdad7\"\u003e\u003ccode\u003e7cf5923\u003c/code\u003e\u003c/a\u003e - fix(react-query-next-experimental): replace deprecated 'isServer' with 'environmentManager.isServer()'\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.101.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.101.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f3d8d2abbf15bf81ff7575d3be9845d7b402f25a\"\u003e\u003ccode\u003ef3d8d2a\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10774\"\u003e#10774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/532bb298fba15e945e69c6ee4edc0c759ff21324\"\u003e\u003ccode\u003e532bb29\u003c/code\u003e\u003c/a\u003e fix(tests): disable local coverage instrumentation (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10776\"\u003e#10776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.101.0/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.12 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.2.6 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\"\u003enext'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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/issues/94050\"\u003e#94050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] Propagate adapter preferred regions (\u003ca href=\"https://redirect.github.com/vercel/next.js/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://redirect.github.com/vercel/next.js/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (\u003ca href=\"https://redirect.github.com/vercel/next.js/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\u003c/blockquote\u003e\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/c63224f3d8e8dd0a4ef8635916f92954421e5f1e\"\u003e\u003ccode\u003ec63224f\u003c/code\u003e\u003c/a\u003e [backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolut...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/63115c79877c90df4371c2425f3fc5d3a55ac58d\"\u003e\u003ccode\u003e63115c7\u003c/code\u003e\u003c/a\u003e [16.2.x] Don't drop \u003ccode\u003eFormData\u003c/code\u003e entries (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94240\"\u003e#94240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/aef22fdc828226227f618bb982a222e1256ba6f2\"\u003e\u003ccode\u003eaef22fd\u003c/code\u003e\u003c/a\u003e [backport] Propagate adapter preferred regions (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94200\"\u003e#94200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/f126e72271a808a12adb1f97feca6a900bece7ba\"\u003e\u003ccode\u003ef126e72\u003c/code\u003e\u003c/a\u003e [backport] Fix \u0026quot;type: module\u0026quot; in project dir when using standalone or adapter...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/bda3e2aabe5ba18b6e8ec656bcdaf549816469c3\"\u003e\u003ccode\u003ebda3e2a\u003c/code\u003e\u003c/a\u003e [ci] Disable hanging node 24 typescript tests on 16.2 backport branch (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/94164\"\u003e#94164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7e16e07c0203f8a940899e656526f287278c57e6\"\u003e\u003ccode\u003e7e16e07\u003c/code\u003e\u003c/a\u003e [backport] Turbopack: switch from base40 to base38 hash encoding (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93932\"\u003e#93932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/6139f4b885b329abdd5821199cc19cc89f3eaf33\"\u003e\u003ccode\u003e6139f4b\u003c/code\u003e\u003c/a\u003e [backport] Fix server action forwarding loop with middleware rewrites (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93919\"\u003e#93919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c021d10fe9540aaa7aff7b7227c7d73e60a0e5b9\"\u003e\u003ccode\u003ec021d10\u003c/code\u003e\u003c/a\u003e [backport] Encode non-ASCII characters in cache tags at construction (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93918\"\u003e#93918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9184ddb1aeed5c5db0f02c7a2d6d298071c2f44f\"\u003e\u003ccode\u003e9184ddb\u003c/code\u003e\u003c/a\u003e [backport] Fix catch-all \u003ccode\u003erouter.query\u003c/code\u003e corruption with \u003ccode\u003ebasePath\u003c/code\u003e + `rewrite...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.2.6...v16.2.7\"\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 `react-dom` 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-dom'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-dom/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-dom\"\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-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/SafetyMP/Autonomous-EHS-Management/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SafetyMP%2FAutonomous-EHS-Management/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"1.6.11","new_version":"1.6.14","update_type":"patch","path":null,"pr_created_at":"2026-06-07T06:03:46.000Z","version_change":"1.6.11 → 1.6.14","issue":{"uuid":"4606359171","node_id":"PR_kwDOR_RjCc7jk5tt","number":26,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 19 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-07T06:03:46.000Z","updated_at":"2026-06-07T06:03:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":19,"packages":[{"name":"turbo","old_version":"2.9.14","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"hono","old_version":"4.12.19","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"@cloudflare/vitest-pool-workers","old_version":"0.16.6","new_version":"0.16.13","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@cloudflare/workers-types","old_version":"4.20260517.1","new_version":"4.20260607.1","repository_url":"https://github.com/cloudflare/workerd"},{"name":"vitest","old_version":"4.1.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"wrangler","old_version":"4.92.0","new_version":"4.98.0","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@tanstack/react-query","old_version":"5.100.10","new_version":"5.101.0","repository_url":"https://github.com/TanStack/query"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"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.14","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.6","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@opennextjs/cloudflare","old_version":"1.19.10","new_version":"1.19.11","repository_url":"https://github.com/opennextjs/opennextjs-cloudflare"},{"name":"@types/node","old_version":"25.8.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-config-next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"@astrojs/cloudflare","old_version":"13.5.1","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.3","new_version":"6.4.4","repository_url":"https://github.com/withastro/astro"},{"name":"@orpc/server","old_version":"1.14.3","new_version":"1.14.5","repository_url":"https://github.com/middleapi/orpc"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.14` | `2.9.16` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n| [hono](https://github.com/honojs/hono) | `4.12.19` | `4.12.23` |\n| [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers) | `0.16.6` | `0.16.13` |\n| [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `4.20260517.1` | `4.20260607.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.6` | `4.1.8` |\n| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.92.0` | `4.98.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.100.10` | `5.101.0` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\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.14` | `19.2.17` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` |\n| [@opennextjs/cloudflare](https://github.com/opennextjs/opennextjs-cloudflare/tree/HEAD/packages/cloudflare) | `1.19.10` | `1.19.11` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.8.0` | `25.9.2` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.6` | `16.2.7` |\n| [@astrojs/cloudflare](https://github.com/withastro/astro/tree/HEAD/packages/integrations/cloudflare) | `13.5.1` | `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.3` | `6.4.4` |\n| [@orpc/server](https://github.com/middleapi/orpc/tree/HEAD/packages/server) | `1.14.3` | `1.14.5` |\n\n\nUpdates `turbo` from 2.9.14 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.14...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hono` from 4.12.19 to 4.12.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/honojs/hono/releases\"\u003ehono's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.23\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(serve-static): normalize all backslashes in file paths, not just the first in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4962\"\u003ehonojs/hono#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(context): export the Context class publicly by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4543\"\u003ehonojs/hono#4543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(contribution): add AI Usage Policy by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4970\"\u003ehonojs/hono#4970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(compress): add contentTypeFilter option and \u003ccode\u003eCOMPRESSIBLE_CONTENT_TYPE_REGEX\u003c/code\u003e re-export by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4961\"\u003ehonojs/hono#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e by \u003ca href=\"https://github.com/yusukebe\"\u003e\u003ccode\u003e@​yusukebe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4971\"\u003ehonojs/hono#4971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.22...v4.12.23\"\u003ehttps://github.com/honojs/hono/compare/v4.12.22...v4.12.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: update vitest to v4 and cleanups by \u003ca href=\"https://github.com/BlankParticle\"\u003e\u003ccode\u003e@​BlankParticle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4952\"\u003ehonojs/hono#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mime): specify charset parameter per MIME type instead of mechanical detection by \u003ca href=\"https://github.com/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(compress): respect Accept-Encoding when encoding option is set by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deno): echo negotiated WebSocket subprotocol in upgrade response by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add msgpack as a compressible content type by \u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\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/renatograsso10\"\u003e\u003ccode\u003e@​renatograsso10\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4912\"\u003ehonojs/hono#4912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4951\"\u003ehonojs/hono#4951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4955\"\u003ehonojs/hono#4955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/na-trium-144\"\u003e\u003ccode\u003e@​na-trium-144\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/honojs/hono/pull/4957\"\u003ehonojs/hono#4957\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.21...v4.12.22\"\u003ehttps://github.com/honojs/hono/compare/v4.12.21...v4.12.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.12.21\u003c/h2\u003e\n\u003ch2\u003eSecurity fixes\u003c/h2\u003e\n\u003cp\u003eThis release includes fixes for the following security issues:\u003c/p\u003e\n\u003ch3\u003eapp.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003eapp.mount()\u003c/code\u003e. Fixes prefix stripping using the raw URL pathname instead of the decoded path, where percent-encoded characters in the mount prefix or path could cause the prefix to be removed at the wrong position, resulting in the sub-application receiving an incorrect path. GHSA-2gcr-mfcq-wcc3\u003c/p\u003e\n\u003ch3\u003eIP Restriction bypasses static deny rules for non-canonical IPv6\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/ip-restriction\u003c/code\u003e. Fixes IP address comparison using string equality, where non-canonical IPv6 representations of a denied address — such as compressed forms or hex-notation IPv4-mapped addresses — could bypass static deny rules. GHSA-xrhx-7g5j-rcj5\u003c/p\u003e\n\u003ch3\u003eCookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/cookie\u003c/code\u003e. Fixes missing validation of \u003ccode\u003esameSite\u003c/code\u003e and \u003ccode\u003epriority\u003c/code\u003e options against injection characters (\u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e), where user-controlled input passed to either option could inject additional attributes into the Set-Cookie response header. GHSA-3hrh-pfw6-9m5x\u003c/p\u003e\n\u003ch3\u003eJWT middleware accepts any Authorization scheme, not only Bearer\u003c/h3\u003e\n\u003cp\u003eAffects: \u003ccode\u003ehono/jwt\u003c/code\u003e, \u003ccode\u003ehono/jwk\u003c/code\u003e. Fixes missing scheme validation in the Authorization header, where any two-part header value was accepted regardless of the scheme name, allowing non-Bearer schemes to pass JWT authentication. GHSA-f577-qrjj-4474\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eUsers who use \u003ccode\u003eapp.mount()\u003c/code\u003e, \u003ccode\u003ehono/ip-restriction\u003c/code\u003e, \u003ccode\u003ehono/cookie\u003c/code\u003e, or \u003ccode\u003ehono/jwt\u003c/code\u003e/\u003ccode\u003ehono/jwk\u003c/code\u003e are encouraged to upgrade to this version.\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/honojs/hono/commit/83bfb3bb4a12c1d92c163a39e907df5d662ff78d\"\u003e\u003ccode\u003e83bfb3b\u003c/code\u003e\u003c/a\u003e 4.12.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/bcd290a64c0b392fd06d2bd1f256c5dc9835e4a4\"\u003e\u003ccode\u003ebcd290a\u003c/code\u003e\u003c/a\u003e fix(utils/ipaddr): do not compress a single 0 group to \u003ccode\u003e::\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4971\"\u003e#4971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c968177d9c11ddc7c7cca57c384497f11a6d60ae\"\u003e\u003ccode\u003ec968177\u003c/code\u003e\u003c/a\u003e feat(compress): add contentTypeFilter option and `COMPRESSIBLE_CONTENT_TYPE_R...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/0265a5453a7c272417eaa22b93d3fb319d2188ed\"\u003e\u003ccode\u003e0265a54\u003c/code\u003e\u003c/a\u003e docs(contribution): add AI Usage Policy (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/c84c5d2d46ca6a78c316529491d42ab7bb956368\"\u003e\u003ccode\u003ec84c5d2\u003c/code\u003e\u003c/a\u003e feat(context): export the Context class publicly (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4543\"\u003e#4543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/82dad6297c90c33c41bf48b4530509a21588ad06\"\u003e\u003ccode\u003e82dad62\u003c/code\u003e\u003c/a\u003e fix(serve-static): normalize all backslashes in file paths, not just the firs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/2f01b774b168911d24e4864fb66054f5de9d9a4e\"\u003e\u003ccode\u003e2f01b77\u003c/code\u003e\u003c/a\u003e 4.12.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/6bc0dff277684ee50ace6dc87a7ad73a9c131c99\"\u003e\u003ccode\u003e6bc0dff\u003c/code\u003e\u003c/a\u003e feat: add msgpack as a compressible content type (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4957\"\u003e#4957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/7e0555d14c72d4204347ac9afaae32ba5c013ab9\"\u003e\u003ccode\u003e7e0555d\u003c/code\u003e\u003c/a\u003e fix(deno): echo negotiated WebSocket subprotocol in upgrade response (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4955\"\u003e#4955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/honojs/hono/commit/f0ed2465913f2a89ebdf65cc54d6254915fc3ff6\"\u003e\u003ccode\u003ef0ed246\u003c/code\u003e\u003c/a\u003e fix(compress): respect Accept-Encoding when encoding option is set (\u003ca href=\"https://redirect.github.com/honojs/hono/issues/4951\"\u003e#4951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/honojs/hono/compare/v4.12.19...v4.12.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cloudflare/vitest-pool-workers` from 0.16.6 to 0.16.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003e@​cloudflare/vitest-pool-workers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a3eea277aae46450aec1f0c811e3fe256022c46e\"\u003e\u003ccode\u003ea3eea27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7a6b1a4f4e9d8d5bd88732c8e11368c3ad7f867b\"\u003e\u003ccode\u003e7a6b1a4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7539a9bfcf03a14b2c16f281d541b6bc45523a80\"\u003e\u003ccode\u003e7539a9b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1fdd8def456011c29c5879fe49be6fa90ad9858d\"\u003e\u003ccode\u003e1fdd8de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0bb2d55116ce90a147582a7b4d96e3090cddf7ee\"\u003e\u003ccode\u003e0bb2d55\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8400fb945a781e7a7a78a3614a702ace2d1fbc87\"\u003e\u003ccode\u003e8400fb9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b502d5445b9e9e030020a3d65c0334507393aa64\"\u003e\u003ccode\u003eb502d54\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7949f81bd258292a4a0b9c5a339c6c035f27d7ca\"\u003e\u003ccode\u003e7949f81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d46201384f656815bf9e90a595098edff43f1b32\"\u003e\u003ccode\u003ed462013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c2280cdb589c9289bb4082d0a068846f3dd22b37\"\u003e\u003ccode\u003ec2280cd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ea12b584ee1c3141286f0ecf6b742bd79971407e\"\u003e\u003ccode\u003eea12b58\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/acf7817266b39be9707a09b918d670a468302ebc\"\u003e\u003ccode\u003eacf7817\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.98.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260603.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14152\"\u003e#14152\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/petebacondarwin\"\u003e\u003ccode\u003e@​petebacondarwin\u003c/code\u003e\u003c/a\u003e! - Fix module resolution failing when project path contains spaces\u003c/p\u003e\n\u003cp\u003eWhen a project lived under a directory with spaces (e.g. \u003ccode\u003e/Users/me/Documents/Master CMS/project\u003c/code\u003e), the vitest pool would fail with \u003ccode\u003eNo such module \u0026quot;threads.js\u0026quot;\u003c/code\u003e before any test executed. The module fallback service now uses the \u003ccode\u003erawSpecifier\u003c/code\u003e from workerd's fallback request to correctly decode \u003ccode\u003efile://\u003c/code\u003e URLs, avoiding the double-encoding of spaces (\u003ccode\u003e%20\u003c/code\u003e → \u003ccode\u003e%2520\u003c/code\u003e) that occurred when workerd resolved these URLs as relative paths.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14105\"\u003e#14105\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dario-piotrowicz\"\u003e\u003ccode\u003e@​dario-piotrowicz\u003c/code\u003e\u003c/a\u003e! - Remove trailing periods from URLs in terminal output\u003c/p\u003e\n\u003cp\u003eURLs printed to the terminal with a sentence-ending period (e.g. \u003ccode\u003ehttps://example.com/path.\u003c/code\u003e) would include the period when clicked in some terminal emulators, causing 404 errors. This removes trailing periods from all URLs displayed in CLI output across wrangler, miniflare, vitest-pool-workers, and workers-utils.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14112\"\u003e#14112\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/penalosa\"\u003e\u003ccode\u003e@​penalosa\u003c/code\u003e\u003c/a\u003e! - Pin non-bundled runtime dependencies to exact versions\u003c/p\u003e\n\u003cp\u003eDependencies that are not bundled into a package's published output are installed directly into consumers' dependency trees, so they are now pinned to exact versions instead of semver ranges. This closes a supply-chain gap where an unpinned external dependency could resolve to a compromised upstream release on a fresh install. A new \u003ccode\u003epnpm check:pinned-deps\u003c/code\u003e lint enforces this for all published packages (and for the shared pnpm catalog) going forward.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14061\"\u003e#14061\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vardiak\"\u003e\u003ccode\u003e@​Vardiak\u003c/code\u003e\u003c/a\u003e! - Preserve Durable Object WebSocket handler invocation order\u003c/p\u003e\n\u003cp\u003eDurable Object WebSocket events could begin executing out of order in the Workers Vitest integration when several events arrived while the test wrapper was resolving user code.\u003c/p\u003e\n\u003cp\u003eHandler invocation now preserves arrival order while still allowing asynchronous handler completion to run concurrently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b210c5eefdb22d83f937728527bc0091f9308070\"\u003e\u003ccode\u003eb210c5e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aec1bb826aaba963bfc1ee96ba7359e284162bfa\"\u003e\u003ccode\u003eaec1bb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e06cbb722b3552b622e48c53d4f7d910162ce943\"\u003e\u003ccode\u003ee06cbb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9a26191e1a8c4246f7999bdb3637a176b9166207\"\u003e\u003ccode\u003e9a26191\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5565823854b60937fcad7162425fcd9fad64558a\"\u003e\u003ccode\u003e5565823\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4ef790b3ee22389db29c64f49564aac28022e40e\"\u003e\u003ccode\u003e4ef790b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/890fca7d63a6efab5a58e4829cf02bf731eab197\"\u003e\u003ccode\u003e890fca7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6fc97775d688ab6b65c40cad1c403bb04346d77e\"\u003e\u003ccode\u003e6fc9777\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8e7b74fa837dc7b67c4affab1d4b28876ce4d3f2\"\u003e\u003ccode\u003e8e7b74f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e86489a5743ff9bad7bcb5b444ad3d952d5b0164\"\u003e\u003ccode\u003ee86489a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/42288d4886b7b7a516f5bcca6924a706201aa1e8\"\u003e\u003ccode\u003e42288d4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/65b5f9e1855651c2df2c1bdfc8930141e36413d5\"\u003e\u003ccode\u003e65b5f9e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/64ef9fd46eeb590813bb8cbc61b58c407452362e\"\u003e\u003ccode\u003e64ef9fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/94b29f76c6c6543c2504fb9d1967f15a3bad530d\"\u003e\u003ccode\u003e94b29f7\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ewrangler@4.97.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260601.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14070\"\u003e#14070\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/96ae85681b5e24baf10078480651228fc84ed727\"\u003e\u003ccode\u003e96ae856\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dmmulroy\"\u003e\u003ccode\u003e@​dmmulroy\u003c/code\u003e\u003c/a\u003e! - Fix Durable Object RPC dispatch for constructors that return proxies\u003c/p\u003e\n\u003cp\u003eDurable Object RPC methods mediated by a returned \u003ccode\u003eProxy\u003c/code\u003e are now resolved through that proxy after validating prototype exposure. This allows wrappers that bind methods to the underlying instance to use private fields and methods in Vitest, while matching workerd's rejection of constructor-assigned RPC overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a2ef1a323bfe0052b53f5eddb302bd6bd0d45a74\"\u003e\u003ccode\u003ea2ef1a3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/408432aed493563cb13b9a9c241806112ea606bc\"\u003e\u003ccode\u003e408432a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1103c07646569208c4b0a623d123395643e022d5\"\u003e\u003ccode\u003e1103c07\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7bb5c7a78a22320283549a86a29a76146f7252a4\"\u003e\u003ccode\u003e7bb5c7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5b5cbd3e98e5713ecf5ee0afa975a1f2ee38b2cc\"\u003e\u003ccode\u003e5b5cbd3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a2ef1a323bfe0052b53f5eddb302bd6bd0d45a74\"\u003e\u003ccode\u003ea2ef1a3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2c1d8b23dcf666a5626e389e37d027d71a56e5e3\"\u003e\u003ccode\u003e2c1d8b2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ce4eb20884d350ac68237fe833a1582dcb9f15fc\"\u003e\u003ccode\u003ece4eb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fa3de663217683d59c9a0fc95d99b616d558619\"\u003e\u003ccode\u003e5fa3de6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/37176e523055da69b56d0306b2d272a45d6e3b27\"\u003e\u003ccode\u003e37176e5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0ce88eaddd7d3329ceee3b796d90e8711e48a34f\"\u003e\u003ccode\u003e0ce88ea\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/66d86baf52fb62bbae9e04d2b0cd3809625fcca0\"\u003e\u003ccode\u003e66d86ba\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9dee4ccac78a5027fccc7dbef9e39fae25a681df\"\u003e\u003ccode\u003e9dee4cc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/97d7d81e0a757e30e7700b183133249e2136a280\"\u003e\u003ccode\u003e97d7d81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c647ccc7873c2cada60ba5f4ce7c8dfeb4801acc\"\u003e\u003ccode\u003ec647ccc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/f623ae4360b24708fdc2687b168c1f70954d321d\"\u003e\u003ccode\u003ef623ae4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c8c7ec0bde012ffe9fefe01cb15c7b0d030a6777\"\u003e\u003ccode\u003ec8c7ec0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/39d8717208feab9801b73a8ef781e181c258a6f6\"\u003e\u003ccode\u003e39d8717\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ee56ec0b823f761afd4bc2012594f3739948a904\"\u003e\u003ccode\u003eee56ec0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b64b7e4499b940efd74cdc09215620ee0b34a290\"\u003e\u003ccode\u003eb64b7e4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e4c8fd97a63230fccffe3d2c62185f5350fc5351\"\u003e\u003ccode\u003ee4c8fd9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2dffeeb92d4f0b8a4c2c91f9cca7959d1970638a\"\u003e\u003ccode\u003e2dffeeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/972d13d7054586bb9e3c11e888179d3df7753338\"\u003e\u003ccode\u003e972d13d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4c0da7be0d47e6127066dc6edd8a59e536e7c24c\"\u003e\u003ccode\u003e4c0da7b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/13cbadbd7ecdd2b7c56b850df1209960a71f7d54\"\u003e\u003ccode\u003e13cbadb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/59e43e4e066f9d201fc6c1e3b31cb232853e83d7\"\u003e\u003ccode\u003e59e43e4\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260529.0\u003c/li\u003e\n\u003cli\u003ewrangler@4.96.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​cloudflare/vitest-pool-workers\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.16.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ca5b604639eabbcb7385537801d1fdd72cf93144\"\u003e\u003ccode\u003eca5b604\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c1fd2fd3a41de5ee8e4698814d89429b86c75450\"\u003e\u003ccode\u003ec1fd2fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/49c1a591cb37a5d30513cc07258d5c27f1dd937f\"\u003e\u003ccode\u003e49c1a59\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/fee1ce42aa44b16645682edab3c792a0571c59d6\"\u003e\u003ccode\u003efee1ce4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b3962ffadb4ce13dea543c994bf3f663e7d445a5\"\u003e\u003ccode\u003eb3962ff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d042705c7a8715184e6e16d399c17adb958d0e80\"\u003e\u003ccode\u003ed042705\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/420e45789b3ef8d9a05f4dc7ba723f2c2d0c7dbc\"\u003e\u003ccode\u003e420e457\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8b1467ef04da43696e3a79eb881cea2f4df022f6\"\u003e\u003ccode\u003e8b1467e\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.95.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260526.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/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md\"\u003e@​cloudflare/vitest-pool-workers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.16.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c6c61b59431443b2bcda25f3af7624dd2ce19b9b\"\u003e\u003ccode\u003ec6c61b5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/a3eea277aae46450aec1f0c811e3fe256022c46e\"\u003e\u003ccode\u003ea3eea27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7a6b1a4f4e9d8d5bd88732c8e11368c3ad7f867b\"\u003e\u003ccode\u003e7a6b1a4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7539a9bfcf03a14b2c16f281d541b6bc45523a80\"\u003e\u003ccode\u003e7539a9b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1fdd8def456011c29c5879fe49be6fa90ad9858d\"\u003e\u003ccode\u003e1fdd8de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0bb2d55116ce90a147582a7b4d96e3090cddf7ee\"\u003e\u003ccode\u003e0bb2d55\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8400fb945a781e7a7a78a3614a702ace2d1fbc87\"\u003e\u003ccode\u003e8400fb9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b502d5445b9e9e030020a3d65c0334507393aa64\"\u003e\u003ccode\u003eb502d54\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7949f81bd258292a4a0b9c5a339c6c035f27d7ca\"\u003e\u003ccode\u003e7949f81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d46201384f656815bf9e90a595098edff43f1b32\"\u003e\u003ccode\u003ed462013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c2280cdb589c9289bb4082d0a068846f3dd22b37\"\u003e\u003ccode\u003ec2280cd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3b8b80ab32e3ac33b5df9f6944dca9cdf72c5495\"\u003e\u003ccode\u003e3b8b80a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/ea12b584ee1c3141286f0ecf6b742bd79971407e\"\u003e\u003ccode\u003eea12b58\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/acf7817266b39be9707a09b918d670a468302ebc\"\u003e\u003ccode\u003eacf7817\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ewrangler@4.98.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260603.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14152\"\u003e#14152\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/petebacondarwin\"\u003e\u003ccode\u003e@​petebacondarwin\u003c/code\u003e\u003c/a\u003e! - Fix module resolution failing when project path contains spaces\u003c/p\u003e\n\u003cp\u003eWhen a project lived under a directory with spaces (e.g. \u003ccode\u003e/Users/me/Documents/Master CMS/project\u003c/code\u003e), the vitest pool would fail with \u003ccode\u003eNo such module \u0026quot;threads.js\u0026quot;\u003c/code\u003e before any test executed. The module fallback service now uses the \u003ccode\u003erawSpecifier\u003c/code\u003e from workerd's fallback request to correctly decode \u003ccode\u003efile://\u003c/code\u003e URLs, avoiding the double-encoding of spaces (\u003ccode\u003e%20\u003c/code\u003e → \u003ccode\u003e%2520\u003c/code\u003e) that occurred when workerd resolved these URLs as relative paths.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14105\"\u003e#14105\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dario-piotrowicz\"\u003e\u003ccode\u003e@​dario-piotrowicz\u003c/code\u003e\u003c/a\u003e! - Remove trailing periods from URLs in terminal output\u003c/p\u003e\n\u003cp\u003eURLs printed to the terminal with a sentence-ending period (e.g. \u003ccode\u003ehttps://example.com/path.\u003c/code\u003e) would include the period when clicked in some terminal emulators, causing 404 errors. This removes trailing periods from all URLs displayed in CLI output across wrangler, miniflare, vitest-pool-workers, and workers-utils.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14112\"\u003e#14112\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/penalosa\"\u003e\u003ccode\u003e@​penalosa\u003c/code\u003e\u003c/a\u003e! - Pin non-bundled runtime dependencies to exact versions\u003c/p\u003e\n\u003cp\u003eDependencies that are not bundled into a package's published output are installed directly into consumers' dependency trees, so they are now pinned to exact versions instead of semver ranges. This closes a supply-chain gap where an unpinned external dependency could resolve to a compromised upstream release on a fresh install. A new \u003ccode\u003epnpm check:pinned-deps\u003c/code\u003e lint enforces this for all published packages (and for the shared pnpm catalog) going forward.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14061\"\u003e#14061\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vardiak\"\u003e\u003ccode\u003e@​Vardiak\u003c/code\u003e\u003c/a\u003e! - Preserve Durable Object WebSocket handler invocation order\u003c/p\u003e\n\u003cp\u003eDurable Object WebSocket events could begin executing out of order in the Workers Vitest integration when several events arrived while the test wrapper was resolving user code.\u003c/p\u003e\n\u003cp\u003eHandler invocation now preserves arrival order while still allowing asynchronous handler completion to run concurrently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b210c5eefdb22d83f937728527bc0091f9308070\"\u003e\u003ccode\u003eb210c5e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aec1bb826aaba963bfc1ee96ba7359e284162bfa\"\u003e\u003ccode\u003eaec1bb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e06cbb722b3552b622e48c53d4f7d910162ce943\"\u003e\u003ccode\u003ee06cbb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9a26191e1a8c4246f7999bdb3637a176b9166207\"\u003e\u003ccode\u003e9a26191\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5565823854b60937fcad7162425fcd9fad64558a\"\u003e\u003ccode\u003e5565823\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4ef790b3ee22389db29c64f49564aac28022e40e\"\u003e\u003ccode\u003e4ef790b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/890fca7d63a6efab5a58e4829cf02bf731eab197\"\u003e\u003ccode\u003e890fca7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6fc97775d688ab6b65c40cad1c403bb04346d77e\"\u003e\u003ccode\u003e6fc9777\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/8e7b74fa837dc7b67c4affab1d4b28876ce4d3f2\"\u003e\u003ccode\u003e8e7b74f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e86489a5743ff9bad7bcb5b444ad3d952d5b0164\"\u003e\u003ccode\u003ee86489a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/42288d4886b7b7a516f5bcca6924a706201aa1e8\"\u003e\u003ccode\u003e42288d4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/65b5f9e1855651c2df2c1bdfc8930141e36413d5\"\u003e\u003ccode\u003e65b5f9e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/64ef9fd46eeb590813bb8cbc61b58c407452362e\"\u003e\u003ccode\u003e64ef9fd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/94b29f76c6c6543c2504fb9d1967f15a3bad530d\"\u003e\u003ccode\u003e94b29f7\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ewrangler@4.97.0\u003c/li\u003e\n\u003cli\u003eminiflare@4.20260601.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14087\"\u003e#14087\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/edmundhung\"\u003e\u003ccode\u003e@​edmundhung\u003c/code\u003e\u003c/a\u003e! - Fix Durable Object RPC dispatch for constructors that return proxies\u003c/p\u003e\n\u003cp\u003eDurable Object RPC methods mediated by a returned \u003ccode\u003eProxy\u003c/code\u003e are now resolved through that proxy after validating prototype exposure. This allows wrappers that bind methods to the underlying instance to use private fields and methods in Vitest, while matching workerd's rejection of constructor-assigned RPC overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/cbb39bdc90d4b93f9a9b4355124570d838eb1a2d\"\u003e\u003ccode\u003ecbb39bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/408432aed493563cb13b9a9c241806112ea606bc\"\u003e\u003ccode\u003e408432a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1103c07646569208c4b0a623d123395643e022d5\"\u003e\u003ccode\u003e1103c07\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7bb5c7a78a22320283549a86a29a76146f7252a4\"\u003e\u003ccode\u003e7bb5c7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5b5cbd3e98e5713ecf5ee0afa975a1f2ee38b2cc\"\u003e\u003ccode\u003e5b5cbd3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/97d7d81e0a757e30e7700b183133249e2136a280\"\u003e\u003ccode\u003e97d7d81\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c647ccc7873c2cada60ba5f4ce7c8dfeb4801acc\"\u003e\u003ccode\u003ec647ccc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b64b7e4499b940efd74cdc09215620ee0b34a290\"\u003e\u003ccode\u003eb64b7e4\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e4c8fd97a63230fccffe3d2c62185f5350fc5351\"\u003e\u003ccode\u003ee4c8fd9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/2dffeeb92d4f0b8a4c2c91f9cca7959d1970638a\"\u003e\u003ccode\u003e2dffeeb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4c0da7be0d47e6127066dc6edd8a59e536e7c24c\"\u003e\u003ccode\u003e4c0da7b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/972d13d7054586bb9e3c11e888179d3df7753338\"\u003e\u003ccode\u003e972d13d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/13cbadbd7ecdd2b7c56b850df1209960a71f7d54\"\u003e\u003ccode\u003e13cbadb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/59e43e4e066f9d201fc6c1e3b31cb232853e83d7\"\u003e\u003ccode\u003e59e43e4\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260529.0\u003c/li\u003e\n\u003cli\u003ewrangler@4.96.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.16.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c8c366e643636526806d2fd7d326825a1f119957\"\u003e\u003ccode\u003ec8c366e\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14159\"\u003e#14159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0b6042466efdc845b374f82ab49f977399e6c237\"\u003e\u003ccode\u003e0b60424\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14142\"\u003e#14142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3d7992e6ac69c6572449b1c1f74354cfdeeaa1ad\"\u003e\u003ccode\u003e3d7992e\u003c/code\u003e\u003c/a\u003e [vitest-pool-workers] Fix module resolution for paths with spaces (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14152\"\u003e#14152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/da8e306153843c6f42508bf7fe7737e91ac67241\"\u003e\u003ccode\u003eda8e306\u003c/code\u003e\u003c/a\u003e [vitest-pool-workers] Preserve Durable Object handler order (for hibernated D...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/0998725139680d803f510c3126b4c4e617b3a37b\"\u003e\u003ccode\u003e0998725\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003edisallowTypeAnnotations\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e in `@typescript-eslint/consistent-ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/3a746ac56a40b805e38f26ef5328e44917b543e6\"\u003e\u003ccode\u003e3a746ac\u003c/code\u003e\u003c/a\u003e [tools] Lint that all non-bundled deps of published packages are pinned (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14112\"\u003e#14112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/337e9124cfa461a99ce7ffb800dcc341f7b2f026\"\u003e\u003ccode\u003e337e912\u003c/code\u003e\u003c/a\u003e Remove trailing periods from URLs in terminal output (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14105\"\u003e#14105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/50ef72497eda26760bd88f5d5f6281208f761479\"\u003e\u003ccode\u003e50ef724\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers/issues/14082\"\u003e#14082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/e3c862a99f9b633ca288306eae8a8c3a900590ee\"\u003e\u003ccode\u003ee3c862a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Version Packa...\n\n_Description has been truncated_","html_url":"https://github.com/akshitkrnagpal/edgepush/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/akshitkrnagpal%2Fedgepush/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"1.4.6","new_version":"1.6.11","update_type":"minor","path":null,"pr_created_at":"2026-06-06T20:33:54.000Z","version_change":"1.4.6 → 1.6.11","issue":{"uuid":"4605022973","node_id":"PR_kwDOPbApZM7jgvy3","number":11,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 8 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-06T20:33:54.000Z","updated_at":"2026-06-06T20:33:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /apps/desktop directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-identity directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/ssrf-safe-fetch directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.6 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e fix(access): preserve exact role statement types (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e fix(oauth): block OAuth linking to unverified local accounts (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e fix(organization): default-on \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e \u0026amp; extend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): authenticate confidential clients on refresh_token g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e fix(magic-link): consume verification token atomically on verify (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e fix(device-authorization): bind approval to verifier session (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e refactor(db): rename \u003ccode\u003eclaimOne\u003c/code\u003e adapter primitive to \u003ccode\u003econsumeOne\u003c/code\u003e (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9568\"\u003e#9568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.11/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1de0aa22dd6311a93546a75a3c58a6be519c1baf\"\u003e\u003ccode\u003e1de0aa2\u003c/code\u003e\u003c/a\u003e fix: correctly identify concurrent test during static analysis (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3cac1c1b5a91d921942e9391fbd94841717363f\"\u003e\u003ccode\u003ec3cac1c\u003c/code\u003e\u003c/a\u003e fix: use isAgent check, not just TTY, for watch mode (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/eab68ba2b8ea6f89717c0b885c573579659d7c3b\"\u003e\u003ccode\u003eeab68ba\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9824\"\u003e#9824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/031f02a89be34491c441b4da9c4e2bacb7db71df\"\u003e\u003ccode\u003e031f02a\u003c/code\u003e\u003c/a\u003e fix: allow catch/finally for async assertion (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9827\"\u003e#9827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e9e096a231fa0ec6475da82e36cbd6fcc9bc8f9\"\u003e\u003ccode\u003e3e9e096\u003c/code\u003e\u003c/a\u003e feat(reporters): add \u003ccode\u003eagent\u003c/code\u003e reporter to reduce ai agent token usage (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9779\"\u003e#9779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8181e06e765f4d043818b244c76795022fa78ff6\"\u003e\u003ccode\u003e8181e06\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehideSkippedTests\u003c/code\u003e should not hide \u003ccode\u003etest.todo\u003c/code\u003e (fix \u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9562\"\u003e#9562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9781\"\u003e#9781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8216b0014b83612e40ef49f919d5293b68717b3\"\u003e\u003ccode\u003ea8216b0\u003c/code\u003e\u003c/a\u003e fix: manual and redirect mock shouldn't \u003ccode\u003eload\u003c/code\u003e or \u003ccode\u003etransform\u003c/code\u003e original module...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest\"\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 vitest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://r...\n\n_Description has been truncated_","html_url":"https://github.com/Sherlock999xxx/lobe-chat/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherlock999xxx%2Flobe-chat/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"1.6.13","new_version":"1.6.14","update_type":"patch","path":null,"pr_created_at":"2026-06-06T06:20:34.000Z","version_change":"1.6.13 → 1.6.14","issue":{"uuid":"4602244695","node_id":"PR_kwDOSK-YTs7jX4LL","number":183,"state":"open","title":"chore: bump the npm-deps group with 19 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-06T06:20:34.000Z","updated_at":"2026-06-06T06:24:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: bump","group_name":"npm-deps","update_count":19,"packages":[{"name":"@better-auth/i18n","old_version":"1.6.13","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@tiptap/extension-image","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/react","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.24.0","new_version":"3.26.0","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"better-auth","old_version":"1.6.13","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"libphonenumber-js","old_version":"1.13.4","new_version":"1.13.6"},{"name":"radix-ui","old_version":"1.4.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@chromatic-com/playwright","old_version":"0.14.5","new_version":"0.14.6","repository_url":"https://github.com/chromaui/chromatic-e2e"},{"name":"@spotlightjs/spotlight","old_version":"4.11.4","new_version":"4.11.5","repository_url":"https://github.com/getsentry/spotlight"},{"name":"@types/node","old_version":"24.12.4","new_version":"24.13.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.16","new_version":"19.2.17","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"knip","old_version":"6.15.0","new_version":"6.16.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"oxfmt","old_version":"0.41.0","new_version":"0.53.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.56.0","new_version":"1.68.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint-tsgolint","old_version":"0.17.1","new_version":"0.23.0","repository_url":"https://github.com/oxc-project/tsgolint"},{"name":"ultracite","old_version":"7.3.2","new_version":"7.8.1","repository_url":"https://github.com/haydenbleasel/ultracite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-deps group with 19 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@better-auth/i18n](https://github.com/better-auth/better-auth/tree/HEAD/packages/i18n) | `1.6.13` | `1.6.14` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.24.0` | `3.26.0` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.24.0` | `3.26.0` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.24.0` | `3.26.0` |\n| [@tiptap/react](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/react) | `3.24.0` | `3.26.0` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.24.0` | `3.26.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.13` | `1.6.14` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | `1.13.4` | `1.13.6` |\n| [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.4.3` | `1.5.0` |\n| [@chromatic-com/playwright](https://github.com/chromaui/chromatic-e2e/tree/HEAD/packages/playwright) | `0.14.5` | `0.14.6` |\n| [@spotlightjs/spotlight](https://github.com/getsentry/spotlight/tree/HEAD/packages/spotlight) | `4.11.4` | `4.11.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.12.4` | `24.13.1` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.16` | `19.2.17` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.15.0` | `6.16.0` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.41.0` | `0.53.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.56.0` | `1.68.0` |\n| [oxlint-tsgolint](https://github.com/oxc-project/tsgolint) | `0.17.1` | `0.23.0` |\n| [ultracite](https://github.com/haydenbleasel/ultracite) | `7.3.2` | `7.8.1` |\n\nUpdates `@better-auth/i18n` from 1.6.13 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/i18n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/i18n/CHANGELOG.md\"\u003e@​better-auth/i18n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/i18n/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/i18n@1.6.14/packages/i18n\"\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.24.0 to 3.26.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.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.26.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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eec291dd: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eb63835b: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [ec291dd]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [454e9b8]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [9cf8db0]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [3d4f94c]\u003c/p\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/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.24.0 to 3.26.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.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.26.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.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\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.25.0\u003c/li\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/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/pm` from 3.24.0 to 3.26.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/pm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/pm/CHANGELOG.md\"\u003e@​tiptap/pm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.0\u003c/h2\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ec1a2ce8: Bump \u003ccode\u003eprosemirror-tables\u003c/code\u003e to \u003ccode\u003e^1.8.0\u003c/code\u003e so \u003ccode\u003efindTable\u003c/code\u003e is available from \u003ccode\u003e@tiptap/pm\u003c/code\u003e, and align the related ProseMirror dependencies with the versions required by \u003ccode\u003eprosemirror-tables\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/pm\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/react` from 3.24.0 to 3.26.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/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/react/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/react/CHANGELOG.md\"\u003e@​tiptap/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.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.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\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.25.0\u003c/li\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.25.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\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tiptap/starter-kit` from 3.24.0 to 3.26.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/starter-kit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.25.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/core\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eclearable\u003c/code\u003e mark option (default \u003ccode\u003etrue\u003c/code\u003e). \u003ccode\u003eunsetAllMarks\u003c/code\u003e now skips marks with \u003ccode\u003eclearable: false\u003c/code\u003e, so semantic marks like comments are not removed by \u0026quot;clear formatting\u0026quot;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Add \u003ccode\u003eattrsEqual\u003c/code\u003e and \u003ccode\u003emarksEqual\u003c/code\u003e utility functions to \u003ccode\u003e@tiptap/core\u003c/code\u003e. \u003ccode\u003eattrsEqual\u003c/code\u003e compares two attribute objects for equality regardless of key ordering. \u003ccode\u003emarksEqual\u003c/code\u003e compares two arrays of mark objects by type and attributes using \u003ccode\u003eattrsEqual\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-file-handler\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\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.25.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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-image\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003ePatch Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003eImage\u003c/code\u003e extension was configured with \u003ccode\u003einline: true\u003c/code\u003e or \u003ccode\u003eresize\u003c/code\u003e enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate \u003ccode\u003edataTransfer.files\u003c/code\u003e, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e711c2e3: Fix \u003ccode\u003eHTMLAttributes\u003c/code\u003e not being applied to the editor DOM when \u003ccode\u003eresize\u003c/code\u003e is enabled. The \u003ccode\u003eaddNodeView\u003c/code\u003e path was using only the resolved node attributes and skipping the user-configured \u003ccode\u003eHTMLAttributes\u003c/code\u003e option. Now it merges them consistently with how \u003ccode\u003erenderHTML\u003c/code\u003e already works.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [711c2e3]\u003c/p\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.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003c/h3\u003e\n\u003ch4\u003eMinor Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e711c2e3: \u003ccode\u003eListKeymap\u003c/code\u003e's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing \u0026quot;paragraph after a list\u0026quot; branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in \u003ca href=\"https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit/issues/7891\"\u003e#7891\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/starter-kit/CHANGELOG.md\"\u003e@​tiptap/starter-kit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [155a613]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [75e8404]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-blockquote\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-dropcursor\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-gapcursor\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list-item\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list-keymap\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.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.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-bold\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-bullet-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code-block\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-document\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-hard-break\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-heading\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-horizontal-rule\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-italic\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-link\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-ordered-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-paragraph\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-strike\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-text\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-underline\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.26.0\u003c/li\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.26.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.25.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [ec291dd]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [8dc5694]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [45237e7]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [454e9b8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [9cf8db0]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [c1a2ce8]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [3d4f94c]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [7d0ce2a]\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.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-list\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\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.25.0\u003c/li\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.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-code\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tiptap/extension-blockquote\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.25.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ueberdosis/tiptap/commits/HEAD/packages/starter-kit\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.13 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libphonenumber-js` from 1.13.4 to 1.13.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md\"\u003elibphonenumber-js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.13.6 / 5.6.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated metadata to version 9.0.32:\n\u003cul\u003e\n\u003cli\u003eUpdated phone metadata for region code(s): DZ, JP, NO, SJ, SO, UG\u003c/li\u003e\n\u003cli\u003eUpdated carrier data for country calling code(s):\n33 (en), 47 (en), 233 (en), 252 (en), 256 (en)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.5 / 03.06.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eConverted any \u0026quot;tagged\u0026quot; types \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/-/work_items/144#note_3415397139\"\u003eback\u003c/a\u003e to simple strings. Originally, some developers lobbied the use of so-called \u003ca href=\"https://medium.com/@ethanresnick/advanced-typescript-tagged-types-for-fewer-bugs-and-better-security-24db681d5721\"\u003e\u0026quot;tagged\u0026quot;\u003c/a\u003e types in this package in order to return more \u0026quot;strict\u0026quot; values. My knowledge of TypeScript at that time was limited to just its title, so I naturally succumbed to that influence and merged whatever changes seemed to be consensual between the participants in the issue discussions. Now though I can see how the concept of \u0026quot;tagged\u0026quot; types is redundant and adds nothing, so I decided to revert any \u0026quot;tagged\u0026quot; types back to simple strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.3 / 22.5.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated metadata to version 9.0.31:\n\u003cul\u003e\n\u003cli\u003eUpdated alternate formatting data for country calling code(s): 84\u003c/li\u003e\n\u003cli\u003eUpdated phone metadata for region code(s):\nAI, BO, DZ, ET, GE, GM, IN, TR, UG, VN\u003c/li\u003e\n\u003cli\u003eUpdated short number metadata for region code(s): IT\u003c/li\u003e\n\u003cli\u003eUpdated geocoding data for country calling code(s): 213 (en)\u003c/li\u003e\n\u003cli\u003eUpdated carrier data for country calling code(s):\n34 (en), 43 (en), 84 (en), 90 (en), 220 (en), 251 (en), 256 (en), 354 (en),\n591 (en), 1264 (en)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.13.0 / 08.05.2026\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMerged a \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/-/merge_requests/29\"\u003epull request\u003c/a\u003e by \u003ca href=\"https://gitlab.com/mdentremont\"\u003eMatt d'Entremont\u003c/a\u003e that adds ES6-only versions of \u003ccode\u003emin\u003c/code\u003e/\u003ccode\u003emax\u003c/code\u003e/\u003ccode\u003emobile\u003c/code\u003e/\u003ccode\u003ecore\u003c/code\u003e exports.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe new exports are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/min/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emax\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/max/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emobile\u003c/code\u003e — \u003ccode\u003elibphonenumber-js/mobile/es6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u0026quot;custom\u0026quot; — \u003ccode\u003elibphonenumber-js/core/es6\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe bundle size reduction is roughly \u003ccode\u003e37 KB\u003c/code\u003e raw and \u003ccode\u003e3.8-4.1 KB\u003c/code\u003e gzipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre\u003e\u003ccode\u003e                        | legacy raw | modern raw | legacy gzip | modern gzip\n  min                   | 177,666 B  | 140,563 B  | 42,081 B    | 38,223 B\n  max                   | 251,327 B  | 214,224 B  | 62,690 B    | 58,750 B\n  mobile                | 193,117 B  | 156,014 B  | 46,712 B    | 42,682 B\n  core                  |  93,076 B  |  56,158 B  | 22,308 B    | 18,223 B\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated \u003ccode\u003elibphonenumber-metadata-generator\u003c/code\u003e package. No functional changes, just cosmetics: renamed some API methods and parameters.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e(TypeScript) Added a new exported type \u003ccode\u003ePhoneNumberType\u003c/code\u003e, which is same as the old exported \u003ccode\u003eNumberType\u003c/code\u003e type (which is now considered deprecated) except for \u003ccode\u003eundefined\u003c/code\u003e value.\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\u003eSee full diff in \u003ca href=\"https://gitlab.com/catamphetamine/libphonenumber-js/commits/master\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `radix-ui` from 1.4.3 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/radix-ui/primitives/blob/main/packages/react/radix-ui/CHANGELOG.md\"\u003eradix-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch3\u003eContext Menu\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded support for a controlled \u003ccode\u003eopen\u003c/code\u003e prop on \u003ccode\u003eContextMenu.Root\u003c/code\u003e. This is intended for reading the open state and closing the menu programmatically, though we discourage opening the menu programmatically since opening the menu depends on user interaction to position the menu.\u003c/p\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003efunction ControlledContextMenu() {\n  const [open, setOpen] = React.useState(false);\n  return (\n    \u0026lt;ContextMenu.Root open={open} onOpenChange={setOpen}\u0026gt;\n      \u0026lt;ContextMenu.Trigger\u0026gt;Open\u0026lt;/ContextMenu.Trigger\u0026gt;\n      \u0026lt;ContextMenu.Content\u0026gt;\n        \u0026lt;button type=\u0026quot;button\u0026quot; onClick={() =\u0026gt; setOpen(false)}\u0026gt;\n          Close me\n        \u0026lt;/button\u0026gt;\n        \u0026lt;ContextMenu.Item\u0026gt;Item 1\u0026lt;/ContextMenu.Item\u0026gt;\n        \u0026lt;ContextMenu.Item\u0026gt;Item 2\u0026lt;/ContextMenu.Item\u0026gt;\n      \u0026lt;/ContextMenu.Content\u0026gt;\n    \u0026lt;/ContextMenu.Root\u0026gt;\n  );\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a bug in where submenus remained expanded after re-opening on long-press touch events.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where iOS text selection and editing on HTML inputs within dialogs were broken.\u003c/li\u003e\n\u003cli\u003eFixed a bug causing disabled pointer events in closed dialogs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOne-Time Password Field\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pasting into One-Time Password Field in environments that do not support the legacy \u003ccode\u003e\u0026quot;Text\u0026quot;\u003c/code\u003e clipboard format by reading the pasted value as \u003ccode\u003e\u0026quot;text/plain\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed issues with focus management in React 19.2+.\u003c/li\u003e\n\u003cli\u003eFixed a bug to ensure that pasted values exceeding the field length are truncated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePopper\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u0026quot;Maximum update depth exceeded\u0026quot; bug for pages with a large number of popper instances.\u003c/li\u003e\n\u003cli\u003eExposed \u003ccode\u003edata-side\u003c/code\u003e and \u003ccode\u003edata-align\u003c/code\u003e on \u003ccode\u003ePopperAnchor\u003c/code\u003e element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePresence\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u0026quot;Maximum update depth exceeded\u0026quot; bug in React 19 that could occur when \u003ccode\u003ePresence\u003c/code\u003e was given a child with an unstable ref.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRadio Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded unstable \u003ccode\u003eRadioGroupItemProvider\u003c/code\u003e, \u003ccode\u003eRadioGroupItemTrigger\u003c/code\u003e and \u003ccode\u003eRadioGroupItemBubbleInput\u003c/code\u003e parts. These expose the previously internal composition of a radio item that included a visually hidden \u003ccode\u003einput\u003c/code\u003e so consumers can directly access and recompose them. The \u003ccode\u003eRadioGroupItem\u003c/code\u003e component continues to render them by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radix-ui\"\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 radix-ui since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@chromatic-com/playwright` from 0.14.5 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chromaui/chromatic-e2e/releases\"\u003e@​chromatic-com/p...\n\n_Description has been truncated_","html_url":"https://github.com/mitsailing/mitsailing/pull/183","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitsailing%2Fmitsailing/issues/183","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/183/packages"}},{"old_version":"1.6.14","new_version":"1.6.13","update_type":null,"path":"/src/Clients in the better-auth group","pr_created_at":"2026-06-05T03:04:14.000Z","version_change":"1.6.14 → 1.6.13","issue":{"uuid":"4593795436","node_id":"PR_kwDOMW_YTM7i8FlE","number":1169,"state":"open","title":"Node (Frontend)(deps): Bump better-auth from 1.6.14 to 1.6.13 in /src/Clients in the better-auth group","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-05T03:04:14.000Z","updated_at":"2026-06-05T03:06:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Node (Frontend)(deps): Bump","packages":[{"name":"better-auth","old_version":"1.6.14","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"}],"path":"/src/Clients in the better-auth group","ecosystem":"npm"},"body":"Bumps the better-auth group in /src/Clients with 1 update: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth).\n\nUpdates `better-auth` from 1.6.14 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e fix(client): decode escape sequences in parseJSON quoted strings (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9617\"\u003e#9617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1d372bbab9117f5a574ecb608b7a5108f1ccbc66\"\u003e\u003ccode\u003e1d372bb\u003c/code\u003e\u003c/a\u003e fix(organization): reject invitation team ids containing a comma (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9616\"\u003e#9616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e fix: tighten \u003ccode\u003echangeEmail\u003c/code\u003e config gate and encode callbackURL (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9614\"\u003e#9614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e fix(access): reject empty action lists and continue \u0026quot;OR\u0026quot; evaluation on unknow...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\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=better-auth\u0026package-manager=npm_and_yarn\u0026previous-version=1.6.14\u0026new-version=1.6.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/foxminchan/BookWorm/pull/1169","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxminchan%2FBookWorm/issues/1169","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1169/packages"}},{"old_version":"1.2.8","new_version":"1.6.11","update_type":"minor","path":null,"pr_created_at":"2026-06-04T18:58:23.000Z","version_change":"1.2.8 → 1.6.11","issue":{"uuid":"4591396869","node_id":"PR_kwDOQTk4Hc7i0L49","number":7,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 2 directories with 10 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T18:58:23.000Z","updated_at":"2026-06-04T18:59:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":10,"packages":[{"name":"axios","old_version":"1.11.0","new_version":"1.16.0","repository_url":"https://github.com/axios/axios"},{"name":"electron","old_version":"37.2.6","new_version":"27.3.11"},{"name":"minimatch","old_version":"3.1.2","new_version":"3.1.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"follow-redirects","old_version":"1.15.11","new_version":"1.16.0"},{"name":"lodash","old_version":"4.17.21","new_version":"4.18.1","repository_url":"https://github.com/lodash/lodash"},{"name":"picomatch","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/micromatch/picomatch"},{"name":"better-auth","old_version":"1.2.8","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 4 updates in the /advanced_llm_apps/thinkpath_chatbot_app directory: [axios](https://github.com/axios/axios), [minimatch](https://github.com/isaacs/minimatch), [lodash](https://github.com/lodash/lodash) and [picomatch](https://github.com/micromatch/picomatch).\nBumps the npm_and_yarn group with 2 updates in the /advanced_ai_agents/multi_agent_apps/agent_teams/ai_travel_planner_agent_team/client directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) and [next](https://github.com/vercel/next.js).\n\nUpdates `axios` from 1.11.0 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFetch adapter now enforces \u003ccode\u003emaxBodyLength\u003c/code\u003e and \u003ccode\u003emaxContentLength\u003c/code\u003e.\u003c/strong\u003e These limits were silently ignored on the fetch adapter prior to 1.16.0 — anyone relying on them as a safety net (DoS protection, accidental large uploads) had no protection. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy requests now preserve user-supplied \u003ccode\u003eHost\u003c/code\u003e headers.\u003c/strong\u003e Previously, the proxy path could overwrite a custom \u003ccode\u003eHost\u003c/code\u003e. Virtual-host-style routing through a proxy will now behave correctly. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBasic auth credentials embedded in URLs are now URL-decoded.\u003c/strong\u003e If you have percent-encoded credentials in a URL (e.g. \u003ccode\u003ehttps://user:p%40ss@host\u003c/code\u003e), the decoded value is what now goes on the wire. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparseProtocol\u003c/code\u003e now strictly requires a colon in the protocol separator.\u003c/strong\u003e Strings that loosely parsed as protocols before may no longer match. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003eunescape()\u003c/code\u003e replaced with modern UTF-8 encoding.\u003c/strong\u003e Non-ASCII URL handling is now spec-correct; consumers depending on legacy \u003ccode\u003eunescape()\u003c/code\u003e quirks may see different output bytes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etransformRequest\u003c/code\u003e input typing change was reverted.\u003c/strong\u003e The typing change introduced in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e was reverted in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e after follow-up review — net behavior is unchanged from 1.15.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eQUERY HTTP Method:\u003c/strong\u003e Added support for the QUERY HTTP method across adapters and type definitions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10802\"\u003e#10802\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eECONNREFUSED Error Constant:\u003c/strong\u003e Exposed \u003ccode\u003eECONNREFUSED\u003c/code\u003e as a constant on \u003ccode\u003eAxiosError\u003c/code\u003e so callers can match connection-refused failures without comparing string literals (closes \u003ca href=\"https://redirect.github.com/axios/axios/issues/6485\"\u003e#6485\u003c/a\u003e). (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEncode Helper Export:\u003c/strong\u003e Exported the internal \u003ccode\u003eencode\u003c/code\u003e helper from \u003ccode\u003ebuildURL\u003c/code\u003e so userland param serializers can reuse the same encoding logic that axios uses internally. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6897\"\u003e#6897\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Redirects \u0026amp; Headers:\u003c/strong\u003e Cleared stale headers when a redirect targets a no-proxy host, fixed the redirect listener chain so listeners no longer stack across hops, restored the missing \u003ccode\u003erequestDetails\u003c/code\u003e argument on \u003ccode\u003ebeforeRedirect\u003c/code\u003e, preserved user-supplied \u003ccode\u003eHost\u003c/code\u003e headers when forwarding through a proxy, and properly URL-decoded basic auth credentials. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10794\"\u003e#10794\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10800\"\u003e#10800\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6241\"\u003e#6241\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Streams \u0026amp; Timeouts:\u003c/strong\u003e Preserved the partial response object on \u003ccode\u003eAxiosError\u003c/code\u003e when a stream is aborted after headers arrive, honoured the \u003ccode\u003etimeout\u003c/code\u003e option during the connect phase when redirects are disabled, and resolved an unsettled-promise hang when an aborted request was combined with compression and \u003ccode\u003emaxRedirects: 0\u003c/code\u003e. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10708\"\u003e#10708\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7149\"\u003e#7149\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFetch Adapter:\u003c/strong\u003e Enforced \u003ccode\u003emaxBodyLength\u003c/code\u003e / \u003ccode\u003emaxContentLength\u003c/code\u003e in the fetch adapter, set the \u003ccode\u003eUser-Agent\u003c/code\u003e header to match the HTTP adapter, preserved the original abort reason instead of replacing it with a generic error, and deferred global access so importing the module no longer throws a \u003ccode\u003eTypeError\u003c/code\u003e in restricted environments. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10772\"\u003e#10772\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10806\"\u003e#10806\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Adapter:\u003c/strong\u003e Unsubscribed the \u003ccode\u003ecancelToken\u003c/code\u003e and \u003ccode\u003eAbortSignal\u003c/code\u003e listeners on the error, timeout, and abort code paths to prevent leaked subscriptions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError Handling:\u003c/strong\u003e Attached the parsed response to \u003ccode\u003eAxiosError\u003c/code\u003e when \u003ccode\u003eJSON.parse\u003c/code\u003e fails inside \u003ccode\u003edispatchRequest\u003c/code\u003e, prevented \u003ccode\u003esettle\u003c/code\u003e from emitting \u003ccode\u003eundefined\u003c/code\u003e error codes, and tightened the \u003ccode\u003eparseProtocol\u003c/code\u003e regex to require a colon in the protocol separator. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10724\"\u003e#10724\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTypes \u0026amp; Exports:\u003c/strong\u003e Aligned the CommonJS \u003ccode\u003eCancelToken\u003c/code\u003e typings with the ESM build, fixed a compiler error caused by \u003ccode\u003eRawAxiosHeaders\u003c/code\u003e, and re-exported \u003ccode\u003ecreate\u003c/code\u003e from the package index. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7414\"\u003e#7414\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6389\"\u003e#6389\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6460\"\u003e#6460\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUTF-8 Encoding:\u003c/strong\u003e Replaced the deprecated \u003ccode\u003eunescape()\u003c/code\u003e call with a modern UTF-8 encoding implementation. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMisc Cleanup:\u003c/strong\u003e Resolved a batch of small inconsistencies and gadget-level issues across the codebase. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRefactor — ES6 Modernisation:\u003c/strong\u003e Modernised the \u003ccode\u003eutils\u003c/code\u003e module and XHR adapter to use ES6 features, and tidied the multipart boundary error message. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTests:\u003c/strong\u003e Hardened the HTTP test server lifecycle to fix flaky \u003ccode\u003eFormData\u003c/code\u003e EPIPE failures, fixed Win32 platform support for the pipe tests, and corrected an incorrect test assumption. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10820\"\u003e#10820\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10791\"\u003e#10791\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10796\"\u003e#10796\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs:\u003c/strong\u003e Documented \u003ccode\u003eparamsSerializer.encode\u003c/code\u003e for strict RFC 3986 query encoding, updated the \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions and configuration docs for ES2023, added timeout guidance to the README's first async example, and expanded notes around the recent type changes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10821\"\u003e#10821\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10782\"\u003e#10782\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10759\"\u003e#10759\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10804\"\u003e#10804\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReverted:\u003c/strong\u003e Reverted the \u003ccode\u003etransformRequest\u003c/code\u003e input typing change from \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e after follow-up review. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003eactions/setup-node\u003c/code\u003e, the \u003ccode\u003egithub-actions\u003c/code\u003e group, and \u003ccode\u003epostcss\u003c/code\u003e (in \u003ccode\u003e/docs\u003c/code\u003e) to their latest versions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10785\"\u003e#10785\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10813\"\u003e#10813\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10814\"\u003e#10814\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease:\u003c/strong\u003e Updated changelog and packages, and prepared the 1.16.0 release. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10790\"\u003e#10790\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/singhankit001\"\u003e\u003ccode\u003e@​singhankit001\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/iruizsalinas\"\u003e\u003ccode\u003e@​iruizsalinas\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/MarcosNocetti\"\u003e\u003ccode\u003e@​MarcosNocetti\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/deepview-autofix\"\u003e\u003ccode\u003e@​deepview-autofix\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFetch adapter now enforces \u003ccode\u003emaxBodyLength\u003c/code\u003e and \u003ccode\u003emaxContentLength\u003c/code\u003e.\u003c/strong\u003e These limits were silently ignored on the fetch adapter prior to 1.16.0 — anyone relying on them as a safety net (DoS protection, accidental large uploads) had no protection. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy requests now preserve user-supplied \u003ccode\u003eHost\u003c/code\u003e headers.\u003c/strong\u003e Previously, the proxy path could overwrite a custom \u003ccode\u003eHost\u003c/code\u003e. Virtual-host-style routing through a proxy will now behave correctly. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBasic auth credentials embedded in URLs are now URL-decoded.\u003c/strong\u003e If you have percent-encoded credentials in a URL (e.g. \u003ccode\u003ehttps://user:p%40ss@host\u003c/code\u003e), the decoded value is what now goes on the wire. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eparseProtocol\u003c/code\u003e now strictly requires a colon in the protocol separator.\u003c/strong\u003e Strings that loosely parsed as protocols before may no longer match. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeprecated \u003ccode\u003eunescape()\u003c/code\u003e replaced with modern UTF-8 encoding.\u003c/strong\u003e Non-ASCII URL handling is now spec-correct; consumers depending on legacy \u003ccode\u003eunescape()\u003c/code\u003e quirks may see different output bytes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etransformRequest\u003c/code\u003e input typing change was reverted.\u003c/strong\u003e The typing change introduced in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e was reverted in \u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e after follow-up review — net behavior is unchanged from 1.15.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eQUERY HTTP Method:\u003c/strong\u003e Added support for the QUERY HTTP method across adapters and type definitions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10802\"\u003e#10802\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eECONNREFUSED Error Constant:\u003c/strong\u003e Exposed \u003ccode\u003eECONNREFUSED\u003c/code\u003e as a constant on \u003ccode\u003eAxiosError\u003c/code\u003e so callers can match connection-refused failures without comparing string literals (closes \u003ca href=\"https://redirect.github.com/axios/axios/issues/6485\"\u003e#6485\u003c/a\u003e). (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEncode Helper Export:\u003c/strong\u003e Exported the internal \u003ccode\u003eencode\u003c/code\u003e helper from \u003ccode\u003ebuildURL\u003c/code\u003e so userland param serializers can reuse the same encoding logic that axios uses internally. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6897\"\u003e#6897\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Redirects \u0026amp; Headers:\u003c/strong\u003e Cleared stale headers when a redirect targets a no-proxy host, fixed the redirect listener chain so listeners no longer stack across hops, restored the missing \u003ccode\u003erequestDetails\u003c/code\u003e argument on \u003ccode\u003ebeforeRedirect\u003c/code\u003e, preserved user-supplied \u003ccode\u003eHost\u003c/code\u003e headers when forwarding through a proxy, and properly URL-decoded basic auth credentials. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10794\"\u003e#10794\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10800\"\u003e#10800\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6241\"\u003e#6241\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10822\"\u003e#10822\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP Adapter — Streams \u0026amp; Timeouts:\u003c/strong\u003e Preserved the partial response object on \u003ccode\u003eAxiosError\u003c/code\u003e when a stream is aborted after headers arrive, honoured the \u003ccode\u003etimeout\u003c/code\u003e option during the connect phase when redirects are disabled, and resolved an unsettled-promise hang when an aborted request was combined with compression and \u003ccode\u003emaxRedirects: 0\u003c/code\u003e. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10708\"\u003e#10708\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7149\"\u003e#7149\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFetch Adapter:\u003c/strong\u003e Enforced \u003ccode\u003emaxBodyLength\u003c/code\u003e / \u003ccode\u003emaxContentLength\u003c/code\u003e in the fetch adapter, set the \u003ccode\u003eUser-Agent\u003c/code\u003e header to match the HTTP adapter, preserved the original abort reason instead of replacing it with a generic error, and deferred global access so importing the module no longer throws a \u003ccode\u003eTypeError\u003c/code\u003e in restricted environments. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10795\"\u003e#10795\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10772\"\u003e#10772\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10806\"\u003e#10806\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Adapter:\u003c/strong\u003e Unsubscribed the \u003ccode\u003ecancelToken\u003c/code\u003e and \u003ccode\u003eAbortSignal\u003c/code\u003e listeners on the error, timeout, and abort code paths to prevent leaked subscriptions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError Handling:\u003c/strong\u003e Attached the parsed response to \u003ccode\u003eAxiosError\u003c/code\u003e when \u003ccode\u003eJSON.parse\u003c/code\u003e fails inside \u003ccode\u003edispatchRequest\u003c/code\u003e, prevented \u003ccode\u003esettle\u003c/code\u003e from emitting \u003ccode\u003eundefined\u003c/code\u003e error codes, and tightened the \u003ccode\u003eparseProtocol\u003c/code\u003e regex to require a colon in the protocol separator. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10724\"\u003e#10724\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTypes \u0026amp; Exports:\u003c/strong\u003e Aligned the CommonJS \u003ccode\u003eCancelToken\u003c/code\u003e typings with the ESM build, fixed a compiler error caused by \u003ccode\u003eRawAxiosHeaders\u003c/code\u003e, and re-exported \u003ccode\u003ecreate\u003c/code\u003e from the package index. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7414\"\u003e#7414\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6389\"\u003e#6389\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/6460\"\u003e#6460\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUTF-8 Encoding:\u003c/strong\u003e Replaced the deprecated \u003ccode\u003eunescape()\u003c/code\u003e call with a modern UTF-8 encoding implementation. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7378\"\u003e#7378\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMisc Cleanup:\u003c/strong\u003e Resolved a batch of small inconsistencies and gadget-level issues across the codebase. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRefactor — ES6 Modernisation:\u003c/strong\u003e Modernised the \u003ccode\u003eutils\u003c/code\u003e module and XHR adapter to use ES6 features, and tidied the multipart boundary error message. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTests:\u003c/strong\u003e Hardened the HTTP test server lifecycle to fix flaky \u003ccode\u003eFormData\u003c/code\u003e EPIPE failures, fixed Win32 platform support for the pipe tests, and corrected an incorrect test assumption. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10820\"\u003e#10820\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10791\"\u003e#10791\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10796\"\u003e#10796\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs:\u003c/strong\u003e Documented \u003ccode\u003eparamsSerializer.encode\u003c/code\u003e for strict RFC 3986 query encoding, updated the \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions and configuration docs for ES2023, added timeout guidance to the README's first async example, and expanded notes around the recent type changes. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10821\"\u003e#10821\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10782\"\u003e#10782\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10759\"\u003e#10759\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10804\"\u003e#10804\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReverted:\u003c/strong\u003e Reverted the \u003ccode\u003etransformRequest\u003c/code\u003e input typing change from \u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e after follow-up review. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10745\"\u003e#10745\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10810\"\u003e#10810\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003eactions/setup-node\u003c/code\u003e, the \u003ccode\u003egithub-actions\u003c/code\u003e group, and \u003ccode\u003epostcss\u003c/code\u003e (in \u003ccode\u003e/docs\u003c/code\u003e) to their latest versions. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10785\"\u003e#10785\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10813\"\u003e#10813\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10814\"\u003e#10814\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelease:\u003c/strong\u003e Updated changelog and packages, and prepared the 1.16.0 release. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10790\"\u003e#10790\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/singhankit001\"\u003e\u003ccode\u003e@​singhankit001\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10588\"\u003e#10588\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/cuiweixie\"\u003e\u003ccode\u003e@​cuiweixie\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7419\"\u003e#7419\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/iruizsalinas\"\u003e\u003ccode\u003e@​iruizsalinas\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10787\"\u003e#10787\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/MarcosNocetti\"\u003e\u003ccode\u003e@​MarcosNocetti\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10680\"\u003e#10680\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/deepview-autofix\"\u003e\u003ccode\u003e@​deepview-autofix\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10729\"\u003e#10729\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/df53d7dd99b202fb194217abd127ae6a630e70dc\"\u003e\u003ccode\u003edf53d7d\u003c/code\u003e\u003c/a\u003e chore(release): prepare release 1.16.0 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10834\"\u003e#10834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/9d92bcd32639d1eea5b89f03ae45f248d3bb058e\"\u003e\u003ccode\u003e9d92bcd\u003c/code\u003e\u003c/a\u003e fix: gadgets and smaller issues (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10833\"\u003e#10833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/5107ee69aee527b19eabaf80000ca65752135435\"\u003e\u003ccode\u003e5107ee6\u003c/code\u003e\u003c/a\u003e fix: prevent undefined error codes in settle (\u003ca href=\"https://redirect.github.com/axios/axios/issues/7276\"\u003e#7276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/e57349992f230b6b13e80613eb84302560aa5ba8\"\u003e\u003ccode\u003ee573499\u003c/code\u003e\u003c/a\u003e fix(fetch): defer global access in fetch adapter (\u003ca href=\"https://redirect.github.com/axios/axios/issues/7260\"\u003e#7260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/ad68e1a484b50086af427f767bbd7d6e3aab7ac3\"\u003e\u003ccode\u003ead68e1a\u003c/code\u003e\u003c/a\u003e fix(http): honor timeout during connect without redirects (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10819\"\u003e#10819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/2a51828213128691d2e37502b5eb2cf4965a737d\"\u003e\u003ccode\u003e2a51828\u003c/code\u003e\u003c/a\u003e fix(http): decode URL basic auth credentials (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10825\"\u003e#10825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/0e8b6bbb542131bae9940618d84d5286255d4db1\"\u003e\u003ccode\u003e0e8b6bb\u003c/code\u003e\u003c/a\u003e fix(http): preserve user-supplied Host header when forwarding through a proxy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/79f39e1d041dca87173226d0255f90eaf252564b\"\u003e\u003ccode\u003e79f39e1\u003c/code\u003e\u003c/a\u003e docs: document paramsSerializer.encode for strict RFC 3986 query encoding (\u003ca href=\"https://redirect.github.com/axios/axios/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/0fe3a5fc14829535e1d517c662d448e86c33438e\"\u003e\u003ccode\u003e0fe3a5f\u003c/code\u003e\u003c/a\u003e [Docs/Types] Update \u003ccode\u003eparseReviver\u003c/code\u003e TypeScript definitions for ES2023 and add ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/cd6737fd84bdb7caf2a319d3579573a49f9d238d\"\u003e\u003ccode\u003ecd6737f\u003c/code\u003e\u003c/a\u003e chore: matches the sibling responseStream.on(aborted) handler and added tests...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/axios/axios/compare/v1.11.0...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for axios since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `electron` from 37.2.6 to 27.3.11\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/70a66589ae966233885dc04fb81bfd2c06b112bd\"\u003e\u003ccode\u003e70a6658\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 8 changes from 3-M123 and M1nn (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41856\"\u003e#41856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/6d5b65ec35c599be43af3085d609c4771333f9a2\"\u003e\u003ccode\u003e6d5b65e\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-2-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41777\"\u003e#41777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/ec2adf0b2e1ccff6186758ea2f40d4ed6c6f4490\"\u003e\u003ccode\u003eec2adf0\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-3-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41608\"\u003e#41608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/2d9eaffb9878983b85483679296fae3f3dae38c0\"\u003e\u003ccode\u003e2d9eaff\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 8 changes from Release-1-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41748\"\u003e#41748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/3d3bd64ab2d767884594ea27b296575af769df78\"\u003e\u003ccode\u003e3d3bd64\u003c/code\u003e\u003c/a\u003e ci: use CircleCI hosted macOS arm64 runners for testing (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41666\"\u003e#41666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/8b9170b664a70cbbcff6ca248689a2ff6b37ee84\"\u003e\u003ccode\u003e8b9170b\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-0-M123 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41633\"\u003e#41633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/6b2c470f462a58523709bd947d33491cc83c7f8e\"\u003e\u003ccode\u003e6b2c470\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-2-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41521\"\u003e#41521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/f53fad8abb37565b3be2ea098f5ad427561ad143\"\u003e\u003ccode\u003ef53fad8\u003c/code\u003e\u003c/a\u003e chore: update src_preload_function_for_environment.patch (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41503\"\u003e#41503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/7b2c526a43637749f422af6848dce747923fd8c6\"\u003e\u003ccode\u003e7b2c526\u003c/code\u003e\u003c/a\u003e chore: cherry-pick 1 change from Release-1-M122 (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41488\"\u003e#41488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1da86c0fbff56873e10271e02018c956d20e4f75\"\u003e\u003ccode\u003e1da86c0\u003c/code\u003e\u003c/a\u003e ci: add logging to uploading to GitHub releases (\u003ca href=\"https://redirect.github.com/electron/electron/issues/41457\"\u003e#41457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electron/electron/compare/v37.2.6...v27.3.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minimatch` from 3.1.2 to 3.1.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7bba97888a27a6162983056bcce2a6e28f668712\"\u003e\u003ccode\u003e7bba978\u003c/code\u003e\u003c/a\u003e 3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/bd259425b2ca17b42897997f93e890314155522d\"\u003e\u003ccode\u003ebd25942\u003c/code\u003e\u003c/a\u003e docs: add warning about ReDoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1a9c27c75725474dbde57db2995b6281b267756d\"\u003e\u003ccode\u003e1a9c27c\u003c/code\u003e\u003c/a\u003e fix partial matching of globstar patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1a2e084af579731af66c221214e3ca8222c9bf23\"\u003e\u003ccode\u003e1a2e084\u003c/code\u003e\u003c/a\u003e 3.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/ae24656237c3d58067442f790ce17eff84463a47\"\u003e\u003ccode\u003eae24656\u003c/code\u003e\u003c/a\u003e update lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/b1003749228b2a79e1f237963a0d559ef7a0941e\"\u003e\u003ccode\u003eb100374\u003c/code\u003e\u003c/a\u003e limit recursion for **, improve perf considerably\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/26ffeaa091b9f660833e23f42e07165b33e85c13\"\u003e\u003ccode\u003e26ffeaa\u003c/code\u003e\u003c/a\u003e lockfile update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/9eca892a4e5dbb20534f9f30483b85cdeee6c2eb\"\u003e\u003ccode\u003e9eca892\u003c/code\u003e\u003c/a\u003e lock node version to 14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/00c323b188b704e5d4bc534ecec2268cfa70a32a\"\u003e\u003ccode\u003e00c323b\u003c/code\u003e\u003c/a\u003e 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/30486b2048929264f44d18822891cfffa02af78b\"\u003e\u003ccode\u003e30486b2\u003c/code\u003e\u003c/a\u003e update CI matrix and actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `follow-redirects` from 1.15.11 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/0c23a223067201c368035e82954c11eb2578a33b\"\u003e\u003ccode\u003e0c23a22\u003c/code\u003e\u003c/a\u003e Release version 1.16.0 of the npm package.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/844c4d302ac963d29bdb5dc1754ec7df3d70d7f9\"\u003e\u003ccode\u003e844c4d3\u003c/code\u003e\u003c/a\u003e Add sensitiveHeaders option.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/5e8b8d024e2c76f804a284258e585ecb49a575be\"\u003e\u003ccode\u003e5e8b8d0\u003c/code\u003e\u003c/a\u003e ci: add Node.js 24.x to the CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/7953e2255aa0b93602eed3804f3bc5e6923a03af\"\u003e\u003ccode\u003e7953e22\u003c/code\u003e\u003c/a\u003e ci: upgrade GitHub Actions to use setup-node@v6 and checkout@v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/follow-redirects/follow-redirects/commit/86dc1f86e4b56bcd642c78384d51f10f123aea75\"\u003e\u003ccode\u003e86dc1f8\u003c/code\u003e\u003c/a\u003e Sanitizing input.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lodash` from 4.17.21 to 4.18.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lodash/lodash/releases\"\u003elodash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.18.1\u003c/h2\u003e\n\u003ch2\u003eBugs\u003c/h2\u003e\n\u003cp\u003eFixes a \u003ccode\u003eReferenceError\u003c/code\u003e issue in \u003ccode\u003elodash\u003c/code\u003e \u003ccode\u003elodash-es\u003c/code\u003e \u003ccode\u003elodash-amd\u003c/code\u003e and \u003ccode\u003elodash.template\u003c/code\u003e when using the \u003ccode\u003etemplate\u003c/code\u003e and \u003ccode\u003efromPairs\u003c/code\u003e functions from the modular builds. See \u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6167#issuecomment-4165269769\"\u003elodash/lodash#6167\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThese defects were related to how lodash distributions are built from the main branch using \u003ca href=\"https://github.com/lodash-archive/lodash-cli\"\u003ehttps://github.com/lodash-archive/lodash-cli\u003c/a\u003e. When internal dependencies change inside lodash functions, equivalent updates need to be made to a mapping in the lodash-cli. (hey, it was ahead of its time once upon a time!). We know this, but we missed it in the last release. It's the kind of thing that passes in CI, but fails bc the build is not the same thing you tested.\u003c/p\u003e\n\u003cp\u003eThere is no diff on main for this, but you can see the diffs for each of the npm packages on their respective branches:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003elodash\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-npm...4.18.1-npm\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-npm...4.18.1-npm\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash-es\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-es...4.18.1-es\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-es...4.18.1-es\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash-amd\u003c/code\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-amd...4.18.1-amd\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-amd...4.18.1-amd\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elodash.template\u003c/code\u003e\u003ca href=\"https://github.com/lodash/lodash/compare/4.18.0-npm-packages...4.18.1-npm-packages\"\u003ehttps://github.com/lodash/lodash/compare/4.18.0-npm-packages...4.18.1-npm-packages\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.18.0\u003c/h2\u003e\n\u003ch2\u003ev4.18.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lodash/lodash/compare/4.17.23...4.18.0\"\u003ehttps://github.com/lodash/lodash/compare/4.17.23...4.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e_.unset\u003c/code\u003e / \u003ccode\u003e_.omit\u003c/code\u003e\u003c/strong\u003e: Fixed prototype pollution via \u003ccode\u003econstructor\u003c/code\u003e/\u003ccode\u003eprototype\u003c/code\u003e path traversal (\u003ca href=\"https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh\"\u003eGHSA-f23m-r3pf-42rh\u003c/a\u003e, \u003ca href=\"https://github.com/lodash/lodash/commit/fe8d32eda854377349a4f922ab7655c8e5df9a0b\"\u003efe8d32e\u003c/a\u003e). Previously, array-wrapped path segments and primitive roots could bypass the existing guards, allowing deletion of properties from built-in prototypes. Now \u003ccode\u003econstructor\u003c/code\u003e and \u003ccode\u003eprototype\u003c/code\u003e are blocked unconditionally as non-terminal path keys, matching \u003ccode\u003ebaseSet\u003c/code\u003e. Calls that previously returned \u003ccode\u003etrue\u003c/code\u003e and deleted the property now return \u003ccode\u003efalse\u003c/code\u003e and leave the target untouched.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e_.template\u003c/code\u003e\u003c/strong\u003e: Fixed code injection via \u003ccode\u003eimports\u003c/code\u003e keys (\u003ca href=\"https://github.com/lodash/lodash/security/advisories/GHSA-r5fr-rjxr-66jc\"\u003eGHSA-r5fr-rjxr-66jc\u003c/a\u003e, CVE-2026-4800, \u003ca href=\"https://github.com/lodash/lodash/commit/879aaa93132d78c2f8d20c60279da9f8b21576d6\"\u003e879aaa9\u003c/a\u003e). Fixes an incomplete patch for CVE-2021-23337. The \u003ccode\u003evariable\u003c/code\u003e option was validated against \u003ccode\u003ereForbiddenIdentifierChars\u003c/code\u003e but \u003ccode\u003eimportsKeys\u003c/code\u003e was left unguarded, allowing code injection via the same \u003ccode\u003eFunction()\u003c/code\u003e constructor sink. \u003ccode\u003eimports\u003c/code\u003e keys containing forbidden identifier characters now throw \u003ccode\u003e\u0026quot;Invalid imports option passed into _.template\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd security notice for \u003ccode\u003e_.template\u003c/code\u003e in threat model and API docs (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6099\"\u003e#6099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003elower \u0026gt; upper\u003c/code\u003e behavior in \u003ccode\u003e_.random\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6115\"\u003e#6115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix quotes in \u003ccode\u003e_.compact\u003c/code\u003e jsdoc (\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003elodash.*\u003c/code\u003e modular packages\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lodash/lodash/pull/6157\"\u003eDiff\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe have also regenerated and published a select number of the \u003ccode\u003elodash.*\u003c/code\u003e modular packages.\u003c/p\u003e\n\u003cp\u003eThese modular packages had fallen out of sync significantly from the minor/patch updates to lodash. Specifically, we have brought the following packages up to parity w/ the latest lodash release because they have had CVEs on them in the past:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.orderby\"\u003elodash.orderby\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.tonumber\"\u003elodash.tonumber\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.trim\"\u003elodash.trim\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.trimend\"\u003elodash.trimend\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.sortedindexby\"\u003elodash.sortedindexby\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.zipobjectdeep\"\u003elodash.zipobjectdeep\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.unset\"\u003elodash.unset\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.omit\"\u003elodash.omit\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/lodash.template\"\u003elodash.template\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/lodash/lodash/commit/cb0b9b9212521c08e3eafe7c8cb0af1b42b6649e\"\u003e\u003ccode\u003ecb0b9b9\u003c/code\u003e\u003c/a\u003e release(patch): bump main to 4.18.1 (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/75535f57883b7225adb96de1cfc1cd4169cfcb51\"\u003e\u003ccode\u003e75535f5\u003c/code\u003e\u003c/a\u003e chore: prune stale advisory refs (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/62e91bc6a39c98d85b9ada8c44d40593deaf82a4\"\u003e\u003ccode\u003e62e91bc\u003c/code\u003e\u003c/a\u003e docs: remove n_ Node.js \u0026lt; 6 REPL note from README (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6165\"\u003e#6165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/59be2de61f8aa9461c7856533b51d31b7d8babc4\"\u003e\u003ccode\u003e59be2de\u003c/code\u003e\u003c/a\u003e release(minor): bump to 4.18.0 (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/af634573030f979194871da7c68f79420992f53d\"\u003e\u003ccode\u003eaf63457\u003c/code\u003e\u003c/a\u003e fix: broken tests for _.template 879aaa9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/1073a7693e1727e0cf3641e5f71f75ddcf8de7c0\"\u003e\u003ccode\u003e1073a76\u003c/code\u003e\u003c/a\u003e fix: linting issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/879aaa93132d78c2f8d20c60279da9f8b21576d6\"\u003e\u003ccode\u003e879aaa9\u003c/code\u003e\u003c/a\u003e fix: validate imports keys in _.template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/fe8d32eda854377349a4f922ab7655c8e5df9a0b\"\u003e\u003ccode\u003efe8d32e\u003c/code\u003e\u003c/a\u003e fix: block prototype pollution in baseUnset via constructor/prototype traversal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/18ba0a32f42fd02117f096b032f89c984173462d\"\u003e\u003ccode\u003e18ba0a3\u003c/code\u003e\u003c/a\u003e refactor(fromPairs): use baseAssignValue for consistent assignment (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6153\"\u003e#6153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lodash/lodash/commit/b8190803d48d60b8c80ad45d39125f32fa618cb2\"\u003e\u003ccode\u003eb819080\u003c/code\u003e\u003c/a\u003e ci: add dist sync validation workflow (\u003ca href=\"https://redirect.github.com/lodash/lodash/issues/6137\"\u003e#6137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lodash/lodash/compare/4.17.21...4.18.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `picomatch` from 2.3.1 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micromatch/picomatch/releases\"\u003epicomatch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cp\u003eThis is a security release fixing several security relevant issues.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: exception when glob pattern contains constructor by \u003ca href=\"https://github.com/Jason3S\"\u003e\u003ccode\u003e@​Jason3S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/micromatch/picomatch/pull/144\"\u003emicromatch/picomatch#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/micromatch/picomatch/security/advisories/GHSA-c2c7-rcm5-vvqj\"\u003eCVE-2026-33671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for \u003ca href=\"https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p\"\u003eCVE-2026-33672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2\"\u003ehttps://github.com/micromatch/picomatch/compare/2.3.1...2.3.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/micromatch/picomatch/blob/master/CHANGELOG.md\"\u003epicomatch's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease history\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eAll notable changes to this project will be documented in this file.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"http://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e\nand this project adheres to \u003ca href=\"http://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eChangelogs are for humans, not machines.\u003c/li\u003e\n\u003cli\u003eThere should be an entry for every single version.\u003c/li\u003e\n\u003cli\u003eThe same types of changes should be grouped.\u003c/li\u003e\n\u003cli\u003eVersions and sections should be linkable.\u003c/li\u003e\n\u003cli\u003eThe latest version comes first.\u003c/li\u003e\n\u003cli\u003eThe release date of each versions is displayed.\u003c/li\u003e\n\u003cli\u003eMention whether you follow Semantic Versioning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eChangelog entries are classified using the following labels \u003cem\u003e(from \u003ca href=\"http://keepachangelog.com/\"\u003ekeep-a-changelog\u003c/a\u003e\u003c/em\u003e):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAdded\u003c/code\u003e for new features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChanged\u003c/code\u003e for changes in existing functionality.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDeprecated\u003c/code\u003e for soon-to-be removed features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRemoved\u003c/code\u003e for now removed features.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFixed\u003c/code\u003e for any bug fixes.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSecurity\u003c/code\u003e in case of vulnerabilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e4.0.0 (2024-02-07)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bad text values in parse \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/126\"\u003e#126\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/connor4312\"\u003e\u003ccode\u003e@​connor4312\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove process global to work outside of node \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/129\"\u003e#129\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/styfle\"\u003e\u003ccode\u003e@​styfle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sideEffects to package.json \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/128\"\u003e#128\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/frandiox\"\u003e\u003ccode\u003e@​frandiox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eos\u003c/code\u003e, make compatible browser environment. See \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/124\"\u003e#124\u003c/a\u003e, thanks to \u003ca href=\"https://github.com/gwsbhqt\"\u003e\u003ccode\u003e@​gwsbhqt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/micromatch/picomatch/commit/81cba8d4b767cab3cb29d26eb4f691eed75b73b2\"\u003e\u003ccode\u003e81cba8d\u003c/code\u003e\u003c/a\u003e Publish 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/fc1f6b69006e9435caf8fb40d8aff378bc0b7bce\"\u003e\u003ccode\u003efc1f6b6\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/eec17aee5428a7249e9ca5adbb8a0d28fa29619b\"\u003e\u003ccode\u003eeec17ae\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/78f8ca4362d9e66cadea97b93e292f10096452ed\"\u003e\u003ccode\u003e78f8ca4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/156\"\u003e#156\u003c/a\u003e from micromatch/backport-144\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micromatch/picomatch/commit/3f4f10eaa65bf3a52e8f2999674cd27e11fa3c9b\"\u003e\u003ccode\u003e3f4f10e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/micromatch/picomatch/issues/144\"\u003e#144\u003c/a\u003e from Jason3S/jdent-object-properties\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.2.8 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdate dependencies in two apps to pick up security and stability fixes: `axios` 1.16.0 in ThinkPath Chatbot; `better-auth` 1.6.11 and `next` 15.5.18 in the AI Travel Planner client. This includes security patches (e.g., lodash, picomatch) and behavior changes in request limits and auth flows.\n\n- **Dependencies**\n  - ThinkPath Chatbot (`advanced_llm_apps/thinkpath_chatbot_app`)\n    - `axios` → 1.16.0 (fetch adapter now enforces `maxBodyLength`/`maxContentLength`; redirect/headers/timeouts fixes)\n    - Indirect bumps: `lodash` 4.18.1 (security), `minimatch` 3.1.5, `picomatch` 2.3.2 (security), `follow-redirects` 1.16.0\n  - AI Travel Planner client (`advanced_ai_agents/.../client`)\n    - `better-auth` → 1.6.11 (race-condition fixes; stricter defaults for account linking and invitations)\n    - `next` → 15.5.18\n\n- **Migration**\n  - Review `axios` limits: if you set `maxContentLength`/`maxBodyLength` on the fetch adapter, large requests may now be rejected; adjust as needed.\n  - For `better-auth`:\n    - If you relied on implicit OAuth linking without a verified local email, set `account.accountLinking.requireLocalEmailVerified: false` to keep legacy behavior (short-term).\n    - Ensure custom device-code verification pages run with an authenticated session.\n\n\u003csup\u003eWritten for commit eaa1d861629f846a824f35489bc2b014c580ad2e. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/EmilynnJ/awesome-llm-apps/pull/7?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/EmilynnJ/awesome-llm-apps/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmilynnJ%2Fawesome-llm-apps/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"1.6.5","new_version":"1.6.11","update_type":"patch","path":"the npm_and_yarn group across 1 directory","pr_created_at":"2026-06-04T15:18:28.000Z","version_change":"1.6.5 → 1.6.11","issue":{"uuid":"4589894223","node_id":"PR_kwDOQUvUxs7ivLbS","number":19,"state":"closed","title":"chore(deps-dev): bump better-auth from 1.6.5 to 1.6.11 in the npm_and_yarn group across 1 directory","user":"dependabot[bot]","labels":["dependencies","javascript","released"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T21:31:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T15:18:28.000Z","updated_at":"2026-06-04T21:50:10.000Z","time_to_close":22372,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"better-auth","old_version":"1.6.5","new_version":"1.6.11","repository_url":"https://github.com/better-auth/better-auth"}],"path":"the npm_and_yarn group across 1 directory","ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 1 update in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth).\n\nUpdates `better-auth` from 1.6.5 to 1.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.11\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an error code to the \u003ccode\u003echange-email-disabled\u003c/code\u003e response to help clients identify the rejection reason (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the anonymous plugin to correctly call \u003ccode\u003eonLinkAccount\u003c/code\u003e when email verification triggers auto sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed device authorization to bind pending codes to the verifying session, preventing any authenticated user from approving or denying another user's device code (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition in the magic-link plugin that allowed concurrent requests to mint multiple sessions from the same single-use token (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to require \u003ccode\u003eclient_secret\u003c/code\u003e for confidential clients on refresh token grants and use constant-time secret comparison (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHardened \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins to follow OAuth 2.1: removed \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, defaulted plain PKCE off, and rejected incomplete PKCE parameters (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an invitation takeover vulnerability by enabling \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e by default and extending the verification gate to \u003ccode\u003egetInvitation\u003c/code\u003e and \u003ccode\u003elistUserInvitations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a race condition in the OAuth authorization-code grant that allowed concurrent token-exchange requests to mint multiple token sets from the same authorization code\u003c/li\u003e\n\u003cli\u003eFixed a race condition in OAuth refresh-token rotation that allowed concurrent requests to fork refresh token families, and added a \u003ccode\u003eunique\u003c/code\u003e constraint on \u003ccode\u003eoauthRefreshToken.token\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed OAuth account linking to require a verified local email before linking an OAuth identity to a local account (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an invalid import list in the instrumentation module (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9582\"\u003e#9582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened \u003ccode\u003eadvanced.ipAddress.ipv6Subnet\u003c/code\u003e to accept any valid IPv6 prefix length (0-128) instead of a narrow set of values (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9545\"\u003e#9545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/scim\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed session cleanup to run when admin, anonymous, or SCIM operations delete a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egenerateSCIMToken\u003c/code\u003e to reject \u003ccode\u003eproviderId\u003c/code\u003e values that collide with built-in account providers, preventing tokens from authenticating against unintended accounts (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9579\"\u003e#9579\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/f41514ef07cfafc5dbf463bd1500aee6575d88a7/packages/scim/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SSO provider registration to require an org admin or owner role, preventing any organization member from registering providers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9220\"\u003e#9220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an SSRF vulnerability by validating user-supplied OIDC endpoint URLs against a public-routable host allowlist at provider registration and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9574\"\u003e#9574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9568\"\u003e#9568\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003einternalAdapter.consumeVerificationValue(identifier)\u003c/code\u003e: atomically consume a verification row keyed by identifier. The first concurrent caller receives the row; later racers receive \u003ccode\u003enull\u003c/code\u003e. Backed by a new \u003ccode\u003eDBAdapter.consumeOne\u003c/code\u003e primitive implemented natively per adapter (memory, mongo, drizzle, kysely, prisma), with a \u003ccode\u003etransaction(findMany + delete)\u003c/code\u003e factory fallback. \u003ccode\u003eSecondaryStorage.getAndDelete\u003c/code\u003e is added as an optional companion; Redis ships it via an atomic Lua get-and-delete operation for compatibility with Redis versions before 6.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9162\"\u003e#9162\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: cleanup sessions when admin, anonymous, or SCIM deletes a user\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9573\"\u003e#9573\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(device-authorization): require verify-time ownership claim for approve/deny\u003c/p\u003e\n\u003cp\u003ePending device codes were not bound to the user who entered the code on the verification page until approval, leaving a window where any authenticated user could approve or deny another user's pending code by knowing the \u003ccode\u003euser_code\u003c/code\u003e. \u003ccode\u003eGET /device\u003c/code\u003e now claims the pending row for the calling session, and \u003ccode\u003ePOST /device/approve\u003c/code\u003e and \u003ccode\u003ePOST /device/deny\u003c/code\u003e require the calling session to match the claimed owner. Custom verification pages must be served to an authenticated session for the flow to succeed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8948\"\u003e#8948\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: add error code to change-email-disabled\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9572\"\u003e#9572\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the \u003ccode\u003emagic-link\u003c/code\u003e plugin's verify handler that allowed two concurrent requests to mint two sessions from the same single-use token. The handler now consumes the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e, so a given magic link mints at most one session regardless of concurrency. The \u003ccode\u003eallowedAttempts\u003c/code\u003e option is retained for backward compatibility but no longer multiplies successful redemptions; tokens are single-use. The second-redeem error code changes from \u003ccode\u003eATTEMPTS_EXCEEDED\u003c/code\u003e to \u003ccode\u003eINVALID_TOKEN\u003c/code\u003e (the token no longer exists after consumption).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix race condition in the OAuth authorization-code grant: two concurrent token-exchange requests sharing the same \u003ccode\u003ecode\u003c/code\u003e could both pass the find step before either delete completed and each mint an independent access/refresh/id token set. The \u003ccode\u003eauthorization_code\u003c/code\u003e handler in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, plus the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins in \u003ccode\u003ebetter-auth\u003c/code\u003e, now consume the verification row atomically via \u003ccode\u003einternalAdapter.consumeVerificationValue\u003c/code\u003e. The first caller mints tokens; concurrent racers receive \u003ccode\u003einvalid_grant\u003c/code\u003e (RFC 6749 §5.2). Malformed-verification-value branches in \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e previously returned a project-specific \u003ccode\u003einvalid_verification\u003c/code\u003e code; those are now \u003ccode\u003einvalid_grant\u003c/code\u003e so spec-compliant clients can branch on the standard code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9578\"\u003e#9578\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003ehandleOAuthUserInfo\u003c/code\u003e (used by every social provider, generic-oauth, oauth-proxy, SSO OIDC and SAML, and idToken sign-in) implicitly linked a returning OAuth identity into a local user row whenever the IdP's \u003ccode\u003eemail_verified\u003c/code\u003e claim was true or the provider was trusted. The local row's own \u003ccode\u003eemailVerified\u003c/code\u003e flag was read only to flip it after linking, never as a precondition. \u003ccode\u003ePOST /sign-up/email\u003c/code\u003e creates rows with \u003ccode\u003eemailVerified: false\u003c/code\u003e for any caller, so an attacker who pre-registered a victim's email at the application could wait for the legitimate user's first OAuth sign-in: the IdP's verified claim was treated as ownership proof, and the victim's IdP identity was linked into the attacker-owned row.\u003c/p\u003e\n\u003cp\u003eThe implicit-link gate now requires \u003ccode\u003edbUser.user.emailVerified === true\u003c/code\u003e in addition to the provider trust check by default. A new \u003ccode\u003eaccount.accountLinking.requireLocalEmailVerified\u003c/code\u003e option (default \u003ccode\u003etrue\u003c/code\u003e) is the public surface for this gate. Apps whose users sign up via OAuth without verifying their email locally can opt back into the legacy behavior with \u003ccode\u003eaccount: { accountLinking: { requireLocalEmailVerified: false } }\u003c/code\u003e; understand the takeover risk before doing so. The option is \u003ccode\u003e@deprecated\u003c/code\u003e; a FIXME at each gate site points at the next-minor follow-up on \u003ccode\u003enext\u003c/code\u003e that drops the option and makes the gate unconditional.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eone-tap\u003c/code\u003e plugin honored its own copy of the gate and was updated identically: \u003ccode\u003erequireLocalEmailVerified\u003c/code\u003e and \u003ccode\u003eaccountLinking.disableImplicitLinking\u003c/code\u003e both apply on \u003ccode\u003e/one-tap/callback\u003c/code\u003e. The \u003ccode\u003eemail_verified\u003c/code\u003e claim from the Google ID token is now normalized via \u003ccode\u003etoBoolean\u003c/code\u003e so a string \u003ccode\u003e\u0026quot;false\u0026quot;\u003c/code\u003e is treated as falsy.\u003c/p\u003e\n\u003cp\u003eTest fixtures across \u003ccode\u003eadmin\u003c/code\u003e, \u003ccode\u003eoidc-provider\u003c/code\u003e, \u003ccode\u003emcp\u003c/code\u003e, \u003ccode\u003egeneric-oauth\u003c/code\u003e, \u003ccode\u003elast-login-method\u003c/code\u003e, and \u003ccode\u003eoauth-provider\u003c/code\u003e suites now mark users \u003ccode\u003eemailVerified: true\u003c/code\u003e via a \u003ccode\u003edatabaseHooks.user.create.before\u003c/code\u003e hook (or the \u003ccode\u003edisableTestUser\u003c/code\u003e opt-in on the oauth-provider RP) so the suites continue to exercise their role/flow logic rather than the new gate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9507\"\u003e#9507\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/GautamBytes\"\u003e\u003ccode\u003e@​GautamBytes\u003c/code\u003e\u003c/a\u003e! - Preserve exact access-control role statement types so predefined organization roles expose only their configured permissions in TypeScript.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9577\"\u003e#9577\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - The organization plugin's invitation recipient endpoints (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e, \u003ccode\u003elistUserInvitations\u003c/code\u003e) treated \u003ccode\u003einvitation.email.toLowerCase() === session.user.email.toLowerCase()\u003c/code\u003e as proof that the calling user owned the invited address. A session-authenticated user whose email matched but was never verified passed the gate, so anyone who could pre-register an unverified account at a victim's email could accept invitations addressed to that email. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e opt-in option closed the gap only when explicitly enabled and did not protect \u003ccode\u003egetInvitation\u003c/code\u003e or \u003ccode\u003elistUserInvitations\u003c/code\u003e at all.\u003c/p\u003e\n\u003cp\u003eThe gate is now applied on all four recipient endpoints and the \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option default flips from \u003ccode\u003efalse\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e so existing apps are secure by default. Apps that intentionally accept invitations from unverified accounts can keep the legacy permissive behavior with \u003ccode\u003eorganization({ requireEmailVerificationOnInvitation: false })\u003c/code\u003e, but they should understand the takeover risk before doing so. Server-side calls to \u003ccode\u003elistUserInvitations\u003c/code\u003e with \u003ccode\u003ectx.query.email\u003c/code\u003e and no session continue to bypass the gate (the caller is trusted).\u003c/p\u003e\n\u003cp\u003eThe option is \u003ccode\u003e@deprecated\u003c/code\u003e. The next-minor release on \u003ccode\u003enext\u003c/code\u003e removes it entirely and makes the gate unconditional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9548\"\u003e#9548\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dipan-ck\"\u003e\u003ccode\u003e@​dipan-ck\u003c/code\u003e\u003c/a\u003e! - anonymous plugin now correctly calls onLinkAccount when email verification triggers auto sign-in\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9576\"\u003e#9576\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): authenticate confidential clients on refresh_token grant and harden secret comparison\u003c/p\u003e\n\u003cp\u003eRefresh-token grants on the legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now require the registered \u003ccode\u003eclient_secret\u003c/code\u003e from confidential clients, matching the \u003ccode\u003eauthorization_code\u003c/code\u003e path. Public clients (where \u003ccode\u003ecode_verifier\u003c/code\u003e substitutes for the secret on the auth-code grant) continue to skip secret validation. Secret comparisons across both plugins now use constant-time equality. The \u003ccode\u003e/mcp/token\u003c/code\u003e endpoint no longer emits a wildcard CORS \u003ccode\u003eAccess-Control-Allow-Origin: *\u003c/code\u003e header.\u003c/p\u003e\n\u003cp\u003eThese plugins are deprecated in favor of \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which is unaffected. New deployments should adopt the replacement; this patch keeps existing deployments protected while migrating.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9575\"\u003e#9575\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(oidc-provider, mcp): drop \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e from advertised signing algorithms, default \u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e, and reject missing PKCE method\u003c/p\u003e\n\u003cp\u003eThe legacy \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins now follow OAuth 2.1 (RFC 9700) on three protocol gates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eid_token_signing_alg_values_supported\u003c/code\u003e (oidc-provider, mcp) and \u003ccode\u003eresource_signing_alg_values_supported\u003c/code\u003e (mcp) no longer include \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e. Relying parties that negotiate from this list will no longer be steered toward unsigned tokens.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eallowPlainCodeChallengeMethod\u003c/code\u003e defaults to \u003ccode\u003efalse\u003c/code\u003e. Callers who need \u003ccode\u003eplain\u003c/code\u003e PKCE must opt in explicitly.\u003c/li\u003e\n\u003cli\u003eUnder the secure default the authorize endpoint no longer silently rewrites a missing \u003ccode\u003ecode_challenge_method\u003c/code\u003e to \u003ccode\u003e\u0026quot;plain\u0026quot;\u003c/code\u003e before the allowlist check. A request that provides \u003ccode\u003ecode_challenge\u003c/code\u003e without \u003ccode\u003ecode_challenge_method\u003c/code\u003e is now rejected with \u003ccode\u003einvalid_request\u003c/code\u003e; the inverse case (\u003ccode\u003ecode_challenge_method\u003c/code\u003e without \u003ccode\u003ecode_challenge\u003c/code\u003e) is also rejected so no inconsistent PKCE state is persisted on the authorization code record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNon-breaking for callers who never relied on \u003ccode\u003e\u0026quot;none\u0026quot;\u003c/code\u003e advertisement or the plain default. Callers who explicitly set \u003ccode\u003eallowPlainCodeChallengeMethod: true\u003c/code\u003e keep \u003ccode\u003eplain\u003c/code\u003e on the allowlist \u003cstrong\u003eand\u003c/strong\u003e retain the legacy \u0026quot;missing method defaults to plain\u0026quot; behavior for backward compatibility, so existing integrations that opted into plain PKCE continue to work. The next-minor on \u003ccode\u003enext\u003c/code\u003e will drop both the \u003ccode\u003eplain\u003c/code\u003e allowlist entry and this fallback; until then, the option is the single explicit knob for legacy behavior. Migrate to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e for the canonical, spec-aligned implementation.\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/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): drop \u0026quot;none\u0026quot; alg, default plain PKCE off, reject miss...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e fix(access): preserve exact role statement types (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9507\"\u003e#9507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e fix(oauth): block OAuth linking to unverified local accounts (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9578\"\u003e#9578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e fix(organization): default-on \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e \u0026amp; extend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e fix(oidc-provider, mcp): authenticate confidential clients on refresh_token g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e fix(magic-link): consume verification token atomically on verify (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9572\"\u003e#9572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e fix(device-authorization): bind approval to verifier session (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9573\"\u003e#9573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e refactor(db): rename \u003ccode\u003eclaimOne\u003c/code\u003e adapter primitive to \u003ccode\u003econsumeOne\u003c/code\u003e (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9568\"\u003e#9568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.11/packages/better-auth\"\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=better-auth\u0026package-manager=npm_and_yarn\u0026previous-version=1.6.5\u0026new-version=1.6.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/yultyyev/better-auth-firebase-auth/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/yultyyev/better-auth-firebase-auth/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yultyyev%2Fbetter-auth-firebase-auth/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"1.4.17","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-03T09:56:54.000Z","version_change":"1.4.17 → 1.6.2","issue":{"uuid":"4578759680","node_id":"PR_kwDOPkCIjs7iKXCB","number":52,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 4 directories with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-07T12:29:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T09:56:54.000Z","updated_at":"2026-06-07T12:29:26.000Z","time_to_close":354742,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":8,"packages":[{"name":"better-auth","old_version":"1.4.17","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@apollo/server","old_version":"4.12.2","new_version":"5.5.0","repository_url":"https://github.com/apollographql/apollo-server"},{"name":"multer","old_version":"2.0.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"nodemailer","old_version":"6.10.1","new_version":"8.0.5","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"vitest","old_version":"4.0.7","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"ws","old_version":"8.18.3","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"}],"path":null,"ecosystem":"npm"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the npm_and_yarn group with 3 updates in the /apps/admin-app directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [postcss](https://github.com/postcss/postcss) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 6 updates in the /apps/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.17` | `1.6.2` |\n| [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) | `4.12.2` | `5.5.0` |\n| [multer](https://github.com/expressjs/multer) | `2.0.2` | `2.1.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `6.10.1` | `8.0.5` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.7` | `4.1.0` |\n| [ws](https://github.com/websockets/ws) | `8.18.3` | `8.20.1` |\n\nBumps the npm_and_yarn group with 3 updates in the /apps/form-app directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [postcss](https://github.com/postcss/postcss) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 3 updates in the /apps/form-viewer directory: [postcss](https://github.com/postcss/postcss), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.17 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.6 to 8.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed XSS via unescaped \u003ccode\u003e\u0026lt;/style\u0026gt;\u003c/code\u003e in non-bundler cases (by \u003ca href=\"https://github.com/TharVid\"\u003e\u003ccode\u003e@​TharVid\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up source map encoding paring in case of the error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed XSS via unescaped \u003ccode\u003e\u0026lt;/style\u0026gt;\u003c/code\u003e in non-bundler cases (by \u003ca href=\"https://github.com/TharVid\"\u003e\u003ccode\u003e@​TharVid\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up source map encoding paring in case of the error.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/33b9790263dc1562a46ce45d9532bd63e95b7986\"\u003e\u003ccode\u003e33b9790\u003c/code\u003e\u003c/a\u003e Release 8.5.10 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/536c79e4b01e58a3a56b09c3c0cf2323f4b9a28b\"\u003e\u003ccode\u003e536c79e\u003c/code\u003e\u003c/a\u003e Escape \u0026lt;/style\u0026gt; in CSS output (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2074\"\u003e#2074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/afa96b2a139ce625c4d27973313479c7c85f39d4\"\u003e\u003ccode\u003eafa96b2\u003c/code\u003e\u003c/a\u003e Update dependencies (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2073\"\u003e#2073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/effe88bb87cabdc1876e02adbdd30f392f19f40d\"\u003e\u003ccode\u003eeffe88b\u003c/code\u003e\u003c/a\u003e Typo (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2072\"\u003e#2072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/3ee79a2c4a11e41d52db50b444eebe38299495ad\"\u003e\u003ccode\u003e3ee79a2\u003c/code\u003e\u003c/a\u003e Thread model (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2071\"\u003e#2071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/2e0683daca4dc2919211b03774f6b2d137136c01\"\u003e\u003ccode\u003e2e0683d\u003c/code\u003e\u003c/a\u003e Create incident response docs (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/fe88ac29c06b7b218be32994cdc6ca1525bdf2c9\"\u003e\u003ccode\u003efe88ac2\u003c/code\u003e\u003c/a\u003e Release 8.5.9 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/c551632496b87ab3f1965bfda5dc386b6c71963e\"\u003e\u003ccode\u003ec551632\u003c/code\u003e\u003c/a\u003e Avoid RegExp when we can use simple JS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/89a6b744060eb8dee743351c785a9fbe37d4525a\"\u003e\u003ccode\u003e89a6b74\u003c/code\u003e\u003c/a\u003e Move SECURITY.txt for docs folder to keep GitHub page cleaner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/6ceb8a46af9f9de821faee98f861bdf84617347b\"\u003e\u003ccode\u003e6ceb8a4\u003c/code\u003e\u003c/a\u003e Create SECURITY.md\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.6...8.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 5.4.19 to 6.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.4.1\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.1/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.0/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.3.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.3.7/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev6.3.6\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev5.4.21\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev5.4.20\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/ca88ed7398288ce0c60176ac9a6392f10654c67c/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.2 (2026-04-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003efe28e47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22159\"\u003e#22159\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22163\"\u003e#22163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003eca4da5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22161\"\u003e#22161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.1 (2025-10-20)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e1114b5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20968\"\u003e#20968\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20969\"\u003e#20969\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.4.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003eca6455e\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20932\"\u003e#20932\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.7 (2025-10-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003ec59a222\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20940\"\u003e#20940\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.6 (2025-09-08)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply \u003ccode\u003efs.strict\u003c/code\u003e check to HTML files (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20736\"\u003e#20736\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ab19ea9fcb66f544328f442cf6e70f7c0528d5f\"\u003e0ab19ea\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20736\"\u003e#20736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: upgrade sirv to 3.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20735\"\u003e#20735\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e11d24008b97d4ca731ecc1a3b95260a6d12e7e0\"\u003ee11d240\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20735\"\u003e#20735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: detect ts support via \u003ccode\u003eprocess.features\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20544\"\u003e#20544\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7d9922972b62329d37a71d4da5a4a382d0bf8a79\"\u003e7d99229\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/20544\"\u003e#20544\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.5 (2025-05-05)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(ssr): handle uninitialized export access as undefined (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19959\"\u003e#19959\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fd38d076fe2455aac1e00a7b15cd51159bf12bb5\"\u003efd38d07\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19959\"\u003e#19959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.4 (2025-04-30)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: check static serve file inside sirv (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19965\"\u003e#19965\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c22c43de612eebb6c182dd67850c24e4fab8cacb\"\u003ec22c43d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19965\"\u003e#19965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(optimizer): return plain object when using \u003ccode\u003erequire\u003c/code\u003e to import externals in optimized dependenci (\u003ca href=\"https://github.com/vitejs/vite/commit/efc5eab253419fde0a6a48b8d2f233063d6a9643\"\u003eefc5eab\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19940\"\u003e#19940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove duplicate plugin context type (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19935\"\u003e#19935\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d6d01c2292fa4f9603e05b95d81c8724314c20e0\"\u003ed6d01c2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19935\"\u003e#19935\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.3.3 (2025-04-24)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ignore malformed uris in tranform middleware (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19853\"\u003e#19853\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e4d520141bcd83ad61f16767348b4a813bf9340a\"\u003ee4d5201\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/19853\"\u003e#19853\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6b3fad02abd550bd7b79934ff92c58dbd7f33045\"\u003e\u003ccode\u003e6b3fad0\u003c/code\u003e\u003c/a\u003e release: v6.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003e\u003ccode\u003eca4da5d\u003c/code\u003e\u003c/a\u003e fix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003e\u003ccode\u003efe28e47\u003c/code\u003e\u003c/a\u003e fix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5487f4f641f70c47ea05fd101a4319897df048b3\"\u003e\u003ccode\u003e5487f4f\u003c/code\u003e\u003c/a\u003e release: v6.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e\u003ccode\u003e1114b5d\u003c/code\u003e\u003c/a\u003e fix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f12697c0f64b9a37196b9ab218a0911829d5b103\"\u003e\u003ccode\u003ef12697c\u003c/code\u003e\u003c/a\u003e release: v6.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003e\u003ccode\u003eca6455e\u003c/code\u003e\u003c/a\u003e feat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0e173d83681daa31be10fa8a62d56b1ec84690af\"\u003e\u003ccode\u003e0e173d8\u003c/code\u003e\u003c/a\u003e release: v6.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003e\u003ccode\u003ec59a222\u003c/code\u003e\u003c/a\u003e fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3f337c5e24504e51188d29c970de1416ee523dbb\"\u003e\u003ccode\u003e3f337c5\u003c/code\u003e\u003c/a\u003e release: v6.3.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v6.4.2/packages/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 vite since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.4.17 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@apollo/server` from 4.12.2 to 5.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apollographql/apollo-server/releases\"\u003e@​apollo/server's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server-integration-testsuite\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/glasser\"\u003e\u003ccode\u003e@​glasser\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server-integration-testsuite\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​apollo/server\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/phryneas\"\u003e\u003ccode\u003e@​phryneas\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md\"\u003e@​apollo/server's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.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/apollographql/apollo-server/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/glasser\"\u003e\u003ccode\u003e@​glasser\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eApollo Server now rejects GraphQL \u003ccode\u003eGET\u003c/code\u003e requests which contain a \u003ccode\u003eContent-Type\u003c/code\u003e header other than \u003ccode\u003eapplication/json\u003c/code\u003e (with optional parameters such as \u003ccode\u003e; charset=utf-8\u003c/code\u003e). Any other value is now rejected with a 415 status code.\u003c/p\u003e\n\u003cp\u003e(GraphQL \u003ccode\u003eGET\u003c/code\u003e requests without a \u003ccode\u003eContent-Type\u003c/code\u003e header are still allowed, though they do still need to contain a non-empty \u003ccode\u003eX-Apollo-Operation-Name\u003c/code\u003e or \u003ccode\u003eApollo-Require-Preflight\u003c/code\u003e header to be processed if the default CSRF prevention feature is enabled.)\u003c/p\u003e\n\u003cp\u003eThis improvement makes Apollo Server's CSRF more resistant to browsers which implement CORS in non-spec-compliant ways. Apollo is aware of one browser which as of March 2026 has a bug which allows an attacker to circumvent Apollo Server's CSRF prevention feature to carry out read-only XS-Search-style CSRF attacks. The browser vendor is in the process of patching this vulnerability; upgrading Apollo Server to v5.5.0 mitigates this vulnerability.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf your server uses cookies (or HTTP Basic Auth) for authentication, Apollo encourages you to upgrade to v5.5.0.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is technically a backwards-incompatible change. Apollo is not aware of any GraphQL clients which provide non-empty \u003ccode\u003eContent-Type\u003c/code\u003e headers with \u003ccode\u003eGET\u003c/code\u003e requests with types other than \u003ccode\u003eapplication/json\u003c/code\u003e. If your use case requires such requests, please \u003ca href=\"https://github.com/apollographql/apollo-server/issues\"\u003efile an issue\u003c/a\u003e and we may add more configurability in a follow-up release.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/apollographql/apollo-server/security/advisories/GHSA-9q82-xgwf-vj6h\"\u003eadvisory GHSA-9q82-xgwf-vj6h\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/phryneas\"\u003e\u003ccode\u003e@​phryneas\u003c/code\u003e\u003c/a\u003e! - ⚠️ SECURITY \u003ccode\u003e@apollo/server/standalone\u003c/code\u003e:\u003c/p\u003e\n\u003cp\u003eThe default configuration of \u003ccode\u003estartStandaloneServer\u003c/code\u003e was vulnerable to denial of service (DoS) attacks through specially crafted request bodies with exotic character set encodings.\u003c/p\u003e\n\u003cp\u003eIn accordance with \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7159#section-8.1\"\u003eRFC 7159\u003c/a\u003e, we now only accept request bodies encoded in UTF-8, UTF-16 (LE or BE), or UTF-32 (LE or BE).\nAny other character set will be rejected with a \u003ccode\u003e415 Unsupported Media Type\u003c/code\u003e error.\nNote that the more recent JSON RFC, \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc8259#section-8.1\"\u003eRFC 8259\u003c/a\u003e, is more strict and will only allow UTF-8.\nSince this is a minor release, we have chosen to remain compatible with the more permissive RFC 7159 for now.\nIn a future major release, we may tighten this restriction further to only allow UTF-8.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf you were not using \u003ccode\u003estartStandaloneServer\u003c/code\u003e, you were not affected by this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eGenerally, please note that we provide \u003ccode\u003estartStandaloneServer\u003c/code\u003e as a convenience tool for quickly getting started with Apollo Server.\nFor production deployments, we recommend using Apollo Server with a more fully-featured web server framework such as Express, Koa, or Fastify, where you have more control over security-related configuration options.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/apollographql/apollo-server/pull/8062\"\u003e#8062\u003c/a\u003e \u003ca href=\"https://github.com/apollographql/apollo-server/commit/8e54e5827791666e36082ad49d19c77f050355ac\"\u003e\u003ccode\u003e8e54e58\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/cristunaranjo\"\u003e\u003ccode\u003e@​cristunaranjo\u003c/code\u003e\u003c/a\u003e! - Allow configuration of graphql execution options (maxCoercionErrors)\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003econst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  executionOptions: {\n    maxCoercionErrors: 50,\n  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/64c0e1bb5d79d571bf448c35aea0b31097e6ce9d\"\u003e\u003ccode\u003e64c0e1b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8192\"\u003e#8192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ada12001c4e95b5c779d80314a5a32e33087b5cf\"\u003e\u003ccode\u003eada1200\u003c/code\u003e\u003c/a\u003e Reject GET requests with a Content-Type other than application/json (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8191\"\u003e#8191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/ad45d1505d867de4c2761b7935855445ef7641e7\"\u003e\u003ccode\u003ead45d15\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8179\"\u003e#8179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/d25a5bdc377826ad424fcf7f8d1d062055911643\"\u003e\u003ccode\u003ed25a5bd\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/443e54747d44c1d7c213d019936514dec024b450\"\u003e\u003ccode\u003e443e547\u003c/code\u003e\u003c/a\u003e fix repository urls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/28d6d47ff636751807141267c329acb736c177b6\"\u003e\u003ccode\u003e28d6d47\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8172\"\u003e#8172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/26320bccd77c6074d4a38119294f153f64e52d96\"\u003e\u003ccode\u003e26320bc\u003c/code\u003e\u003c/a\u003e feat: Allow configuration of graphql validation options \u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8014\"\u003e#8014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/f2c16a7caff895a8b97c5a800405795cb19ba624\"\u003e\u003ccode\u003ef2c16a7\u003c/code\u003e\u003c/a\u003e bump dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/8e54e5827791666e36082ad49d19c77f050355ac\"\u003e\u003ccode\u003e8e54e58\u003c/code\u003e\u003c/a\u003e feat: Allow configuration of graphql execution options(maxCoercionErrors)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apollographql/apollo-server/commit/7be3686ae62fb04bb4d0bfddb465d5e89631d4e4\"\u003e\u003ccode\u003e7be3686\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/apollographql/apollo-server/tree/HEAD/packages/server/issues/8163\"\u003e#8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apollographql/apollo-server/commits/@apollo/server@5.5.0/packages/server\"\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@​apollo/server\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `multer` from 2.0.2 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/multer/releases\"\u003emulter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.1\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3520\"\u003eCVE-2026-3520\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2\"\u003eGHSA-5528-5vmv-3xc2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add node version to 25.x in CI by \u003ca href=\"https://github.com/imangas\"\u003e\u003ccode\u003e@​imangas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1372\"\u003eexpressjs/multer#1372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ossf/scorecard-action from 2.4.0 to 2.4.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1378\"\u003eexpressjs/multer#1378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump coverallsapp/github-action from 1.2.5 to 2.3.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1377\"\u003eexpressjs/multer#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump github/codeql-action from 3.24.7 to 4.32.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1376\"\u003eexpressjs/multer#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/upload-artifact from 4.5.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1375\"\u003eexpressjs/multer#1375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/checkout from 4.1.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1374\"\u003eexpressjs/multer#1374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix error/abort handling by \u003ca href=\"https://github.com/ctcpip\"\u003e\u003ccode\u003e@​ctcpip\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1373\"\u003eexpressjs/multer#1373\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.1.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1380\"\u003eexpressjs/multer#1380\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/imangas\"\u003e\u003ccode\u003e@​imangas\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1372\"\u003eexpressjs/multer#1372\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1378\"\u003eexpressjs/multer#1378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/multer/compare/v2.1.0...v2.1.1\"\u003ehttps://github.com/expressjs/multer/compare/v2.1.0...v2.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2359\"\u003eCVE-2026-2359\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-v52c-386h-88mc\"\u003eGHSA-v52c-386h-88mc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3304\"\u003eCVE-2026-3304\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-xf7r-hgr6-v32p\"\u003eGHSA-xf7r-hgr6-v32p\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add funding to package.json by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1346\"\u003eexpressjs/multer#1346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop mkdirp dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1350\"\u003eexpressjs/multer#1350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop object-assign dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1351\"\u003eexpressjs/multer#1351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop xtend dependency by \u003ca href=\"https://github.com/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1352\"\u003eexpressjs/multer#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(gitignore): ignore .nyc_output directory by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1332\"\u003eexpressjs/multer#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in README-vi.md regarding file upload by \u003ca href=\"https://github.com/Kunniii\"\u003e\u003ccode\u003e@​Kunniii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1366\"\u003eexpressjs/multer#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in README-pt-br.md for array method by \u003ca href=\"https://github.com/matheushbm192\"\u003e\u003ccode\u003e@​matheushbm192\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1367\"\u003eexpressjs/multer#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eheaders-support-utf8 by \u003ca href=\"https://github.com/Doc999tor\"\u003e\u003ccode\u003e@​Doc999tor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003eexpressjs/multer#1210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Turkish translation (README-tr.md) by \u003ca href=\"https://github.com/Sabandogan\"\u003e\u003ccode\u003e@​Sabandogan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1360\"\u003eexpressjs/multer#1360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 2.1.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1371\"\u003eexpressjs/multer#1371\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/wojtekmaj\"\u003e\u003ccode\u003e@​wojtekmaj\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1350\"\u003eexpressjs/multer#1350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1332\"\u003eexpressjs/multer#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kunniii\"\u003e\u003ccode\u003e@​Kunniii\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1366\"\u003eexpressjs/multer#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matheushbm192\"\u003e\u003ccode\u003e@​matheushbm192\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1367\"\u003eexpressjs/multer#1367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Doc999tor\"\u003e\u003ccode\u003e@​Doc999tor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003eexpressjs/multer#1210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sabandogan\"\u003e\u003ccode\u003e@​Sabandogan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1360\"\u003eexpressjs/multer#1360\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/multer/compare/v2.0.2...v2.1.0\"\u003ehttps://github.com/expressjs/multer/compare/v2.0.2...v2.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/multer/blob/main/CHANGELOG.md\"\u003emulter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3520\"\u003eCVE-2026-3520\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2\"\u003eGHSA-5528-5vmv-3xc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix error/abort handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003edefParamCharset\u003c/code\u003e option for UTF-8 filename support (\u003ca href=\"https://redirect.github.com/expressjs/multer/pull/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2359\"\u003eCVE-2026-2359\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-v52c-386h-88mc\"\u003eGHSA-v52c-386h-88mc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-3304\"\u003eCVE-2026-3304\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/multer/security/advisories/GHSA-xf7r-hgr6-v32p\"\u003eGHSA-xf7r-hgr6-v32p\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/expressjs/multer/commit/368c8a10cca11854cf17c24029fefd1eafb1c059\"\u003e\u003ccode\u003e368c8a1\u003c/code\u003e\u003c/a\u003e 2.1.1 (\u003ca href=\"https://redirect.github.com/expressjs/multer/issues/1380\"\u003e#1380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/7e66481f8b2e6c54b982b34c152479e096ce2752\"\u003e\u003ccode\u003e7e66481\u003c/code\u003e\u003c/a\u003e 🐛 fix recursion issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/643571ef85e9db94b87a777773f4d67156f82a3e\"\u003e\u003ccode\u003e643571e\u003c/code\u003e\u003c/a\u003e ✅ add explicit test for client able to send body without abrupt disconnect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/e86fa523753f8d54ad0687bf52fb20044b6fa309\"\u003e\u003ccode\u003ee86fa52\u003c/code\u003e\u003c/a\u003e fix error/abort handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/multer/commit/ca37779bf1f531a70af9977805380d0f51d293e2\"\u003e\u003ccode\u003eca37779\u003c/code\u003e\u003c/a\u003e chore(deps): bump ...\n\n_Description has been truncated_","html_url":"https://github.com/dculussoftwares/dculus-forms/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dculussoftwares%2Fdculus-forms/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"1.6.11","new_version":"1.6.14","update_type":"patch","path":null,"pr_created_at":"2026-06-02T23:07:09.000Z","version_change":"1.6.11 → 1.6.14","issue":{"uuid":"4575588113","node_id":"PR_kwDOQyJmX87iAD7P","number":121,"state":"closed","title":"deps(deps): bump the minor-and-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-06-07T21:21:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T23:07:09.000Z","updated_at":"2026-06-07T21:22:32.000Z","time_to_close":425642,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-and-patch","update_count":7,"packages":[{"name":"@lucide/svelte","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.14","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@biomejs/biome","old_version":"2.4.15","new_version":"2.4.16","repository_url":"https://github.com/biomejs/biome"},{"name":"@electric-sql/pglite","old_version":"0.4.5","new_version":"0.5.1","repository_url":"https://github.com/electric-sql/pglite"},{"name":"@internationalized/date","old_version":"3.12.1","new_version":"3.12.2","repository_url":"https://github.com/adobe/react-spectrum"},{"name":"knip","old_version":"6.14.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"vite","old_version":"8.0.13","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@lucide/svelte](https://github.com/lucide-icons/lucide/tree/HEAD/packages/svelte) | `1.16.0` | `1.17.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.14` |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.15` | `2.4.16` |\n| [@electric-sql/pglite](https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite) | `0.4.5` | `0.5.1` |\n| [@internationalized/date](https://github.com/adobe/react-spectrum) | `3.12.1` | `3.12.2` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.14.1` | `6.15.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.13` | `8.0.16` |\n\n\nUpdates `@lucide/svelte` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003e@​lucide/svelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(lucide-vue-next|lucide-svelte|lucide-angular): Remove deprecated packages by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4376\"\u003elucide-icons/lucide#4376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(repo): Update issue templates and documentation for package ren… by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4379\"\u003elucide-icons/lucide#4379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Adds survey overlay to website by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4380\"\u003elucide-icons/lucide#4380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Certificate dev links by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4390\"\u003elucide-icons/lucide#4390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003emartini\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4335\"\u003elucide-icons/lucide#4335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump brace-expansion from 1.1.11 to 5.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4386\"\u003elucide-icons/lucide#4386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e from 2.0.0 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4404\"\u003elucide-icons/lucide#4404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump devalue from 5.8.0 to 5.8.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4391\"\u003elucide-icons/lucide#4391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ws from 8.18.0 to 8.20.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4392\"\u003elucide-icons/lucide#4392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gh-icon): limit icon size to a maximum of 256 pixels by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4398\"\u003elucide-icons/lucide#4398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dependencies): Update dependencies by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4377\"\u003elucide-icons/lucide#4377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(copilot): Adding copilot instructions by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4407\"\u003elucide-icons/lucide#4407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): add \u003ccode\u003eglobe-check\u003c/code\u003e by \u003ca href=\"https://github.com/Barakudum\"\u003e\u003ccode\u003e@​Barakudum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4342\"\u003elucide-icons/lucide#4342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(metadata): Require use-cases in meta json by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4321\"\u003elucide-icons/lucide#4321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eparasol\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4347\"\u003elucide-icons/lucide#4347\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.17.0/packages/svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.14\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account was already linked to a different local user.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enull\u003c/code\u003e values being rejected for optional fields in the generated database schema (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetSessionCookie\u003c/code\u003e to prefer the \u003ccode\u003e__Secure-\u003c/code\u003e prefixed cookie over a non-secure leftover, preventing a stale cookie from shadowing the current session (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed redirect URI validation to work on all supported runtimes and to reject URIs containing a fragment component per RFC 6749 §3.1.2 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitation verification to restore the normal emailed-invitation flow while enforcing stricter email verification for externally controlled or predictable invitation IDs (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to the logout handlers matching the session by ID instead of token.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/5038d41ca2c2a7350efb499c4506ac812afd6ddf/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.13...v1.6.14\"\u003e\u003ccode\u003ev1.6.13...v1.6.14\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9877\"\u003e#9877\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Restore the normal emailed-invitation flow while documenting the stricter verification posture for organization invitations.\u003c/p\u003e\n\u003cp\u003eClient-side \u003ccode\u003elistUserInvitations\u003c/code\u003e now always requires a verified session email because it enumerates invitation IDs from \u003ccode\u003esession.user.email\u003c/code\u003e. The \u003ccode\u003erequireEmailVerificationOnInvitation\u003c/code\u003e option now controls recipient calls that carry an invitation ID (\u003ccode\u003eacceptInvitation\u003c/code\u003e, \u003ccode\u003erejectInvitation\u003c/code\u003e, \u003ccode\u003egetInvitation\u003c/code\u003e). When unset, Better Auth keeps the emailed-invitation sign-up flow for built-in opaque invitation IDs, including the default generator or \u003ccode\u003eadvanced.database.generateId: \u0026quot;uuid\u0026quot;\u003c/code\u003e, and requires verified email when invitation IDs are externally controlled or predictable, such as \u003ccode\u003eadvanced.database.generateId: \u0026quot;serial\u0026quot;\u003c/code\u003e / \u003ccode\u003efalse\u003c/code\u003e or custom ID generation. Apps that expose invitation IDs outside the invited user's mailbox, expose organization invitation lists to members, or require stricter ownership proof should set \u003ccode\u003erequireEmailVerificationOnInvitation: true\u003c/code\u003e or require verified email before sign-in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9841\"\u003e#9841\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Optional fields (\u003ccode\u003erequired: false\u003c/code\u003e) now accept \u003ccode\u003enull\u003c/code\u003e, not just omission. The\ngenerated input validation previously rejected \u003ccode\u003enull\u003c/code\u003e even though the column is\nnullable, so a nullable field could not be cleared by passing \u003ccode\u003enull\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9845\"\u003e#9845\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden redirect-URI validation across the OAuth provider plugins. \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e and \u003ccode\u003eSafeUrlSchema\u003c/code\u003e no longer call \u003ccode\u003eURL.canParse\u003c/code\u003e, which is absent on some supported runtimes and could throw or silently disable the dangerous-scheme check. They now parse with a \u003ccode\u003etry\u003c/code\u003e/\u003ccode\u003ecatch\u003c/code\u003e fallback. \u003ccode\u003eSafeUrlSchema\u003c/code\u003e also rejects redirect URIs that contain a fragment component, per RFC 6749 §3.1.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9806\"\u003e#9806\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003egetSessionCookie\u003c/code\u003e now prefers the \u003ccode\u003e__Secure-\u003c/code\u003e cookie when both it and a non-secure cookie are present, so the non-secure cookie no longer shadows the current session cookie.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/13abc7922b47f800da59ca212d364a64feeec91f\"\u003e\u003ccode\u003e13abc79\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5038d41ca2c2a7350efb499c4506ac812afd6ddf\"\u003e\u003ccode\u003e5038d41\u003c/code\u003e\u003c/a\u003e chore: release v1.6.14 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2d9781a83ddc7b51ecffbd7d24c28e4b917e2323\"\u003e\u003ccode\u003e2d9781a\u003c/code\u003e\u003c/a\u003e fix(organization): split invitation verification gates (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9877\"\u003e#9877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5a2d642bc7d940f4242df9b304818a8653ea2a10\"\u003e\u003ccode\u003e5a2d642\u003c/code\u003e\u003c/a\u003e fix: accept null for optional fields in generated schema (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9d3450ae23e8387d24adfb7bb1cb24cc6965b6e3\"\u003e\u003ccode\u003e9d3450a\u003c/code\u003e\u003c/a\u003e fix(cookies): prefer \u003ccode\u003e__Secure-\u003c/code\u003e cookie in getSessionCookie (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9806\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.14/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@biomejs/biome` from 2.4.15 to 2.4.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.16\u003c/h2\u003e\n\u003ch2\u003e2.4.16\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10329\"\u003e#10329\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ef764d51b9f5be18ec5a4f9b4dce732512e5d805\"\u003e\u003ccode\u003eef764d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed an issue where diagnostics showed an incorrect location in Astro files.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10363\"\u003e#10363\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/50aa4157599a1ac5c77c13bce81f5c87240beff0\"\u003e\u003ccode\u003e50aa415\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed HTML formatting for a case where comments could cause the formatter to split up a closing tag, which would cause the resulting HTML to be syntactically invalid.\u003c/p\u003e\n\u003cp\u003eInput:\u003c/p\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;span\n  \u0026gt;\u0026lt;!-- 1\n--\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 2\n--\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 3\n--\u0026gt;\u0026lt;/span\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOutput:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e  \u0026lt;span\n\t  \u0026gt;\u0026lt;!-- 1\n- --\u0026gt; \u0026lt;span\u0026gt;a\u0026lt;/span\u0026lt;!-- 2\n- --\u0026gt; \u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n+ --\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\u0026gt;\u0026lt;!-- 2\n+ --\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n  --\u0026gt;\u0026lt;/span\n  \u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10465\"\u003e#10465\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/0c718da81770f47d65845bc1a006f99512d9359b\"\u003e\u003ccode\u003e0c718da\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dfedoryshchev\"\u003e\u003ccode\u003e@​dfedoryshchev\u003c/code\u003e\u003c/a\u003e! - Fixed diagnostics emitted by the \u003ccode\u003enoUntrustedLicenses\u003c/code\u003e rule.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10358\"\u003e#10358\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/05c26176573534a0abfa92d454d244f9569bc77d\"\u003e\u003ccode\u003e05c2617\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10356\"\u003e#10356\u003c/a\u003e: \u003ccode\u003ebiome rage --linter\u003c/code\u003e now displays rules enabled through linter domains in the enabled rules list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10300\"\u003e#10300\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/950247c389e693c16b47d61d8ef0f1b85d1a1b02\"\u003e\u003ccode\u003e950247c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10265\"\u003e#10265\u003c/a\u003e: Svelte function bindings such as \u003ccode\u003ebind:value={get, set}\u003c/code\u003e are now parsed more precisely, so \u003ca href=\"https://biomejs.dev/linter/rules/no-comma-operator/\"\u003e\u003ccode\u003enoCommaOperator\u003c/code\u003e\u003c/a\u003e won't emit false positives for that syntax anymore.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9786\"\u003e#9786\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MeGaNeKoS\"\u003e\u003ccode\u003e@​MeGaNeKoS\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/8480\"\u003e#8480\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/use-destructuring/\"\u003e\u003ccode\u003euseDestructuring\u003c/code\u003e\u003c/a\u003e now provides \u003ccode\u003evariableDeclarator\u003c/code\u003e and \u003ccode\u003eassignmentExpression\u003c/code\u003e options to control which contexts enforce destructuring, matching ESLint's \u003ccode\u003eprefer-destructuring\u003c/code\u003e configuration. Both default to \u003ccode\u003e{array: true, object: true}\u003c/code\u003e. The diagnostic for object destructuring in assignment expressions now instructs users to wrap the assignment in parentheses.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10425\"\u003e#10425\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1948b7242e092ed0cfcf501ef6f119202b8ea93b\"\u003e\u003ccode\u003e1948b72\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/sjh9714\"\u003e\u003ccode\u003e@​sjh9714\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10244\"\u003e#10244\u003c/a\u003e: The \u003ccode\u003euseOptionalChain\u003c/code\u003e rule now detects negated guard inequality chains like \u003ccode\u003e!foo || foo.bar !== \u0026quot;x\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10442\"\u003e#10442\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/001f94f696d9baca3c231d39895a01d4dd528d52\"\u003e\u003ccode\u003e001f94f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10411\"\u003e#10411\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-misused-promises/\"\u003e\u003ccode\u003enoMisusedPromises\u003c/code\u003e\u003c/a\u003e no longer causes a stack overflow when a nested function returns an object with shorthand properties that shadow destructured variables from an outer scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10318\"\u003e#10318\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added support for \u003ccode\u003eformatter.trailingCommas\u003c/code\u003e in overrides. This option was previously available in the top-level formatter configuration but missing from formatter overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10319\"\u003e#10319\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/2e3770923f9fb4e33606113e726014f7b63730d0\"\u003e\u003ccode\u003e2e37709\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed Vue and Svelte formatting for standalone interpolations in inline elements. Biome now preserves existing newlines in cases like:\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/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.16\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10329\"\u003e#10329\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ef764d51b9f5be18ec5a4f9b4dce732512e5d805\"\u003e\u003ccode\u003eef764d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed an issue where diagnostics showed an incorrect location in Astro files.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10363\"\u003e#10363\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/50aa4157599a1ac5c77c13bce81f5c87240beff0\"\u003e\u003ccode\u003e50aa415\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed HTML formatting for a case where comments could cause the formatter to split up a closing tag, which would cause the resulting HTML to be syntactically invalid.\u003c/p\u003e\n\u003cp\u003eInput:\u003c/p\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;span\n  \u0026gt;\u0026lt;!-- 1\n--\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 2\n--\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\n  \u0026gt;\u0026lt;!-- 3\n--\u0026gt;\u0026lt;/span\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOutput:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e  \u0026lt;span\n\t  \u0026gt;\u0026lt;!-- 1\n- --\u0026gt; \u0026lt;span\u0026gt;a\u0026lt;/span\u0026lt;!-- 2\n- --\u0026gt; \u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n+ --\u0026gt;\u0026lt;span\u0026gt;a\u0026lt;/span\u0026gt;\u0026lt;!-- 2\n+ --\u0026gt;\u0026lt;span\u0026gt;b\u0026lt;/span\u0026gt;\u0026lt;!-- 3\n  --\u0026gt;\u0026lt;/span\n  \u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10465\"\u003e#10465\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/0c718da81770f47d65845bc1a006f99512d9359b\"\u003e\u003ccode\u003e0c718da\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dfedoryshchev\"\u003e\u003ccode\u003e@​dfedoryshchev\u003c/code\u003e\u003c/a\u003e! - Fixed diagnostics emitted by the \u003ccode\u003enoUntrustedLicenses\u003c/code\u003e rule.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10358\"\u003e#10358\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/05c26176573534a0abfa92d454d244f9569bc77d\"\u003e\u003ccode\u003e05c2617\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10356\"\u003e#10356\u003c/a\u003e: \u003ccode\u003ebiome rage --linter\u003c/code\u003e now displays rules enabled through linter domains in the enabled rules list.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10300\"\u003e#10300\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/950247c389e693c16b47d61d8ef0f1b85d1a1b02\"\u003e\u003ccode\u003e950247c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10265\"\u003e#10265\u003c/a\u003e: Svelte function bindings such as \u003ccode\u003ebind:value={get, set}\u003c/code\u003e are now parsed more precisely, so \u003ca href=\"https://biomejs.dev/linter/rules/no-comma-operator/\"\u003e\u003ccode\u003enoCommaOperator\u003c/code\u003e\u003c/a\u003e won't emit false positives for that syntax anymore.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9786\"\u003e#9786\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MeGaNeKoS\"\u003e\u003ccode\u003e@​MeGaNeKoS\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/8480\"\u003e#8480\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/use-destructuring/\"\u003e\u003ccode\u003euseDestructuring\u003c/code\u003e\u003c/a\u003e now provides \u003ccode\u003evariableDeclarator\u003c/code\u003e and \u003ccode\u003eassignmentExpression\u003c/code\u003e options to control which contexts enforce destructuring, matching ESLint's \u003ccode\u003eprefer-destructuring\u003c/code\u003e configuration. Both default to \u003ccode\u003e{array: true, object: true}\u003c/code\u003e. The diagnostic for object destructuring in assignment expressions now instructs users to wrap the assignment in parentheses.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10425\"\u003e#10425\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1948b7242e092ed0cfcf501ef6f119202b8ea93b\"\u003e\u003ccode\u003e1948b72\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/sjh9714\"\u003e\u003ccode\u003e@​sjh9714\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10244\"\u003e#10244\u003c/a\u003e: The \u003ccode\u003euseOptionalChain\u003c/code\u003e rule now detects negated guard inequality chains like \u003ccode\u003e!foo || foo.bar !== \u0026quot;x\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10442\"\u003e#10442\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/001f94f696d9baca3c231d39895a01d4dd528d52\"\u003e\u003ccode\u003e001f94f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10411\"\u003e#10411\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-misused-promises/\"\u003e\u003ccode\u003enoMisusedPromises\u003c/code\u003e\u003c/a\u003e no longer causes a stack overflow when a nested function returns an object with shorthand properties that shadow destructured variables from an outer scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10318\"\u003e#10318\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added support for \u003ccode\u003eformatter.trailingCommas\u003c/code\u003e in overrides. This option was previously available in the top-level formatter configuration but missing from formatter overrides.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10319\"\u003e#10319\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/2e3770923f9fb4e33606113e726014f7b63730d0\"\u003e\u003ccode\u003e2e37709\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Fixed Vue and Svelte formatting for standalone interpolations in inline elements. Biome now preserves existing newlines in cases like:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/5f4ea56b1dfb00d839af218e3c6484154073a7eb\"\u003e\u003ccode\u003e5f4ea56\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10326\"\u003e#10326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/de2a33ce8be86b696742f3adee35a66dc9fa943b\"\u003e\u003ccode\u003ede2a33c\u003c/code\u003e\u003c/a\u003e fix(core): regression in emitted types (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10478\"\u003e#10478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/d835303700f27f8f362a186a0dddc7995117daf9\"\u003e\u003ccode\u003ed835303\u003c/code\u003e\u003c/a\u003e docs: remove redundant default phrase in \u003ccode\u003euseConsistentObjectDefinitions\u003c/code\u003e rul...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/4f1aaf2f833d5963dd150836836be6bc68212d68\"\u003e\u003ccode\u003e4f1aaf2\u003c/code\u003e\u003c/a\u003e fix: incorrect build when using build or test (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10426\"\u003e#10426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/dc73b6baa55606ec7b6aa9229564b1c142116f2b\"\u003e\u003ccode\u003edc73b6b\u003c/code\u003e\u003c/a\u003e refactor: make plugins opt-in via feature gate (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10418\"\u003e#10418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e71f58490f3121432d1bc24ae5330ecf96391a40\"\u003e\u003ccode\u003ee71f584\u003c/code\u003e\u003c/a\u003e feat(useDestructuring): add options for assignment/declaration and improve di...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9b1577fa400279d9b0222cbc920cfa9ddcf1c9d6\"\u003e\u003ccode\u003e9b1577f\u003c/code\u003e\u003c/a\u003e fix(config): support trailingCommas in overrides (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10318\"\u003e#10318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.16/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@electric-sql/pglite` from 0.4.5 to 0.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/electric-sql/pglite/releases\"\u003e@​electric-sql/pglite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e930e2d0: fix PGlite version; redeploy external extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite-prepopulatedfs\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [930e2d0]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​electric-sql/pglite\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\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/electric-sql/pglite/blob/main/packages/pglite/CHANGELOG.md\"\u003e@​electric-sql/pglite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e930e2d0: fix PGlite version; redeploy external extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2aa4d1a: Allow parsing of nulls in arrays \u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/997\"\u003e#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2095d4e: Add ICU support.\u003c/li\u003e\n\u003cli\u003ee937669: Restore process.exitCode\u003c/li\u003e\n\u003cli\u003e54ed6dc: new API method copyToFs() and new param postgresqlconf\u003c/li\u003e\n\u003cli\u003e817d073: restore exit code\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/4244a3e59a0aaccd87249634ed42d5c097f216be\"\u003e\u003ccode\u003e4244a3e\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/1c517da81acab5fe7dca382d5a318c479ee5678e\"\u003e\u003ccode\u003e1c517da\u003c/code\u003e\u003c/a\u003e Fix release (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1013\"\u003e#1013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/01f00c5df8be87b67876a37d4b3e692c6d05e648\"\u003e\u003ccode\u003e01f00c5\u003c/code\u003e\u003c/a\u003e chore: publish new package versions (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/93d50aa7fc1f01999290e202770117655938096c\"\u003e\u003ccode\u003e93d50aa\u003c/code\u003e\u003c/a\u003e PGlite on Postgres 18.3 (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/657171e4dcd41e676bc2ce8b956ba7fb59e8ef15\"\u003e\u003ccode\u003e657171e\u003c/code\u003e\u003c/a\u003e Update Postgres source links to newer repo (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1006\"\u003e#1006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/d964aceff09d7b8fe7b1c961d4d7b93aec637443\"\u003e\u003ccode\u003ed964ace\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/54ed6dc19fd8ee8549e5c1f209bb298d745cd4f8\"\u003e\u003ccode\u003e54ed6dc\u003c/code\u003e\u003c/a\u003e Allow copy to FS, useful for allowing postgresql.conf (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/1000\"\u003e#1000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/2095d4e5ae7ade84ca6305640db0977da1f7c66f\"\u003e\u003ccode\u003e2095d4e\u003c/code\u003e\u003c/a\u003e ICU support (new) (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/2aa4d1ae89ba20283441f4b7088e1d25c1b60f8e\"\u003e\u003ccode\u003e2aa4d1a\u003c/code\u003e\u003c/a\u003e Parse nulls in arrays (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/998\"\u003e#998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electric-sql/pglite/commit/e08e50183b3b094b1e306dc3715af6f3467e9ac5\"\u003e\u003ccode\u003ee08e501\u003c/code\u003e\u003c/a\u003e Faster basic tests (\u003ca href=\"https://github.com/electric-sql/pglite/tree/HEAD/packages/pglite/issues/999\"\u003e#999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electric-sql/pglite/commits/@electric-sql/pglite@0.5.1/packages/pglite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@internationalized/date` from 3.12.1 to 3.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adobe/react-spectrum/releases\"\u003e@​internationalized/date's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eReact Spectrum S2 v1.4.0\u003c/h2\u003e\n\u003cp\u003eThis release brings long awaited \u003ca href=\"https://react-spectrum.adobe.com/dnd\"\u003edrag and drop support\u003c/a\u003e to \u003ca href=\"https://react-spectrum.adobe.com/ListView#drag-and-drop\"\u003eListView\u003c/a\u003e, \u003ca href=\"https://react-spectrum.adobe.com/TableView#drag-and-drop\"\u003eTableView\u003c/a\u003e, and \u003ca href=\"https://react-spectrum.adobe.com/TreeView#drag-and-drop\"\u003eTreeView\u003c/a\u003e! TableView now also supports \u003ca href=\"https://react-spectrum.adobe.com/TableView\"\u003ehighlight selection\u003c/a\u003e and a new \u003ca href=\"https://react-spectrum.adobe.com/TableView#content\"\u003eTableFooter\u003c/a\u003e component. Form components such as \u003ca href=\"https://react-spectrum.adobe.com/ComboBox#content\"\u003eComboBox\u003c/a\u003e and \u003ca href=\"https://react-spectrum.adobe.com/TextField#prefix\"\u003eTextField\u003c/a\u003e now allow custom prefixes, and the new \u003ca href=\"https://react-spectrum.adobe.com/LabeledValue\"\u003eLabeledValue\u003c/a\u003e can be used to display non-editable values. In addition, description and error messages can be configured for \u003ca href=\"https://react-spectrum.adobe.com/Checkbox#forms\"\u003eCheckbox\u003c/a\u003e, \u003ca href=\"https://react-spectrum.adobe.com/RadioGroup\"\u003eRadio\u003c/a\u003e, and \u003ca href=\"https://react-spectrum.adobe.com/Switch#forms\"\u003eSwitch\u003c/a\u003e. Last but not least, \u003ca href=\"https://react-spectrum.adobe.com/Calendar\"\u003eCalendar\u003c/a\u003e now supports multiple date selection.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-4-0\"\u003eFull Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.3.0\u003c/h2\u003e\n\u003cp\u003eIn this release we are excited to announce support for \u003ca href=\"https://react-spectrum.adobe.com/TableView#expandable-rows\"\u003eexpandable rows\u003c/a\u003e in TableView, highlight selection in \u003ca href=\"https://react-spectrum.adobe.com/TreeView\"\u003eTreeView\u003c/a\u003e, and window scrolling in collection components! Window scrolling enables virtualized collections to automatically scroll with the rest of the page – no height needed. In addition, we've updated the set of available \u003ca href=\"https://react-spectrum.adobe.com/icons\"\u003eworkflow icons\u003c/a\u003e, and reduced the number of dependencies installed when using S2 by over 90% – see the full release notes for details.\u003c/p\u003e\n\u003cp\u003eTo help assist with migrations from S1 to S2, we've added a new end to end \u003ca href=\"https://react-spectrum.adobe.com/migrating#ai-assisted-migration-recommended\"\u003emigration Agent skill\u003c/a\u003e that you can use with your agent of choice. Our existing \u003ca href=\"https://react-spectrum.adobe.com/ai#agent-skills\"\u003eS2 Agent skill\u003c/a\u003e has also been updated to greatly improve its ability to select the proper S2 component to use from context, so be sure to update.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-3-0\"\u003eFull release notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.2.0\u003c/h2\u003e\n\u003cp\u003eIn this release, we are excited to announce that \u003ca href=\"https://react-spectrum.adobe.com/ListView\"\u003eListView\u003c/a\u003e and \u003ca href=\"https://react-spectrum.adobe.com/Menu#unavailable-items\"\u003eunavailable menu items\u003c/a\u003e are now available! In addition, we have added \u003ca href=\"https://react-spectrum.adobe.com/ActionBar\"\u003eActionBar\u003c/a\u003e support for TreeView and \u003ca href=\"https://react-spectrum.adobe.com/Picker#custom-render-value\"\u003ecustom renderer support\u003c/a\u003e for the Picker's display value. We also shipped multiple TableView fixes and a set of documentation improvements including a Typography search view now available in the main search menu.\u003c/p\u003e\n\u003cp\u003eThanks to all of our contributors for the updates in this release.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-2-0\"\u003eFull release notes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eReact Spectrum S2 v1.1.0\u003c/h2\u003e\n\u003cp\u003eIt’s our first release of the new year and we’ve got plenty of exciting treats we’re bringing to the table. We’ve added a variety of new features to our documentation site including a new dark/light mode switch in the site header. Our search menu also now features a Colors section where you can browse the Spectrum-defined colors and search by name or hex value to find close or exact matches. We also now offer our docs in the form of \u003ca href=\"https://react-spectrum.adobe.com/ai#agent-skills\"\u003eAgent Skills\u003c/a\u003e that can be installed locally and used by your favorite AI coding tools.\u003c/p\u003e\n\u003cp\u003eThis release also includes several bugs fixes, such as properly rendering menus when rendered from within a popover and updates to TreeView disabledBehavior styling to match the latest designs.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://react-spectrum.adobe.com/releases/v1-1-0\"\u003eFull Release Notes\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/adobe/react-spectrum/commit/791377f0ad2093fb6ad36582e403289f13b0376b\"\u003e\u003ccode\u003e791377f\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/78406036d3968c04dccf8818bef0ed5368b88a09\"\u003e\u003ccode\u003e7840603\u003c/code\u003e\u003c/a\u003e chore: update test util page badges (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10123\"\u003e#10123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/2cea5b59697b96298661b00218607560e151ecc1\"\u003e\u003ccode\u003e2cea5b5\u003c/code\u003e\u003c/a\u003e chore: update circleci resource classes (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/83e5b5308f76f9297e21c4c0a04d5af11ad4ca0a\"\u003e\u003ccode\u003e83e5b53\u003c/code\u003e\u003c/a\u003e chore: Omit calendar features from v3 (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10122\"\u003e#10122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/2c18eb685a1b6a7ebe164b2a82439e70fd603d54\"\u003e\u003ccode\u003e2c18eb6\u003c/code\u003e\u003c/a\u003e fix: Custom 454 Calendar month (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10115\"\u003e#10115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/ed9170f4ba232cef9ae22eb5ede01f2affa071c9\"\u003e\u003ccode\u003eed9170f\u003c/code\u003e\u003c/a\u003e fix: ensure Tableview and ListView render their dividers and borders with the...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/6206fc3b21c2982e4a03c7b9aaa644e07d6c2f9f\"\u003e\u003ccode\u003e6206fc3\u003c/code\u003e\u003c/a\u003e chore: Only export DragPreview from useDragAndDrop subpath (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10114\"\u003e#10114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/8e4498fa3c965ea000115872773926040a1a72f0\"\u003e\u003ccode\u003e8e4498f\u003c/code\u003e\u003c/a\u003e docs: add api section with slots to DragPreview (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10113\"\u003e#10113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/719ebb227f03fab6c6b7e8cf9775b73c7901493c\"\u003e\u003ccode\u003e719ebb2\u003c/code\u003e\u003c/a\u003e fix: optimize locales not tree-shaking react-stately intl messages (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10111\"\u003e#10111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adobe/react-spectrum/commit/3547c08ac6273c1ad55019ac6ea6c35865972048\"\u003e\u003ccode\u003e3547c08\u003c/code\u003e\u003c/a\u003e fix: stabilise our flaky CI jobs (\u003ca href=\"https://redirect.github.com/adobe/react-spectrum/issues/10106\"\u003e#10106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adobe/react-spectrum/compare/@internationalized/date@3.12.1...@internationalized/date@3.12.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.14.1 to 6.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.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\u003cli\u003eFormat (eb4b178d5d90a719cdc576d644766f8f95a47876)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003e@​wdio/types\u003c/code\u003e dev dep with inline types (a3747d61ee0e594854e5da0ca6cb7597e0096b99)\u003c/li\u003e\n\u003cli\u003eBump dependencies (822ab3905cb7b5a216404231607a7820105930a2)\u003c/li\u003e\n\u003cli\u003eWork AGENTS.md, etcetera (361bd4803934a01e01b08170565f8374e4e49eb2)\u003c/li\u003e\n\u003cli\u003eRemove rootDirs workaround resolved by oxc-resolver 11.20.0 (e190a9fec22db41975cf9568a31970a05c86e66b)\u003c/li\u003e\n\u003cli\u003eAdd nuxt no-root-tsconfig fixture guarding alias resolution (e3e5bc94d5f7b6ffdbc89b18d7c8d5acbb5a9008)\u003c/li\u003e\n\u003cli\u003eAllow extra args for release-it (f9c59952fa2c8c4c13bd42edc0935610900d1980)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/vercel\"\u003e\u003ccode\u003e@​vercel\u003c/code\u003e\u003c/a\u003e as platinum sponsor (c4c06a9149c986680f0d1aa74b57a46ff1f88601)\u003c/li\u003e\n\u003cli\u003eOverhaul \u0026amp; improve --trace functionailty (60df0b05f364c8d841c0f784a06bab2a3215a32f)\u003c/li\u003e\n\u003cli\u003eRe-gen plugins.md (0f9d044d312053154498a562e3a9422a4f44afe6)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.14.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix vscode-knip build: pin native oxc bindings to bundled JS version (1b45a4103312c9c059560ae2e1eac25d86b4e2ac)\u003c/li\u003e\n\u003cli\u003eRelease vscode-knip@2.1.5 (328892eb04e65b4702e1ef2303db3156b8f2e1a3)\u003c/li\u003e\n\u003cli\u003eFix Astro plugin to support both possible middleware entry points (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1749\"\u003e#1749\u003c/a\u003e) (33e0cc1a530a8cf5b6b05c8b3a3ca55f8fce8a75) - thanks \u003ca href=\"https://github.com/schmalz-dmi\"\u003e\u003ccode\u003e@​schmalz-dmi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix LICENSE link (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1760\"\u003e#1760\u003c/a\u003e) (829620f9077ddea086a610c279c7c1250dd66e11) - thanks \u003ca href=\"https://github.com/vortispy\"\u003e\u003ccode\u003e@​vortispy\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix GraphQL Codegen script config dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1756\"\u003e#1756\u003c/a\u003e) (e841c6355e7eff240e74010bfd2be8bbb22ff2b6) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSet pnpm config via env vars, disable verify-deps in ecosystem tests (53c12248cc3e79fd79f3efde691d463fc795c40f)\u003c/li\u003e\n\u003cli\u003eUpdate slonik ecosystem snapshot (f18410b34c8554364a9f003660bebae5e826de57)\u003c/li\u003e\n\u003cli\u003eFix Serverless TypeScript plugin dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1757\"\u003e#1757\u003c/a\u003e) (ebde7f8f3e3004db7f51fb5d60a0bdc2452116ef) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix extended tsconfig type dependency attribution (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1758\"\u003e#1758\u003c/a\u003e) (f600b09e562317a37844ed8cdf1b9b46e06c9405) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Bun binary dependency tracking (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1759\"\u003e#1759\u003c/a\u003e) (1b289239f35ff2912195b7e39a96c667c54c1fc5) - thanks \u003ca href=\"https://github.com/jakeleventhal\"\u003e\u003ccode\u003e@​jakeleventhal\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDetect Babel plugins/presets in Vite plugin options (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1761\"\u003e#1761\u003c/a\u003e) (2753d6910743a12a207fca81cb8325c00803963a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/3f3769e37b75e3d35e3713e8435735adc00df52b\"\u003e\u003ccode\u003e3f3769e\u003c/code\u003e\u003c/a\u003e Release knip@6.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/60df0b05f364c8d841c0f784a06bab2a3215a32f\"\u003e\u003ccode\u003e60df0b0\u003c/code\u003e\u003c/a\u003e Overhaul \u0026amp; improve --trace functionailty\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e3e5bc94d5f7b6ffdbc89b18d7c8d5acbb5a9008\"\u003e\u003ccode\u003ee3e5bc9\u003c/code\u003e\u003c/a\u003e Add nuxt no-root-tsconfig fixture guarding alias resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/e190a9fec22db41975cf9568a31970a05c86e66b\"\u003e\u003ccode\u003ee190a9f\u003c/code\u003e\u003c/a\u003e Remove rootDirs workaround resolved by oxc-resolver 11.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/822ab3905cb7b5a216404231607a7820105930a2\"\u003e\u003ccode\u003e822ab39\u003c/code\u003e\u003c/a\u003e Bump dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a3747d61ee0e594854e5da0ca6cb7597e0096b99\"\u003e\u003ccode\u003ea3747d6\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003e@​wdio/types\u003c/code\u003e dev dep with inline types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/eb4b178d5d90a719cdc576d644766f8f95a47876\"\u003e\u003ccode\u003eeb4b178\u003c/code\u003e\u003c/a\u003e Format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/b5afb9f29e3474eee4bf276c1de83cb0682a5663\"\u003e\u003ccode\u003eb5afb9f\u003c/code\u003e\u003c/a\u003e Inline trivial installed-binaries and types-included accessors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5\"\u003e\u003ccode\u003e010d570\u003c/code\u003e\u003c/a\u003e Flatten control flow in ConfigurationChief\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/55143941eebbc8dac12c79b77c1f65a8b61dfbef\"\u003e\u003ccode\u003e5514394\u003c/code\u003e\u003c/a\u003e Simplify installed-binaries collection in manifest metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.15.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.13 to 8.0.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.16\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.16/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.15\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.15/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.15...v8.0.16\"\u003e8.0.16\u003c/a\u003e (2026-06-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e reject UNC paths for launch-editor-middleware (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22571\"\u003e#22571\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9\"\u003e50b9512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject windows alternate paths (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22572\"\u003e#22572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546\"\u003edc245c7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.14...v8.0.15\"\u003e8.0.15\u003c/a\u003e (2026-06-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esend 408 on request timeout (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22476\"\u003e#22476\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c85c9eeb9aaf41f477b48b057146887bd5620797\"\u003ec85c9ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.3 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22538\"\u003e#22538\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575\"\u003e646dbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecapitalize error messages and remove spurious space in parse error (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22488\"\u003e#22488\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3\"\u003e85a0eff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22511\"\u003e#22511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa\"\u003e2686d7d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e fix html-proxy cache key mismatch for /@fs/ HTML paths (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21762\"\u003e#21762\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47c4213f134f562c41ed7c031e4788510cf7e31e\"\u003e47c4213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e error on relative glob in virtual module when no files match (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22497\"\u003e#22497\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5c8e98f8b584ac5d42f0f9b8580c49792213b13c\"\u003e5c8e98f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e close the rolldown bundle when write() rejects (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22528\"\u003e#22528\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815\"\u003ee3cfb9d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eresolve:\u003c/strong\u003e provide onWarn for viteResolvePlugin in JS plugin containers (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22509\"\u003e#22509\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/40985f1c09b7696e594e6c5695fbc315d2da2c83\"\u003e40985f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22566\"\u003e#22566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd\"\u003e3052a67\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecorrect logic in \u003ccode\u003ecollectAllModules\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22562\"\u003e#22562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c\"\u003e6978a9c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f94df87ff03b40b65e29bacdc04cc18c7bccaa4a\"\u003e\u003ccode\u003ef94df87\u003c/code\u003e\u003c/a\u003e release: v8.0.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546\"\u003e\u003ccode\u003edc245c7\u003c/code\u003e\u003c/a\u003e fix: reject windows alternate paths (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22572\"\u003e#22572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9\"\u003e\u003ccode\u003e50b9512\u003c/code\u003e\u003c/a\u003e fix(deps): reject UNC paths for launch-editor-middleware (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22571\"\u003e#22571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/8d1b0195fd186d0b3297d7cd17acff6c96797420\"\u003e\u003ccode\u003e8d1b019\u003c/code\u003e\u003c/a\u003e release: v8.0.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa\"\u003e\u003ccode\u003e2686d7d\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22511\"\u003e#22511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd\"\u003e\u003ccode\u003e3052a67\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22566\"\u003e#22566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815\"\u003e\u003ccode\u003ee3cfb9d\u003c/code\u003e\u003c/a\u003e fix(optimizer): close the rolldown bundle when write() rejects (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22528\"\u003e#22528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c\"\u003e\u003ccode\u003e6978a9c\u003c/code\u003e\u003c/a\u003e refactor: correct logic in \u003ccode\u003ecollectAllModules\u003c/code\u003e function (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22562\"\u003e#22562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575\"\u003e\u003ccode\u003e646dbed\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.3 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22538\"\u003e#22538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3\"\u003e\u003ccode\u003e85a0eff\u003c/code\u003e\u003c/a\u003e fix: capitalize error messages and remove spurious space in parse error (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22488\"\u003e#22488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits view...\n\n_Description has been truncated_","html_url":"https://github.com/Divkix/Logwell/pull/121","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Divkix%2FLogwell/issues/121","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/121/packages"}},{"old_version":"1.6.5","new_version":"1.6.13","update_type":"patch","path":null,"pr_created_at":"2026-06-02T10:05:11.000Z","version_change":"1.6.5 → 1.6.13","issue":{"uuid":"4570453922","node_id":"PR_kwDOSHdZr87hvGuS","number":26,"state":"open","title":"deps(deps): bump the patch-minor group across 1 directory with 29 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-02T10:05:11.000Z","updated_at":"2026-06-02T10:05:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"patch-minor","update_count":29,"packages":[{"name":"@base-ui/react","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/mui/base-ui"},{"name":"@better-auth/passkey","old_version":"1.6.5","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"@hookform/resolvers","old_version":"5.2.2","new_version":"5.4.0","repository_url":"https://github.com/react-hook-form/resolvers"},{"name":"@prisma/adapter-pg","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"better-auth","old_version":"1.6.5","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"cloudinary","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/cloudinary/cloudinary_npm"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/date-fns/date-fns"},{"name":"jspdf-autotable","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/simonbengtsson/jsPDF-AutoTable"},{"name":"lucide-react","old_version":"1.11.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"nodemailer","old_version":"8.0.5","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"react","old_version":"19.2.4","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.16","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.4","new_version":"19.2.7","repository_url":"https://github.com/facebook/react"},{"name":"react-hook-form","old_version":"7.74.0","new_version":"7.77.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"react-resizable-panels","old_version":"4.10.0","new_version":"4.11.2","repository_url":"https://github.com/bvaughn/react-resizable-panels"},{"name":"recharts","old_version":"3.8.0","new_version":"3.8.1","repository_url":"https://github.com/recharts/recharts"},{"name":"shadcn","old_version":"4.3.1","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"@tailwindcss/postcss","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"eslint-config-next","old_version":"16.2.6","new_version":"16.2.7","repository_url":"https://github.com/vercel/next.js"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.7.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"tailwindcss","old_version":"4.2.2","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":"vitest","old_version":"4.1.4","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the patch-minor group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@base-ui/react](https://github.com/mui/base-ui/tree/HEAD/packages/react) | `1.4.0` | `1.5.0` |\n| [@better-auth/passkey](https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey) | `1.6.5` | `1.6.13` |\n| [@hookform/resolvers](https://github.com/react-hook-form/resolvers) | `5.2.2` | `5.4.0` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.7.0` | `7.8.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.7.0` | `7.8.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.5` | `1.6.13` |\n| [cloudinary](https://github.com/cloudinary/cloudinary_npm) | `2.9.0` | `2.10.0` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.4.0` |\n| [jspdf-autotable](https://github.com/simonbengtsson/jsPDF-AutoTable) | `5.0.7` | `5.0.8` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.11.0` | `1.17.0` |\n| [next](https://github.com/vercel/next.js) | `16.2.6` | `16.2.7` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.5` | `8.0.10` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.4` | `19.2.7` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.74.0` | `7.77.0` |\n| [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | `4.10.0` | `4.11.2` |\n| [recharts](https://github.com/recharts/recharts) | `3.8.0` | `3.8.1` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.3.1` | `4.10.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.3.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.6` | `16.2.7` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.7.0` | `7.8.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.4` | `4.1.8` |\n\n\nUpdates `@base-ui/react` 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/mui/base-ui/releases\"\u003e@​base-ui/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4661\"\u003e#4661\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse local document for virtual arrow (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4662\"\u003e#4662\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix macOS Safari and Firefox minimizing fullscreen when closing popups with \u003c!-- raw HTML omitted --\u003eEsc\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4695\"\u003e#4695\u003c/a\u003e) by \u003ca href=\"https://github.com/arturbien\"\u003e\u003ccode\u003e@​arturbien\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unnecessary memoization (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4693\"\u003e#4693\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not use \u003ccode\u003eMath.random()\u003c/code\u003e in \u003ccode\u003euseStableCallback()\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4732\"\u003e#4732\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix return focus when reference disconnects (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't steal initial focus if focus already moved inside a popup (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4775\"\u003e#4775\u003c/a\u003e) by \u003ca href=\"https://github.com/stefee\"\u003e\u003ccode\u003e@​stefee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix native \u003ccode\u003eFormData\u003c/code\u003e for popup inputs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4725\"\u003e#4725\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSubmit the associated form when pressing \u003c!-- raw HTML omitted --\u003eEnter\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose clear visibility state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4664\"\u003e#4664\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix popup input form submit (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4687\"\u003e#4687\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ecloseQuery\u003c/code\u003e when closing multiple input-inside-popup combobox (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4715\"\u003e#4715\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore hidden-input changes while readonly or disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4810\"\u003e#4810\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsider the controlled \u003ccode\u003eopen\u003c/code\u003e prop for open state detection (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4712\"\u003e#4712\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDrawer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eField\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eForm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMenu\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix submenu pointer-events scope for \u003ccode\u003ekeepMounted\u003c/code\u003e portals (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4723\"\u003e#4723\u003c/a\u003e) by \u003ca href=\"https://github.com/twillhorn\"\u003e\u003ccode\u003e@​twillhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/blob/master/CHANGELOG.md\"\u003e@​base-ui/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eMay 19, 2026\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove mount performance with interaction splitting, including closed popup mount performance by up to 50% and unmounting performance by up to 85% (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4661\"\u003e#4661\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse local document for virtual arrow (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4662\"\u003e#4662\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix macOS Safari and Firefox minimizing fullscreen when closing popups with \u003c!-- raw HTML omitted --\u003eEsc\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4695\"\u003e#4695\u003c/a\u003e) by \u003ca href=\"https://github.com/arturbien\"\u003e\u003ccode\u003e@​arturbien\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop unnecessary memoization (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4693\"\u003e#4693\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not use \u003ccode\u003eMath.random()\u003c/code\u003e in \u003ccode\u003euseStableCallback()\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4732\"\u003e#4732\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix return focus when reference disconnects (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4655\"\u003e#4655\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't steal initial focus if focus already moved inside a popup (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4775\"\u003e#4775\u003c/a\u003e) by \u003ca href=\"https://github.com/stefee\"\u003e\u003ccode\u003e@​stefee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix native \u003ccode\u003eFormData\u003c/code\u003e for popup inputs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4725\"\u003e#4725\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSubmit the associated form when pressing \u003c!-- raw HTML omitted --\u003eEnter\u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4713\"\u003e#4713\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpose clear visibility state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4664\"\u003e#4664\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix popup input form submit (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4687\"\u003e#4687\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ecloseQuery\u003c/code\u003e when closing multiple input-inside-popup combobox (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4715\"\u003e#4715\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore hidden-input changes while readonly or disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4810\"\u003e#4810\u003c/a\u003e) by \u003ca href=\"https://github.com/lunaxislu\"\u003e\u003ccode\u003e@​lunaxislu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsider the controlled \u003ccode\u003eopen\u003c/code\u003e prop for open state detection (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4712\"\u003e#4712\u003c/a\u003e) by \u003ca href=\"https://github.com/michaldudak\"\u003e\u003ccode\u003e@​michaldudak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDrawer\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eField\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eForm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid \u003ccode\u003eflushSync\u003c/code\u003e during validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4685\"\u003e#4685\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/2fdf1b06f2b8b25bf86124bf6c8810a6aa2352a8\"\u003e\u003ccode\u003e2fdf1b0\u003c/code\u003e\u003c/a\u003e [release] v1.5.0 (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4850\"\u003e#4850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8535638e9ac36330fd711bd3a3e81ee6898d9468\"\u003e\u003ccode\u003e8535638\u003c/code\u003e\u003c/a\u003e [otp field] Fix vertical arrow slot navigation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4844\"\u003e#4844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/09ce83bfa512300511b690bd30c5a08877d319d9\"\u003e\u003ccode\u003e09ce83b\u003c/code\u003e\u003c/a\u003e [alert dialog] Fix handle defaults (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4834\"\u003e#4834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/5e0f3e73e43e9552cab72318dcbcee70ecfa3abe\"\u003e\u003ccode\u003e5e0f3e7\u003c/code\u003e\u003c/a\u003e [menu] Support group labels in radio groups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4826\"\u003e#4826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8db1aa95e52c6a0f687232f638ba0f753f03d53d\"\u003e\u003ccode\u003e8db1aa9\u003c/code\u003e\u003c/a\u003e [otp field] Fix RTL arrow navigation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ccb4b307586b6549930bd6da30fd2cdcc8b45526\"\u003e\u003ccode\u003eccb4b30\u003c/code\u003e\u003c/a\u003e [otp field] Compose \u003ccode\u003enormalizeValue\u003c/code\u003e with validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4717\"\u003e#4717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ad99b44c38e4d044d6a8f40ff9b90d55160a9bbd\"\u003e\u003ccode\u003ead99b44\u003c/code\u003e\u003c/a\u003e [direction provider] Fix RTL component behavior (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/5579e7f8518c5fb97d2fd977d6d978aa988f46c0\"\u003e\u003ccode\u003e5579e7f\u003c/code\u003e\u003c/a\u003e [drawer] Forward \u003ccode\u003estyle\u003c/code\u003e prop in \u003ccode\u003e\\\u0026lt;Drawer.Viewport\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4841\"\u003e#4841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/81703365122b88f8ccf25a14587c0e58e8b0ee70\"\u003e\u003ccode\u003e8170336\u003c/code\u003e\u003c/a\u003e [navigation menu] Fix \u003ccode\u003ekeepMounted\u003c/code\u003e content sizing (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4817\"\u003e#4817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/4a339d027ca09cbddc19da134d9bcc5d75388fee\"\u003e\u003ccode\u003e4a339d0\u003c/code\u003e\u003c/a\u003e [otp field] Prevent locked hidden autofill validation (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4827\"\u003e#4827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mui/base-ui/commits/v1.5.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@better-auth/passkey` from 1.6.5 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003e@​better-auth/passkey's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/passkey/CHANGELOG.md\"\u003e@​better-auth/passkey's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9746\"\u003e#9746\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/33a3632731ab1aa722d82541dc2aff71ba3f2090\"\u003e\u003ccode\u003e33a3632\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/reslear\"\u003e\u003ccode\u003e@​reslear\u003c/code\u003e\u003c/a\u003e! - fix: hotfix passkey handle undefined transports\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9622\"\u003e#9622\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/8907c7df9cf330f36ded6fa3cd588faf6ca8e568\"\u003e\u003ccode\u003e8907c7d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - A WebAuthn challenge can now only be used once. Two concurrent passkey verification requests carrying the same challenge cookie can no longer both succeed; the second now fails with \u003ccode\u003eCHALLENGE_NOT_FOUND\u003c/code\u003e. Failed verification also surfaces the actual error status: a failed \u003ccode\u003everifyPasskeyRegistration\u003c/code\u003e returns \u003ccode\u003e400 FAILED_TO_VERIFY_REGISTRATION\u003c/code\u003e instead of \u003ccode\u003e500 Internal Server Error\u003c/code\u003e, and a failed \u003ccode\u003everifyPasskeyAuthentication\u003c/code\u003e returns \u003ccode\u003e401 AUTHENTICATION_FAILED\u003c/code\u003e instead of \u003ccode\u003e400 AUTHENTICATION_FAILED\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7a120724c5c3fdd9d60d59169b32d693e9497fec\"\u003e\u003ccode\u003e7a12072\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f77060af3a9d1f19f05a26ccf6e56d79bb9db69d\"\u003e\u003ccode\u003ef77060a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/dcb2e6d29cf4c986ff8980dab50bcfcb8110a749\"\u003e\u003ccode\u003edcb2e6d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5fcc9d37f2c46d3719a70c18857d9913ce172cf\"\u003e\u003ccode\u003ef5fcc9d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d91eb77f5c10779b287f9c8de0495fcb75a425a\"\u003e\u003ccode\u003e9d91eb7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a3b0c63de908b9f85d6c1d6c06f89bab16a72ba3\"\u003e\u003ccode\u003ea3b0c63\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b40dac22e0cfddbbb27136fe8067aba154ca91a\"\u003e\u003ccode\u003e1b40dac\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5626e1b4375aef7735e4f1103035377cbfad755c\"\u003e\u003ccode\u003e5626e1b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ad9ad824965cb8385f6f2a921576f2cc58ac2b47\"\u003e\u003ccode\u003ead9ad82\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/62dabf66780a3dc7270e419886a15c43f3c8d879\"\u003e\u003ccode\u003e62dabf6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/276d67fad597ca415a023c10fb5e1165093eebd1\"\u003e\u003ccode\u003e276d67f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d73ffff4470664147e7207336442029c35f12d9\"\u003e\u003ccode\u003e2d73fff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/0a7cb7064723d2096e36f44b86c59f7181a8e0c5\"\u003e\u003ccode\u003e0a7cb70\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/015f96bc63a90c06a67fbaf80e286b6f6fe1967d\"\u003e\u003ccode\u003e015f96b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/43cc49c640c0d2c27572807a291d318bbcadfd04\"\u003e\u003ccode\u003e43cc49c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5e29eaf1e57d73a024d12b1bedf4162e5f4a863\"\u003e\u003ccode\u003ef5e29ea\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1d372bbab9117f5a574ecb608b7a5108f1ccbc66\"\u003e\u003ccode\u003e1d372bb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/3f8f310a0f2737f65bb4393eefd6b9372b2cb00e\"\u003e\u003ccode\u003e3f8f310\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/17cd433c66a6ed323b9fda7d4e7db5ad98d8099b\"\u003e\u003ccode\u003e17cd433\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c01b2f13216463fc0fc0054b5acdb9559d29d825\"\u003e\u003ccode\u003ec01b2f1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/6b44606b7d596527b59176b7a0cd06ea66df9031\"\u003e\u003ccode\u003e6b44606\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/04303a92acd6fd3cf9d5f5ab5901255e67526ad3\"\u003e\u003ccode\u003e04303a9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/7bf5449b11866bd82deafee910619660c153d799\"\u003e\u003ccode\u003e7bf5449\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2b7937fc2febd048bfc14b8226287b55b7d48e52\"\u003e\u003ccode\u003e2b7937f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/0cbddb8fa4eb19fbca75e9822134f89b3604286a\"\u003e\u003ccode\u003e0cbddb8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a26333b5fb1a044e76c18385441d3ecc2240ab70\"\u003e\u003ccode\u003ea26333b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7\"\u003e\u003ccode\u003e99a254a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/ee934854999390ee5ca73592fe205a470a810b83\"\u003e\u003ccode\u003eee93485\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f09d566a64ac9a0499d9664ce700edbf0630cea\"\u003e\u003ccode\u003e5f09d56\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b4bc65a007784b2eb0efb459e5fa6fd8055d3ec9\"\u003e\u003ccode\u003eb4bc65a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1ec6b3a38cc6ab9fb563\"\u003e\u003ccode\u003eda7e50b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a1c9f3c08e7398e900e099839aa6dcc8d1d0b816\"\u003e\u003ccode\u003ea1c9f3c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/23094a628f007f801be6d26e5b15dc5fc6fc4eb8\"\u003e\u003ccode\u003e23094a6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/142b86c43d2e6b258236a298a31237e97f87d64d\"\u003e\u003ccode\u003e142b86c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1f2ff4215c4affff0b140b0c0a712c0dde35659c\"\u003e\u003ccode\u003e1f2ff42\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b0ef96fd8ec08ebb4d6ad0c0557d4b7855703f10\"\u003e\u003ccode\u003eb0ef96f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/699b09a2064dcb7d37046b5a90626c0b6f57af90\"\u003e\u003ccode\u003e699b09a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e21d744987476c20a934c79ef226fe6a5f468e22\"\u003e\u003ccode\u003ee21d744\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.11\u003c/li\u003e\n\u003cli\u003ebetter-auth@1.6.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9429\"\u003e#9429\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ddae5817c882ed47961588e795ee194ee64c9e6b\"\u003e\u003ccode\u003eddae581\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e! - Return a handled auth cancellation when passkey autofill authentication cannot start.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/1e0f26d4c83608d14a533f33458ade0f8504fd16\"\u003e\u003ccode\u003e1e0f26d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/8c1e91757d91d103c332e90201c39ce5892c37e8\"\u003e\u003ccode\u003e8c1e917\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/b2d655c77c7c627ada17456d1de106fdce6fa18e\"\u003e\u003ccode\u003eb2d655c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/09f1327acb9c6bbfeb272dc62c7013172cf33153\"\u003e\u003ccode\u003e09f1327\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/906b7b34a710d49798e166395da2bcd2be13ef46\"\u003e\u003ccode\u003e906b7b3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e9c978e2af9e61d35f50fd040305cbb8fdda32ba\"\u003e\u003ccode\u003ee9c978e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/e71aad3b6d67502cfb770fa8890f3ab58c537114\"\u003e\u003ccode\u003ee71aad3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/80a655d271dcae5f785a70f13be60f80fb828cf1\"\u003e\u003ccode\u003e80a655d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/15ff28a957a18df8ecd2aa08d66b94c91ae9a6a4\"\u003e\u003ccode\u003e15ff28a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/88a7c678f4db3f7da580d53071b2595b92354a45\"\u003e\u003ccode\u003e88a7c67\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9a7b51d0d3dfbc6b2697fe5f9edd0bb480bdf89b\"\u003e\u003ccode\u003e9a7b51d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b259024dcd1bbbc08559ee057f22c01929a72a7\"\u003e\u003ccode\u003e1b25902\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/cf591360e72a8d01741618cd61cdeea84cf8398a\"\u003e\u003ccode\u003ecf59136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/a597ee01ed4e6d85aba5ee9f15100acc578390d9\"\u003e\u003ccode\u003ea597ee0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/fc02cedb708e2b5987a177539a903cc35155a426\"\u003e\u003ccode\u003efc02ced\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/9f1ef1f7e5500e0b3dbe2a18e25e3519847cd7a9\"\u003e\u003ccode\u003e9f1ef1f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/36ef808c6cedec6eeb9a3a4e6790e0ab46d96ff3\"\u003e\u003ccode\u003e36ef808\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/c1336c563d45f93ca3fd4da4e6c767fc267d86d0\"\u003e\u003ccode\u003ec1336c5\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/3a9a2c37eeab1d0c98845a47642d4dc27fe54ceb\"\u003e\u003ccode\u003e3a9a2c3\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/fde043207ef3d5a5e1f74aa5ddabf77d523d52d4\"\u003e\u003ccode\u003efde0432\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/2220a6d6c25ebd24c8568131636389dc0c12f82b\"\u003e\u003ccode\u003e2220a6d\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebetter-auth@1.6.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/815ecf62b6f6c5bf656ab55da393ce63d7eed0a6\"\u003e\u003ccode\u003e815ecf6\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.9\u003c/li\u003e\n\u003cli\u003ebetter-auth@1.6.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/33a3632731ab1aa722d82541dc2aff71ba3f2090\"\u003e\u003ccode\u003e33a3632\u003c/code\u003e\u003c/a\u003e fix: hotfix passkey handle undefined transports (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9746\"\u003e#9746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/8907c7df9cf330f36ded6fa3cd588faf6ca8e568\"\u003e\u003ccode\u003e8907c7d\u003c/code\u003e\u003c/a\u003e fix(passkey): consume challenge atomically and propagate inner verify errors ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f41514ef07cfafc5dbf463bd1500aee6575d88a7\"\u003e\u003ccode\u003ef41514e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.11 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9532\"\u003e#9532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/cbb5014cdf7b83dab3a156ee9b0bca216595d8cf\"\u003e\u003ccode\u003ecbb5014\u003c/code\u003e\u003c/a\u003e chore: release v1.6.10 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9350\"\u003e#9350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/ddae5817c882ed47961588e795ee194ee64c9e6b\"\u003e\u003ccode\u003eddae581\u003c/code\u003e\u003c/a\u003e fix(passkey): handle autofill ceremony failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9429\"\u003e#9429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f484269228b7eb8df0e2325e7d264bb8d7796311\"\u003e\u003ccode\u003ef484269\u003c/code\u003e\u003c/a\u003e chore: release v1.6.9 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9341\"\u003e#9341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b289ac6c4bba10aa260d45a8627adc529e0d3b32\"\u003e\u003ccode\u003eb289ac6\u003c/code\u003e\u003c/a\u003e chore: release v1.6.8 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9316\"\u003e#9316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a02e07cb8953f1450d29527a12c7801989dd08a1\"\u003e\u003ccode\u003ea02e07c\u003c/code\u003e\u003c/a\u003e fix(passkey): resolve exactOptionalPropertyTypes incompatibility  (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/passkey/issues/9270\"\u003e#9270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/@better-auth/passkey@1.6.13/packages/passkey\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@hookform/resolvers` from 5.2.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react-hook-form/resolvers/releases\"\u003e@​hookform/resolvers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/compare/v5.3.0...v5.4.0\"\u003e5.4.0\u003c/a\u003e (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add ata-validator resolver (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issue with toNestErrors.ts (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eadd guidance on passing context to \u003ccode\u003eyupResolver\u003c/code\u003e (useForm context) (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/835\"\u003e#835\u003c/a\u003e)  (\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/3d2992472adf5735b46b175e22bea82fddf13854\"\u003e3d29924\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/react-hook-form/resolvers/commit/3d2992472adf5735b46b175e22bea82fddf13854\"\u003e\u003ccode\u003e3d29924\u003c/code\u003e\u003c/a\u003e feat: add guidance on passing context to \u003ccode\u003eyupResolver\u003c/code\u003e (useForm context) (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/835\"\u003e#835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/56b68f3798612601190a533887847d8fef2c94af\"\u003e\u003ccode\u003e56b68f3\u003c/code\u003e\u003c/a\u003e feat: 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/cf8562d88ce3a1658676b2ef996347f29e05b3ee\"\u003e\u003ccode\u003ecf8562d\u003c/code\u003e\u003c/a\u003e update readme on ata-validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/5e5b6103692fa599ddacca39a03bf707e73a5012\"\u003e\u003ccode\u003e5e5b610\u003c/code\u003e\u003c/a\u003e fix issue with toNestErrors.ts (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/848\"\u003e#848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/72aacf8604d697a29a1859f8bffccf18adb86add\"\u003e\u003ccode\u003e72aacf8\u003c/code\u003e\u003c/a\u003e Revise supported versions in SECURITY.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/ad89a20d869f2dc21b905168c5578b3522c01b64\"\u003e\u003ccode\u003ead89a20\u003c/code\u003e\u003c/a\u003e feat: add ata-validator resolver (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/845\"\u003e#845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/02286db88310fd23e1de61ad880c23e210801813\"\u003e\u003ccode\u003e02286db\u003c/code\u003e\u003c/a\u003e ci: updated publish workflow to use node 24 (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/838\"\u003e#838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react-hook-form/resolvers/commit/2e9bc7c7d02506d336e20d8c0bae0c479f3662ec\"\u003e\u003ccode\u003e2e9bc7c\u003c/code\u003e\u003c/a\u003e Fix(zodResolver): error paths in complex unions \u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/787\"\u003e#787\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/react-hook-form/resolvers/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/react-hook-form/resolvers/compare/v5.2.2...v5.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.7.0 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.8.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.8.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003equeryPlanCacheMaxSize\u003c/code\u003e option to the \u003ccode\u003ePrismaClient\u003c/code\u003e constructor for fine-grained control over the query plan cache. Pass \u003ccode\u003e0\u003c/code\u003e to disable the cache entirely, or omit it to use the default cache size. A larger value can improve performance in applications that execute many unique queries, while a smaller one can reduce memory usage. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an equality filter panic and incorrect \u003ccode\u003e::jsonb\u003c/code\u003e cast when filtering on PostgreSQL JSON list columns. Queries using \u003ccode\u003ewhere: { jsonListField: { equals: [...] } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5804\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed case-insensitive JSON field filtering (\u003ccode\u003emode: insensitive\u003c/code\u003e), allowing \u003ccode\u003ewhere: { jsonField: { equals: \u0026quot;...\u0026quot;, mode: \u0026quot;insensitive\u0026quot; } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5806\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed incorrect parameterization of enum values that have a custom database name set via \u003ccode\u003e@map\u003c/code\u003e. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a database parameter limit check (\u003ccode\u003eP2029\u003c/code\u003e), which could incorrectly reject or miss over-limit queries. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a regression that caused missing SQL Server \u003ccode\u003eVARCHAR\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5801\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSchema Engine\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a misleading error message in \u003ccode\u003eprisma migrate diff\u003c/code\u003e that referenced the \u003ccode\u003e--shadow-database-url\u003c/code\u003e CLI flag, which was removed in Prisma 7. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29455\"\u003e#29455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eprisma migrate dev\u003c/code\u003e (and shadow database migration replay in general) failing with \u003ccode\u003eCREATE INDEX CONCURRENTLY cannot run inside a transaction block\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5799\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed PostgreSQL introspection silently dropping sequence defaults when the database returns the schema-qualified form \u003ccode\u003epg_catalog.nextval('sequence_name'::regclass)\u003c/code\u003e instead of the bare \u003ccode\u003enextval(...)\u003c/code\u003e. Columns backed by sequences now correctly appear as \u003ccode\u003e@default(autoincrement())\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5802\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-d1\u003c/code\u003e\u003c/strong\u003e: Savepoint operations (\u003ccode\u003ecreateSavepoint\u003c/code\u003e, \u003ccode\u003erollbackToSavepoint\u003c/code\u003e, \u003ccode\u003ereleaseSavepoint\u003c/code\u003e) now silently no-op with debug logging instead of executing SQL statements, consistent with how the D1 adapter already treats top-level transactions. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29499\"\u003e#29499\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c/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/prisma/prisma/commits/7.8.0/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.7.0 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.8.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.8.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003equeryPlanCacheMaxSize\u003c/code\u003e option to the \u003ccode\u003ePrismaClient\u003c/code\u003e constructor for fine-grained control over the query plan cache. Pass \u003ccode\u003e0\u003c/code\u003e to disable the cache entirely, or omit it to use the default cache size. A larger value can improve performance in applications that execute many unique queries, while a smaller one can reduce memory usage. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an equality filter panic and incorrect \u003ccode\u003e::jsonb\u003c/code\u003e cast when filtering on PostgreSQL JSON list columns. Queries using \u003ccode\u003ewhere: { jsonListField: { equals: [...] } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5804\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed case-insensitive JSON field filtering (\u003ccode\u003emode: insensitive\u003c/code\u003e), allowing \u003ccode\u003ewhere: { jsonField: { equals: \u0026quot;...\u0026quot;, mode: \u0026quot;insensitive\u0026quot; } }\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5806\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed incorrect parameterization of enum values that have a custom database name set via \u003ccode\u003e@map\u003c/code\u003e. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a database parameter limit check (\u003ccode\u003eP2029\u003c/code\u003e), which could incorrectly reject or miss over-limit queries. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a regression that caused missing SQL Server \u003ccode\u003eVARCHAR\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5801\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSchema Engine\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a misleading error message in \u003ccode\u003eprisma migrate diff\u003c/code\u003e that referenced the \u003ccode\u003e--shadow-database-url\u003c/code\u003e CLI flag, which was removed in Prisma 7. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29455\"\u003e#29455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eprisma migrate dev\u003c/code\u003e (and shadow database migration replay in general) failing with \u003ccode\u003eCREATE INDEX CONCURRENTLY cannot run inside a transaction block\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5799\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed PostgreSQL introspection silently dropping sequence defaults when the database returns the schema-qualified form \u003ccode\u003epg_catalog.nextval('sequence_name'::regclass)\u003c/code\u003e instead of the bare \u003ccode\u003enextval(...)\u003c/code\u003e. Columns backed by sequences now correctly appear as \u003ccode\u003e@default(autoincrement())\u003c/code\u003e\u003ccode\u003eprisma/prisma-engines#5802\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-d1\u003c/code\u003e\u003c/strong\u003e: Savepoint operations (\u003ccode\u003ecreateSavepoint\u003c/code\u003e, \u003ccode\u003erollbackToSavepoint\u003c/code\u003e, \u003ccode\u003ereleaseSavepoint\u003c/code\u003e) now silently no-op with debug logging instead of executing SQL statements, consistent with how the D1 adapter already treats top-level transactions. (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29499\"\u003e#29499\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/62b44ac01aafbe101dad63abaab7da9747f62839\"\u003e\u003ccode\u003e62b44ac\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-5.e96eae70cf4ade6a15d7e6064d5b0b4f7d835d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4104864e3fdcf0805562a6e95e318c28f302fd7b\"\u003e\u003ccode\u003e4104864\u003c/code\u003e\u003c/a\u003e feat: add a query plan cache size parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29503\"\u003e#29503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/723ba7b1abda24cc29f535560eaf13087bfd20bc\"\u003e\u003ccode\u003e723ba7b\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-4.8c287008617e9b12f313df99e2c821ae61ea9a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/cadbafe60594b909edbe3aebee7e6af1c1bb6c11\"\u003e\u003ccode\u003ecadbafe\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-2.3187e3937290320ba3c7dbd5aa94af67942b44...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/f7055337b1d1689af8a0680cc38248cb9af7bee2\"\u003e\u003ccode\u003ef705533\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.8.0-1.7b80cc56c645c6e03c7541474e6a7c8d91b70d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fbab4e8ec0359540d8e1bd8b8780ed48ee58cf54\"\u003e\u003ccode\u003efbab4e8\u003c/code\u003e\u003c/a\u003e Fix 29271 (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29303\"\u003e#29303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.8.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.5 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls wit...\n\n_Description has been truncated_","html_url":"https://github.com/idolrun/expenso/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/idolrun%2Fexpenso/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"1.4.6","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T23:29:50.000Z","version_change":"1.4.6 → 1.6.2","issue":{"uuid":"4567108502","node_id":"PR_kwDOSorf_M7hkP5o","number":3,"state":"closed","title":"Bump the npm_and_yarn group across 7 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-01T23:31:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T23:29:50.000Z","updated_at":"2026-06-01T23:34:05.000Z","time_to_close":73,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /apps/desktop directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/ssrf-safe-fetch directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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 --...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpgrade auth, tests, and observability dependencies across the repo to bring security and stability fixes. Requires a small 2FA schema change for `better-auth`.\n\n- **Dependencies**\n  - `better-auth` → 1.6.2 (CSRF fix in OAuth; 2FA behavior updates).\n  - `vitest` → 4.1.8 across root, `apps/desktop`, and packages.\n  - `@opentelemetry/sdk-node` → 0.218.0; `@opentelemetry/auto-instrumentations-node` → ^0.76.0.\n\n- **Migration**\n  - Add a `verified` boolean column to the `twoFactor` table, then run your ORM migration.\n    - Prisma: `npx auth@latest generate` → `npx prisma migrate dev` (or `prisma db push`) → `npx prisma generate`.\n    - Drizzle: `npx auth@latest generate` → `npx drizzle-kit generate` → `npx drizzle-kit migrate`.\n\n\u003csup\u003eWritten for commit 77878a9814b01142ffcf7fbe3e55f2f3e2799fb7. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/DaddyFilth/lobehubd/pull/3?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/DaddyFilth/lobehubd/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaddyFilth%2Flobehubd/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"1.4.18","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T22:56:32.000Z","version_change":"1.4.18 → 1.6.2","issue":{"uuid":"4566970800","node_id":"PR_kwDOPCFEYc7hjzc4","number":171,"state":"open","title":"chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T22:56:32.000Z","updated_at":"2026-06-01T22:57:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":2,"packages":[{"name":"better-auth","old_version":"1.4.18","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 2 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `better-auth` from 1.4.18 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/sazanami-notes/sazanami/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/sazanami-notes/sazanami/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazanami-notes%2Fsazanami/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"}},{"old_version":"1.4.18","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T20:07:45.000Z","version_change":"1.4.18 → 1.6.2","issue":{"uuid":"4566052552","node_id":"PR_kwDOSOhcxc7hgxrM","number":3,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 8 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T00:17:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T20:07:45.000Z","updated_at":"2026-06-02T00:17:45.000Z","time_to_close":14998,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":13,"packages":[{"name":"vitest","old_version":"3.2.4","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"drizzle-orm","old_version":"0.38.4","new_version":"0.45.2","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"ws","old_version":"8.19.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"better-auth","old_version":"1.4.18","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"dompurify","old_version":"3.3.2","new_version":"3.4.0","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"vite","old_version":"6.4.1","new_version":"6.4.2","repository_url":"https://github.com/vitejs/vite"},{"name":"mermaid","old_version":"11.12.3","new_version":"11.15.0","repository_url":"https://github.com/mermaid-js/mermaid"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.0` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.4` | `0.45.2` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.18` | `1.6.2` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.2` | `3.4.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.1` | `6.4.2` |\n| [mermaid](https://github.com/mermaid-js/mermaid) | `11.12.3` | `11.15.0` |\n\nBumps the npm_and_yarn group with 1 update in the /cli directory: [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 2 updates in the /packages/db directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 1 update in the /packages/mcp-server directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/plugins/examples/plugin-authoring-smoke-example directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/plugins/examples/plugin-orchestration-smoke-example directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 6 updates in the /server directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.0` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.4` | `0.45.2` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.4.18` | `1.6.2` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.2` | `3.4.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.1` | `6.4.2` |\n\nBumps the npm_and_yarn group with 1 update in the /ui directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\n\nUpdates `vitest` from 3.2.4 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1de0aa22dd6311a93546a75a3c58a6be519c1baf\"\u003e\u003ccode\u003e1de0aa2\u003c/code\u003e\u003c/a\u003e fix: correctly identify concurrent test during static analysis (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9846\"\u003e#9846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3cac1c1b5a91d921942e9391fbd94841717363f\"\u003e\u003ccode\u003ec3cac1c\u003c/code\u003e\u003c/a\u003e fix: use isAgent check, not just TTY, for watch mode (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9841\"\u003e#9841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/eab68ba2b8ea6f89717c0b885c573579659d7c3b\"\u003e\u003ccode\u003eeab68ba\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9824\"\u003e#9824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/031f02a89be34491c441b4da9c4e2bacb7db71df\"\u003e\u003ccode\u003e031f02a\u003c/code\u003e\u003c/a\u003e fix: allow catch/finally for async assertion (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9827\"\u003e#9827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e9e096a231fa0ec6475da82e36cbd6fcc9bc8f9\"\u003e\u003ccode\u003e3e9e096\u003c/code\u003e\u003c/a\u003e feat(reporters): add \u003ccode\u003eagent\u003c/code\u003e reporter to reduce ai agent token usage (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9779\"\u003e#9779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8181e06e765f4d043818b244c76795022fa78ff6\"\u003e\u003ccode\u003e8181e06\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehideSkippedTests\u003c/code\u003e should not hide \u003ccode\u003etest.todo\u003c/code\u003e (fix \u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9562\"\u003e#9562\u003c/a\u003e) (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9781\"\u003e#9781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8216b0014b83612e40ef49f919d5293b68717b3\"\u003e\u003ccode\u003ea8216b0\u003c/code\u003e\u003c/a\u003e fix: manual and redirect mock shouldn't \u003ccode\u003eload\u003c/code\u003e or \u003ccode\u003etransform\u003c/code\u003e original module...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/vitest\"\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 vitest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drizzle-orm` from 0.38.4 to 0.45.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drizzle-team/drizzle-orm/releases\"\u003edrizzle-orm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.45.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003esql.identifier()\u003c/code\u003e, \u003ccode\u003esql.as()\u003c/code\u003e escaping issues. Previously all the values passed to this functions were not properly escaped\ncausing a possible SQL Injection (CWE-89) vulnerability\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/EthanKim88\"\u003e\u003ccode\u003e@​EthanKim88\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/0x90sh\"\u003e\u003ccode\u003e@​0x90sh\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/wgoodall01\"\u003e\u003ccode\u003e@​wgoodall01\u003c/code\u003e\u003c/a\u003e for reaching out to us with a reproduction and suggested fix\u003c/p\u003e\n\u003ch2\u003e0.45.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pg-native Pool detection in node-postgres transactions breaking in environments with forbidden \u003ccode\u003erequire()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5107\"\u003e#5107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.45.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed pg-native Pool detection in node-postgres transactions\u003c/li\u003e\n\u003cli\u003eAllowed subqueries in select fields\u003c/li\u003e\n\u003cli\u003eUpdated typo algorythm =\u0026gt; algorithm\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e$onUpdate\u003c/code\u003e not handling \u003ccode\u003eSQL\u003c/code\u003e values (fixes \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/2388\"\u003e#2388\u003c/a\u003e, tests implemented by \u003ca href=\"https://github.com/L-Mario564\"\u003eL-Mario564\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/pull/2911\"\u003e#2911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003epg\u003c/code\u003e mappers not handling \u003ccode\u003eDate\u003c/code\u003e instances in \u003ccode\u003ebun-sql:postgresql\u003c/code\u003e driver responses for \u003ccode\u003edate\u003c/code\u003e, \u003ccode\u003etimestamp\u003c/code\u003e types (fixes \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4493\"\u003e#4493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix durable sqlite transaction return value \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/3746\"\u003e#3746\u003c/a\u003e - thanks \u003ca href=\"https://github.com/joaocstro\"\u003e\u003ccode\u003e@​joaocstro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add $replicas reference \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4874\"\u003e#4874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed invalid usage of \u003ccode\u003e.one()\u003c/code\u003e in \u003ccode\u003edurable-sqlite\u003c/code\u003e session\u003c/li\u003e\n\u003cli\u003eFixed spread operator related crash in sqlite \u003ccode\u003eblob\u003c/code\u003e columns\u003c/li\u003e\n\u003cli\u003eBetter browser support for sqlite \u003ccode\u003eblob\u003c/code\u003e columns\u003c/li\u003e\n\u003cli\u003eImproved sqlite \u003ccode\u003eblob\u003c/code\u003e mapping\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix wrong DrizzleQueryError export. thanks \u003ca href=\"https://github.com/nathankleyn\"\u003e\u003ccode\u003e@​nathankleyn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed types of \u003ccode\u003e$client\u003c/code\u003e for clients created by drizzle function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eawait db.$client.[...]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003eupdated_at\u003c/code\u003e column to the \u003ccode\u003eneon_auth.users_sync\u003c/code\u003e table definition.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BUG]: Fixed type issues with joins with certain variations of \u003ccode\u003etsconfig\u003c/code\u003e: \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4535\"\u003e#4535\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4457\"\u003e#4457\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/4586\"\u003e[BUG]: Drizzle can no longer run on Durable Objects\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.44.0\u003c/h2\u003e\n\u003ch2\u003eError handling\u003c/h2\u003e\n\u003cp\u003eStarting from this version, we’ve introduced a new \u003ccode\u003eDrizzleQueryError\u003c/code\u003e that wraps all errors from database drivers and provides a set of useful information:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/273c78071d4841b497f5144734b38294df7ec64b\"\u003e\u003ccode\u003e273c780\u003c/code\u003e\u003c/a\u003e + 0.45.2 (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5534\"\u003e#5534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/4aa6ecfee4b4728dadf6f77f071a149878a3c6c0\"\u003e\u003ccode\u003e4aa6ecf\u003c/code\u003e\u003c/a\u003e Kit updates (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5490\"\u003e#5490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/e8e6edfef5ca69c6188d320388ad440265911057\"\u003e\u003ccode\u003ee8e6edf\u003c/code\u003e\u003c/a\u003e feat(drizzle-kit): support d1 via binding (\u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5302\"\u003e#5302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/a086f59fba7f46f3a077893ba912c99e91eaa760\"\u003e\u003ccode\u003ea086f59\u003c/code\u003e\u003c/a\u003e Fixed pg-native Pool detection in node-postgres transactions breaking in envi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/c445637df39366bcf47b12601896ce851771c1c2\"\u003e\u003ccode\u003ec445637\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5095\"\u003e#5095\u003c/a\u003e from drizzle-team/main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/e7b3aaa26456b88cd23a7843ebc95b3bddde1ba4\"\u003e\u003ccode\u003ee7b3aaa\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/0d885a54ddafd8717f8610cf3d2899f3eef61e65\"\u003e\u003ccode\u003e0d885a5\u003c/code\u003e\u003c/a\u003e refactor: Update condition for run-feature job to improve clarity and functio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/45a1ffbcbfdd96772d0aba7d9e43744db2dce471\"\u003e\u003ccode\u003e45a1ffb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5087\"\u003e#5087\u003c/a\u003e from drizzle-team/main-workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/6357645bd33b1f444e1d081769dd4b71c3de31f8\"\u003e\u003ccode\u003e6357645\u003c/code\u003e\u003c/a\u003e chore: Comment out NEON_HTTP_CONNECTION_STRING requirement in release workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drizzle-team/drizzle-orm/commit/53dec98a936f549d0cc2e668f19db3a2df842f51\"\u003e\u003ccode\u003e53dec98\u003c/code\u003e\u003c/a\u003e refactor: Simplify release router workflow by removing unnecessary switch job...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/drizzle-team/drizzle-orm/compare/0.38.4...0.45.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for drizzle-orm since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ws` from 8.19.0 to 8.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/websockets/ws/releases\"\u003ews's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.20.1\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an uninitialized memory disclosure issue in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\n(c0327ec1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProviding a \u003ccode\u003eTypedArray\u003c/code\u003e (e.g. \u003ccode\u003eFloat32Array\u003c/code\u003e) as the \u003ccode\u003ereason\u003c/code\u003e argument for\n\u003ccode\u003ewebsocket.close()\u003c/code\u003e, rather than the supported string or \u003ccode\u003eBuffer\u003c/code\u003e types, caused\nuninitialized memory to be disclosed to the remote peer.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { deepStrictEqual } from 'node:assert';\r\nimport { WebSocket, WebSocketServer } from 'ws';\r\n\u003cp\u003econst wss = new WebSocketServer(\n{ port: 0, skipUTF8Validation: true },\nfunction () {\nconst { port } = wss.address();\nconst ws = new WebSocket(\u003ccode\u003ews://localhost:${port}\u003c/code\u003e, {\nskipUTF8Validation: true\n});\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ews.on('close', function (code, reason) {\r\n  deepStrictEqual(reason, Buffer.alloc(80));\r\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n);\u003c/p\u003e\n\u003cp\u003ewss.on('connection', function (ws) {\nws.close(1000, new Float32Array(20));\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe issue was privately reported by \u003ca href=\"https://github.com/ChALkeR\"\u003eNikita Skovoroda\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.20.0\u003c/h2\u003e\n\u003ch1\u003eFeatures\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded exports for the \u003ccode\u003ePerMessageDeflate\u003c/code\u003e class and utilities for the\n\u003ccode\u003eSec-WebSocket-Extensions\u003c/code\u003e and \u003ccode\u003eSec-WebSocket-Protocol\u003c/code\u003e headers (d3503c1f).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/5d9b316230ea931532a6671cc450f18c11edd02f\"\u003e\u003ccode\u003e5d9b316\u003c/code\u003e\u003c/a\u003e [dist] 8.20.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086\"\u003e\u003ccode\u003ec0327ec\u003c/code\u003e\u003c/a\u003e [security] Fix uninitialized memory disclosure in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/ce2a3d62437995a47e6056d485a33d21b6a8f867\"\u003e\u003ccode\u003ece2a3d6\u003c/code\u003e\u003c/a\u003e [ci] Test on node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/58e45b872bb0f35a3edd553c27e105300a4f5bd0\"\u003e\u003ccode\u003e58e45b8\u003c/code\u003e\u003c/a\u003e [ci] Do not test on node 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/5f26c245231a4b018479a9269e8c3da4773fe42f\"\u003e\u003ccode\u003e5f26c24\u003c/code\u003e\u003c/a\u003e [ci] Run the lint step on node 24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/843925544e2f4cffe445e0179947f56d6c5b608f\"\u003e\u003ccode\u003e8439255\u003c/code\u003e\u003c/a\u003e [dist] 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/d3503c1fd36a310985108f62b343bae18346ab67\"\u003e\u003ccode\u003ed3503c1\u003c/code\u003e\u003c/a\u003e [minor] Export the \u003ccode\u003ePerMessageDeflate\u003c/code\u003e class and header utils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/3ee5349a0b1580f6e1f347b59ec3371011bd8481\"\u003e\u003ccode\u003e3ee5349\u003c/code\u003e\u003c/a\u003e [api] Convert the \u003ccode\u003eisServer\u003c/code\u003e and \u003ccode\u003emaxPayload\u003c/code\u003e parameters to options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/91707b470ebd803aaa3fd1e896217740f39267d4\"\u003e\u003ccode\u003e91707b4\u003c/code\u003e\u003c/a\u003e [doc] Add missing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/websockets/ws/commit/8b553192268810a83253e2a4a39ac16768e75bb3\"\u003e\u003ccode\u003e8b55319\u003c/code\u003e\u003c/a\u003e [pkg] Update eslint to version 10.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/websockets/ws/compare/8.19.0...8.20.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.4.18 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.3.2 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eMost relevant changes:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eFORBID_TAGS\u003c/code\u003e not winning over \u003ccode\u003eADD_TAGS\u003c/code\u003e, thanks \u003ca href=\"https://github.com/kodareef5\"\u003e\u003ccode\u003e@​kodareef5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed several minor problems and typos regarding MathML attributes, thanks \u003ca href=\"https://github.com/DavidOliver\"\u003e\u003ccode\u003e@​DavidOliver\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eADD_ATTR\u003c/code\u003e/\u003ccode\u003eADD_TAGS\u003c/code\u003e function leaking into subsequent array-based calls, thanks \u003ca href=\"https://github.com/1Jesper1\"\u003e\u003ccode\u003e@​1Jesper1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a missing \u003ccode\u003eSAFE_FOR_TEMPLATES\u003c/code\u003e scrub in \u003ccode\u003eRETURN_DOM\u003c/code\u003e path, thanks \u003ca href=\"https://github.com/bencalif\"\u003e\u003ccode\u003e@​bencalif\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a prototype pollution via \u003ccode\u003eCUSTOM_ELEMENT_HANDLING\u003c/code\u003e, thanks \u003ca href=\"https://github.com/trace37labs\"\u003e\u003ccode\u003e@​trace37labs\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eADD_TAGS\u003c/code\u003e function form bypassing \u003ccode\u003eFORBID_TAGS\u003c/code\u003e, thanks \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eADD_ATTR\u003c/code\u003e predicates skipping URI validation, thanks \u003ca href=\"https://github.com/christos-eth\"\u003e\u003ccode\u003e@​christos-eth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with \u003ccode\u003eUSE_PROFILES\u003c/code\u003e prototype pollution, thanks \u003ca href=\"https://github.com/christos-eth\"\u003e\u003ccode\u003e@​christos-eth\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue leading to possible mXSS via Re-Contextualization, thanks \u003ca href=\"https://github.com/researchatfluidattacks\"\u003e\u003ccode\u003e@​researchatfluidattacks\u003c/code\u003e\u003c/a\u003e and others\u003c/li\u003e\n\u003cli\u003eFixed an issue with closing tags leading to possible mXSS, thanks \u003ca href=\"https://github.com/frevadiscor\"\u003e\u003ccode\u003e@​frevadiscor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with the type dentition patcher after Node version bump\u003c/li\u003e\n\u003cli\u003eFixed freezing BS runs by reducing the tested browsers array\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\u003c/li\u003e\n\u003cli\u003eAdded needed files for OpenSSF scorecard checks\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePublished Advisories are here:\u003c/strong\u003e\n\u003ca href=\"https://github.com/cure53/DOMPurify/security/advisories?state=published\"\u003ehttps://github.com/cure53/DOMPurify/security/advisories?state=published\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDOMPurify 3.3.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an engine requirement for Node 20 which caused hiccups, thanks \u003ca href=\"https://github.com/Rotzbua\"\u003e\u003ccode\u003e@​Rotzbua\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/cure53/DOMPurify/commit/5b16e0b892e82b1779d62b9928b43c4c4ff290b9\"\u003e\u003ccode\u003e5b16e0b\u003c/code\u003e\u003c/a\u003e Getting 3.x branch ready for 3.4.0 release (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1250\"\u003e#1250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/8bcbf73ae7eb56e7b4f1300b66cf543342c7ee27\"\u003e\u003ccode\u003e8bcbf73\u003c/code\u003e\u003c/a\u003e chore: Preparing 3.3.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/5faddd60af7b4d612f32a0c6b44432b77c8c490c\"\u003e\u003ccode\u003e5faddd6\u003c/code\u003e\u003c/a\u003e fix: engine requirement (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1210\"\u003e#1210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/0f91e3add5c028bc4110c513b0c2571b284c35af\"\u003e\u003ccode\u003e0f91e3a\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/d5ff1a8c605df1df998c2e7df2c4c8ac762b0dea\"\u003e\u003ccode\u003ed5ff1a8\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:cure53/DOMPurify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/c3efd489010366e755de9d65fd741888fd8b7462\"\u003e\u003ccode\u003ec3efd48\u003c/code\u003e\u003c/a\u003e fix: moved back from jsdom 28 to jsdom 20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/988b888108c8df911ef37e68d0e26c85ad90e885\"\u003e\u003ccode\u003e988b888\u003c/code\u003e\u003c/a\u003e fix: moved back from jsdom 28 to jsdom 20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/2726c74e9c6a0645127d1630e5ca49f64bc9fe67\"\u003e\u003ccode\u003e2726c74\u003c/code\u003e\u003c/a\u003e chore: Preparing 3.3.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/6202c7e43e9df01ba606396aed60fbae5583f7a1\"\u003e\u003ccode\u003e6202c7e\u003c/code\u003e\u003c/a\u003e build(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e and jsdom (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1204\"\u003e#1204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/302b51de22535cc90235472c52e3401bedd46f80\"\u003e\u003ccode\u003e302b51d\u003c/code\u003e\u003c/a\u003e fix: Expanded the regex ever so slightly to also cover script\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.3.2...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 6.4.1 to 6.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e6.4.2 (2026-04-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003efe28e47\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22159\"\u003e#22159\u003c/a\u003e \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22163\"\u003e#22163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003eca4da5d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22161\"\u003e#22161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6b3fad02abd550bd7b79934ff92c58dbd7f33045\"\u003e\u003ccode\u003e6b3fad0\u003c/code\u003e\u003c/a\u003e release: v6.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca4da5d1fb45c9cfdce606aa30825095791b164b\"\u003e\u003ccode\u003eca4da5d\u003c/code\u003e\u003c/a\u003e fix: avoid path traversal with optimize deps sourcemap handler (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22161\"\u003e#22161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fe28e47e9463e4c9619f94bfa06d2f8f1411b44b\"\u003e\u003ccode\u003efe28e47\u003c/code\u003e\u003c/a\u003e fix: apply server.fs check to env transport (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22159\"\u003e#22159\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22163\"\u003e#22163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5487f4f641f70c47ea05fd101a4319897df048b3\"\u003e\u003ccode\u003e5487f4f\u003c/code\u003e\u003c/a\u003e release: v6.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/1114b5d7ea03e26572708715343bec69db4536e8\"\u003e\u003ccode\u003e1114b5d\u003c/code\u003e\u003c/a\u003e fix(dev): trim trailing slash before \u003ccode\u003eserver.fs.deny\u003c/code\u003e check (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968\"\u003e#20968\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f12697c0f64b9a37196b9ab218a0911829d5b103\"\u003e\u003ccode\u003ef12697c\u003c/code\u003e\u003c/a\u003e release: v6.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ca6455ee9eb6111a9caa9810506a1b9ac96a520a\"\u003e\u003ccode\u003eca6455e\u003c/code\u003e\u003c/a\u003e feat: allow passing down resolved config to vite's createServer (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20932\"\u003e#20932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0e173d83681daa31be10fa8a62d56b1ec84690af\"\u003e\u003ccode\u003e0e173d8\u003c/code\u003e\u003c/a\u003e release: v6.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/c59a222aa584c087cfe710173de1b9ecb597a3ff\"\u003e\u003ccode\u003ec59a222\u003c/code\u003e\u003c/a\u003e fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20940\"\u003e#20940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3f337c5e24504e51188d29c970de1416ee523dbb\"\u003e\u003ccode\u003e3f337c5\u003c/code\u003e\u003c/a\u003e release: v6.3.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v6.4.2/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mermaid` from 11.12.3 to 11.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mermaid-js/mermaid/releases\"\u003emermaid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emermaid@11.15.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/mermaid-js/mermaid/pull/7174\"\u003e#7174\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/0aca21739c0d1fcaaa206e04a6cd574ebc415483\"\u003e\u003ccode\u003e0aca217\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/milesspencer35\"\u003e\u003ccode\u003e@​milesspencer35\u003c/code\u003e\u003c/a\u003e! - feat(sequence): Add support for decimal start and increment values in the \u003ccode\u003eautonumber\u003c/code\u003e directive\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7512\"\u003e#7512\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/8e17492f7365ba50896382feb69a23efd9d8a22d\"\u003e\u003ccode\u003e8e17492\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aruncveli\"\u003e\u003ccode\u003e@​aruncveli\u003c/code\u003e\u003c/a\u003e! - feat(flowchart): add datastore shape\u003c/p\u003e\n\u003cp\u003eIn Data flow diagrams, a datastore/warehouse/file/database is used to represent data persistence. It is denoted by a rectangle with only top and bottom borders, and can be used in flowcharts with \u003ccode\u003eA@{ shape: datastore, label: \u0026quot;Datastore\u0026quot; }\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/6440\"\u003e#6440\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/9ad8dde6d049adde85d8ed2d476c09b5820f3f4b\"\u003e\u003ccode\u003e9ad8dde\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/yordis\"\u003e\u003ccode\u003e@​yordis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lgazo\"\u003e\u003ccode\u003e@​lgazo\u003c/code\u003e\u003c/a\u003e! - feat: add Event Modeling diagram\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7707\"\u003e#7707\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/27db774627be1cee881961dfd0d2cb21cd01b79d\"\u003e\u003ccode\u003e27db774\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/txmxthy\"\u003e\u003ccode\u003e@​txmxthy\u003c/code\u003e\u003c/a\u003e! - feat(architecture): expose four fcose layout knobs for \u003ccode\u003earchitecture-beta\u003c/code\u003e diagrams (\u003ccode\u003enodeSeparation\u003c/code\u003e, \u003ccode\u003eidealEdgeLengthMultiplier\u003c/code\u003e, \u003ccode\u003eedgeElasticity\u003c/code\u003e, \u003ccode\u003enumIter\u003c/code\u003e) so authors can tune layout density and spread overlapping siblings without changing diagram source\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7604\"\u003e#7604\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/bf9502fb6012a4b724679b401ac928f5ee55161c\"\u003e\u003ccode\u003ebf9502f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/M-a-c\"\u003e\u003ccode\u003e@​M-a-c\u003c/code\u003e\u003c/a\u003e! - feat(class): add nested namespace support for class diagrams via dot notation and syntactic nesting\u003c/p\u003e\n\u003cp\u003eIf you have namespaces in class diagrams that use \u003ccode\u003e.\u003c/code\u003es already and want to render them without nesting (≤v11.14.0 behaviour), you can use set \u003ccode\u003eclass.hierarchicalNamespaces=false\u003c/code\u003e in your mermaid config:\u003c/p\u003e\n\u003cpre lang=\"yaml\"\u003e\u003ccode\u003econfig:\n  class:\n    hierarchicalNamespaces: false\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7272\"\u003e#7272\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/88cdd3dc0aab9577174561b04e14760c565a232b\"\u003e\u003ccode\u003e88cdd3d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/xinbenlv\"\u003e\u003ccode\u003e@​xinbenlv\u003c/code\u003e\u003c/a\u003e! - feat(sankey): add outlined label style, configurable nodeWidth/nodePadding, and custom node colors\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/e9b0f34d8d82a6260077764ee45e1d7d90957a0f\"\u003e\u003ccode\u003ee9b0f34\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: prevent unbalanced CSS styles in classDefs\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/37ff937f1da2e19f882fd1db01235db4d01f4056\"\u003e\u003ccode\u003e37ff937\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: create CSS styles using the CSSOM\u003c/p\u003e\n\u003cp\u003eThis removes some invalid CSS and normalizes some CSS formatting.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7508\"\u003e#7508\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/bfe60cc67b9a6dec64f9161f58e4d24a06c42b65\"\u003e\u003ccode\u003ebfe60cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/biiab\"\u003e\u003ccode\u003e@​biiab\u003c/code\u003e\u003c/a\u003e! - fix(stateDiagram): \u003ccode\u003eend note\u003c/code\u003e now only closes a note when used on a new line\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/faafb5d49106dd32c367f3882505f2dd625aa30e\"\u003e\u003ccode\u003efaafb5d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix(gantt): add iteration limit for \u003ccode\u003eexcludes\u003c/code\u003e field\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7737\"\u003e#7737\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/65f8be2a42faf869b811469571983cba7eeeca99\"\u003e\u003ccode\u003e65f8be2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ashishjain0512\"\u003e\u003ccode\u003e@​ashishjain0512\u003c/code\u003e\u003c/a\u003e! - fix: disallow some CSS at-rules in custom CSS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7726\"\u003e#7726\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1502f32f3c5fb944925b0c527fbbde3c4f041824\"\u003e\u003ccode\u003e1502f32\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aloisklink\"\u003e\u003ccode\u003e@​aloisklink\u003c/code\u003e\u003c/a\u003e! - fix(wardley): fix unnecessary sanitization of text\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7578\"\u003e#7578\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1f98db8e326299ac97a2fa60abfd509d8f5f16e2\"\u003e\u003ccode\u003e1f98db8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Gaston202\"\u003e\u003ccode\u003e@​Gaston202\u003c/code\u003e\u003c/a\u003e! - fix(class): self-referential class multiplicity labels no longer rendered multiple times\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7560\"\u003e#7560\u003c/a\u003e. Resolves an issue where cardinality labels on self-referential class relationships were rendered three times due to edge splitting in the dagre layout. The fix ensures that each sub-edge only carries its relevant label positions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7592\"\u003e#7592\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/2343e38498a3b31f8ce5e79f1f009e0b56fbe086\"\u003e\u003ccode\u003e2343e38\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/knsv-bot\"\u003e\u003ccode\u003e@​knsv-bot\u003c/code\u003e\u003c/a\u003e! - fix(sequence): add background box behind alt/else section title labels in sequence diagrams\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7589\"\u003e#7589\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/7fb9509b8b5cb1dc48519dc60cf6cdc6afba0462\"\u003e\u003ccode\u003e7fb9509\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/NYCU-Chung\"\u003e\u003ccode\u003e@​NYCU-Chung\u003c/code\u003e\u003c/a\u003e! - fix(block): prevent column widths from shrinking when mixing different column spans\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/pull/7632\"\u003e#7632\u003c/a\u003e \u003ca href=\"https://github.com/mermaid-js/mermaid/commit/3f9e0f15bedc1e2c71ddb6b34192d1a21124cfc2\"\u003e\u003ccode\u003e3f9e0f1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ekiauhce\"\u003e\u003ccode\u003e@​ekiauhce\u003c/code\u003e\u003c/a\u003e! - fix(sequence): correct messageAlign label position for right-to-left arrows in sequence diagrams\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/mermaid-js/mermaid/commit/41646dfd43ac83f001b03c70605feb036afae46d\"\u003e\u003ccode\u003e41646df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7739\"\u003e#7739\u003c/a\u003e from aloisklink/ci/fix-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/2671f5c44a1515960ebc41c09a365c41860f95ee\"\u003e\u003ccode\u003e2671f5c\u003c/code\u003e\u003c/a\u003e docs: fix v11.15.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/f4bf04b5db8bed603e40ed3d5ce5228d6b07754e\"\u003e\u003ccode\u003ef4bf04b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7738\"\u003e#7738\u003c/a\u003e from mermaid-js/changeset-release/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/abfb563e1dcbd46d617f44a6361bd6d926dc6289\"\u003e\u003ccode\u003eabfb563\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/60b289f428d0a0832ad95ed4e1fb326344e23532\"\u003e\u003ccode\u003e60b289f\u003c/code\u003e\u003c/a\u003e Release Candidate 11.15.0 (\u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7737\"\u003e#7737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/d37c0db39ca2405b4473361063df2c47109dc2c9\"\u003e\u003ccode\u003ed37c0db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7730\"\u003e#7730\u003c/a\u003e from aloisklink/fix/fix-edgeLabelRightLeft-changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/5ab5a2895fa8b7e90de85b43a4b99aa50b39b0f1\"\u003e\u003ccode\u003e5ab5a28\u003c/code\u003e\u003c/a\u003e docs: improve nested namespace changeset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/18f8b4c5bf67aface3485272b48042f2fdd6fad2\"\u003e\u003ccode\u003e18f8b4c\u003c/code\u003e\u003c/a\u003e fix: revert endEdgeLabelLeft/endEdgeLabelRight change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/504b2eb73d4d827baa817efd47ab6f44ae769b5a\"\u003e\u003ccode\u003e504b2eb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mermaid-js/mermaid/issues/7726\"\u003e#7726\u003c/a\u003e from aloisklink/fix/correct-unnecessary-html-escapes...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mermaid-js/mermaid/commit/1502f32f3c5fb944925b0c527fbbde3c4f041824\"\u003e\u003ccode\u003e1502f32\u003c/code\u003e\u003c/a\u003e fix(wardley): fix unnecessary sanitization of text\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mermaid-js/mermaid/compare/mermaid@11.12.3...mermaid@11.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `defu` from 6.1.4 to 6.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/unjs/defu/releases\"\u003edefu's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.7\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.6...v6.1.7\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e📦 Build\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the \u003ccode\u003etypes\u003c/code\u003e export entry (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/160\"\u003e#160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport Defu types (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eJakub Michálek (\u003ca href=\"https://github.com/J-Michalek\"\u003e\u003ccode\u003e@​J-Michalek\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKricsleo (\u003ca href=\"https://github.com/kricsleo\"\u003e\u003ccode\u003e@​kricsleo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.6\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.5...v6.1.6\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e📦 Build\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix mixed types (\u003ca href=\"https://github.com/unjs/defu/commit/407b516\"\u003e407b516\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.5\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/unjs/defu/compare/v6.1.4...v6.1.5\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent prototype pollution via \u003ccode\u003e__proto__\u003c/code\u003e in defaults (\u003ca href=\"https://redirect.github.com/unjs/defu/pull/156\"\u003e#156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore inherited enumerable properties (\u003ca href=\"https://github.com/unjs/defu/commit/11ba022\"\u003e11ba022\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✅ Tests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more tests for plain objects (\u003ca href=\"https://github.com/unjs/defu/commit/b65f603\"\u003eb65f603\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contr...\n\n_Description has been truncated_\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpgrade dependencies across the repo to pick up security fixes and refresh test/build tooling. Notably upgrades `vitest` to v4 and `better-auth` to 1.6.2, which requires a small DB migration.\n\n- **Dependencies**\n  - `better-auth` → 1.6.2 (2FA flow improvements, CSRF fix)\n  - `drizzle-orm` → 0.45.2 (identifier escaping fix)\n  - `ws` → 8.20.1 (fixes memory disclosure in `close()`)\n  - `dompurify` → 3.4.0 (multiple security fixes)\n  - `vitest` → 4.1.0 (test runner upgrade)\n  - `vite` → 6.4.2 (security hardening)\n  - `mermaid` → 11.15.0 (new features)\n  - `esbuild` → 0.28.0 (build tool update)\n\n- **Migration**\n  - For `better-auth` 1.6.2, add `verified` to the `twoFactor` table:\n    - Run `npx auth@latest generate`\n    - With Drizzle: run `npx drizzle-kit generate` then `npx drizzle-kit migrate`\n    - No data backfill needed (defaults to `true`)\n\n\u003csup\u003eWritten for commit 7110579296c698514cde02e3750796c0e1a44e42. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/EmiyaKiritsugu3/paperclip/pull/3?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"Review in cubic\" src=\"https://cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/EmiyaKiritsugu3/paperclip/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmiyaKiritsugu3%2Fpaperclip/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"1.4.6","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T19:05:21.000Z","version_change":"1.4.6 → 1.6.2","issue":{"uuid":"4565635597","node_id":"PR_kwDOPbApZM7hfZDl","number":8,"state":"open","title":"build(deps): bump the npm_and_yarn group across 4 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T19:05:21.000Z","updated_at":"2026-06-01T19:08:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/Sherlock999xxx/lobe-chat/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sherlock999xxx%2Flobe-chat/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"1.4.6","new_version":"1.6.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T19:04:53.000Z","version_change":"1.4.6 → 1.6.2","issue":{"uuid":"4565632954","node_id":"PR_kwDOQVkdzc7hfYhC","number":70,"state":"closed","title":"chore(deps): bump the npm_and_yarn group across 5 directories with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-01T23:06:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T19:04:53.000Z","updated_at":"2026-06-01T23:06:54.000Z","time_to_close":14519,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm_and_yarn","update_count":3,"packages":[{"name":"better-auth","old_version":"1.4.6","new_version":"1.6.2","repository_url":"https://github.com/better-auth/better-auth"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@opentelemetry/sdk-node","old_version":"0.208.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest","old_version":"3.2.6","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm_and_yarn group with 3 updates in the / directory: [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/agent-mock directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/device-gateway-client directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /packages/observability-otel directory: [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js).\n\nUpdates `better-auth` from 1.4.6 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003e❗ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevented unverified TOTP enrollment from blocking sign-in (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e Schema migration required.\u003c/p\u003e\n\u003cp\u003eAdd the \u003ccode\u003everified\u003c/code\u003e column to the \u003ccode\u003etwoFactor\u003c/code\u003e table, then regenerate/apply your ORM migration.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrisma: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx prisma migrate dev\u003c/code\u003e (or \u003ccode\u003enpx prisma db push\u003c/code\u003e) and \u003ccode\u003enpx prisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDrizzle: run \u003ccode\u003enpx auth@latest generate\u003c/code\u003e, then \u003ccode\u003enpx drizzle-kit generate\u003c/code\u003e and \u003ccode\u003enpx drizzle-kit migrate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eExisting rows do not need a backfill because the column defaults to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncluded enabled 2FA methods in sign-in redirect response (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed OAuth state verification against cookie-stored nonce to prevent CSRF (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed infinite router refresh loops in \u003ccode\u003enextCookies()\u003c/code\u003e by replacing cookie probe with header-based RSC detection (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cross-provider account collision in link-social callback (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncluded \u003ccode\u003eRelayState\u003c/code\u003e in signed SAML AuthnRequests (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed multi-valued query params collapsing through prompt redirects (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9060\"\u003e#9060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRejected \u003ccode\u003eskip_consent\u003c/code\u003e at schema level in dynamic client registration (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8998\"\u003e#8998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAMLResponse decoding failures caused by line-wrapped base64 (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8968\"\u003e#8968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/3c12c2043a0be4bbc4438f32e115c381550edce3/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eThanks to everyone who contributed to this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dvanmali\"\u003e\u003ccode\u003e@​dvanmali\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.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/better-auth/better-auth/pull/8949\"\u003e#8949\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - security: verify OAuth state parameter against cookie-stored nonce to prevent CSRF on cookie-backed flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8983\"\u003e#8983\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jaydeep-pipaliya\"\u003e\u003ccode\u003e@​jaydeep-pipaliya\u003c/code\u003e\u003c/a\u003e! - fix(oauth2): prevent cross-provider account collision in link-social callback\u003c/p\u003e\n\u003cp\u003eThe link-social callback used \u003ccode\u003efindAccount(accountId)\u003c/code\u003e which matched by account ID across all providers. When two providers return the same numeric ID (e.g. both Google and GitHub assign \u003ccode\u003e99999\u003c/code\u003e), the lookup could match the wrong provider's account, causing a spurious \u003ccode\u003eaccount_already_linked_to_different_user\u003c/code\u003e error or silently updating the wrong account's tokens.\u003c/p\u003e\n\u003cp\u003eReplaced with \u003ccode\u003efindAccountByProviderId(accountId, providerId)\u003c/code\u003e to scope the lookup to the correct provider, matching the pattern already used in the generic OAuth plugin.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9059\"\u003e#9059\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(next-js): replace cookie probe with header-based RSC detection in \u003ccode\u003enextCookies()\u003c/code\u003e to prevent infinite router refresh loops and eliminate leaked \u003ccode\u003e__better-auth-cookie-store\u003c/code\u003e cookie. Also fix two-factor enrollment flows to set the new session cookie before deleting the old session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9058\"\u003e#9058\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/608d8c3082c2d6e52c6ca6a8f38348619869b1ae\"\u003e\u003ccode\u003e608d8c3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - fix(sso): include RelayState in signed SAML AuthnRequests per SAML 2.0 Bindings §3.4.4.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelayState is now passed to samlify's ServiceProvider constructor so it is included in the redirect binding signature. Previously it was appended after the signature, causing spec-compliant IdPs to reject signed AuthnRequests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eauthnRequestsSigned: true\u003c/code\u003e without a private key now throws instead of silently sending unsigned requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8772\"\u003e#8772\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - feat(two-factor): include enabled 2fa methods in sign-in redirect response\u003c/p\u003e\n\u003cp\u003eThe 2FA sign-in redirect now returns \u003ccode\u003etwoFactorMethods\u003c/code\u003e (e.g. \u003ccode\u003e[\u0026quot;totp\u0026quot;, \u0026quot;otp\u0026quot;]\u003c/code\u003e) so frontends can render the correct verification UI without guessing. The \u003ccode\u003eonTwoFactorRedirect\u003c/code\u003e client callback receives \u003ccode\u003etwoFactorMethods\u003c/code\u003e as a context parameter.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTOTP is included only when the user has a verified TOTP secret and TOTP is not disabled in config.\u003c/li\u003e\n\u003cli\u003eOTP is included when \u003ccode\u003eotpOptions.sendOTP\u003c/code\u003e is configured.\u003c/li\u003e\n\u003cli\u003eUnverified TOTP enrollments are excluded from the methods list.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8711\"\u003e#8711\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aarmful\"\u003e\u003ccode\u003e@​aarmful\u003c/code\u003e\u003c/a\u003e! - fix(two-factor): prevent unverified TOTP enrollment from gating sign-in\u003c/p\u003e\n\u003cp\u003eAdds a \u003ccode\u003everified\u003c/code\u003e boolean column to the \u003ccode\u003etwoFactor\u003c/code\u003e table that tracks whether a TOTP secret has been confirmed by the user.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst-time enrollment:\u003c/strong\u003e \u003ccode\u003eenableTwoFactor\u003c/code\u003e creates the row with \u003ccode\u003everified: false\u003c/code\u003e. The row is promoted to \u003ccode\u003everified: true\u003c/code\u003e only after \u003ccode\u003everifyTOTP\u003c/code\u003e succeeds with a valid code.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-enrollment\u003c/strong\u003e (calling \u003ccode\u003eenableTwoFactor\u003c/code\u003e when TOTP is already verified): the new row preserves \u003ccode\u003everified: true\u003c/code\u003e, so the user is never locked out of sign-in while rotating their TOTP secret.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSign-in:\u003c/strong\u003e \u003ccode\u003everifyTOTP\u003c/code\u003e rejects rows where \u003ccode\u003everified === false\u003c/code\u003e, preventing abandoned enrollments from blocking authentication. Backup codes and OTP are unaffected and work as fallbacks during unfinished enrollment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMigration:\u003c/strong\u003e The new column defaults to \u003ccode\u003etrue\u003c/code\u003e, so existing \u003ccode\u003etwoFactor\u003c/code\u003e rows are treated as verified. No data migration is required. \u003ccode\u003eskipVerificationOnEnable: true\u003c/code\u003e is also unaffected — the row is created as \u003ccode\u003everified: true\u003c/code\u003e in that mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/700d298e1e6df7d6f381b6fa8456cc32aacf0b57\"\u003e\u003ccode\u003e700d298\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9052\"\u003e#9052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/b20fa424c379396f0b86f94fbac1604e4a17fe19\"\u003e\u003ccode\u003eb20fa42\u003c/code\u003e\u003c/a\u003e fix(next-js): replace cookie probe with header-based RSC detection in nextCoo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2cbcb9baacdd8e6fa1ed605e9b788f8922f0a8c2\"\u003e\u003ccode\u003e2cbcb9b\u003c/code\u003e\u003c/a\u003e fix(oauth2): prevent cross-provider account collision in link-social callback...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9deb7936aba7931f2db4b460141f476508f11bfd\"\u003e\u003ccode\u003e9deb793\u003c/code\u003e\u003c/a\u003e fix: cookie store strategy should verify oauth state (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8949\"\u003e#8949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/84098432ad8432fe33b3134d933e574259f3430a\"\u003e\u003ccode\u003e8409843\u003c/code\u003e\u003c/a\u003e feat(two-factor): include enabled 2fa methods in sign-in redirect response (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/e78a7b120d56b7320cc8d818270e20057963a7b2\"\u003e\u003ccode\u003ee78a7b1\u003c/code\u003e\u003c/a\u003e fix(two-factor): prevent unverified TOTP enrollment from gating sign-in (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.2/packages/better-auth\"\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 better-auth since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `@opentelemetry/sdk-node` from 0.208.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.208.0...experimental/v0.218.0\"\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.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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\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/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\nUpdates `vitest` from 3.2.6 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...\n\n_Description has been truncated_","html_url":"https://github.com/hezhijie0327/lobehub/pull/70","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hezhijie0327%2Flobehub/issues/70","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/70/packages"}},{"old_version":"1.6.11","new_version":"1.6.13","update_type":"patch","path":null,"pr_created_at":"2026-06-01T14:02:52.000Z","version_change":"1.6.11 → 1.6.13","issue":{"uuid":"4563712485","node_id":"PR_kwDOR5QMZ87hZGsr","number":142,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T22:36:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T14:02:52.000Z","updated_at":"2026-06-03T22:36:18.000Z","time_to_close":203604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":9,"packages":[{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","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"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"shadcn","old_version":"4.8.2","new_version":"4.10.0","repository_url":"https://github.com/shadcn-ui/ui"},{"name":"@eslint-react/eslint-plugin","old_version":"5.8.6","new_version":"5.8.9","repository_url":"https://github.com/Rel1cx/eslint-react"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"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"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.8` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `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| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.13` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.8.2` | `4.10.0` |\n| [@eslint-react/eslint-plugin](https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin) | `5.8.6` | `5.8.9` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n\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/ui` 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/ui'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\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/ui\"\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\nUpdates `better-auth` from 1.6.11 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\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 `shadcn` from 4.8.2 to 4.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shadcn-ui/ui/releases\"\u003eshadcn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eshadcn@4.10.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10842\"\u003e#10842\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c467361dee9e20631b2999040912439b35d4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add support for GitHub registries. See the \u003ca href=\"https://ui.shadcn.com/docs/registry/github\"\u003edocs\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eshadcn@4.9.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10834\"\u003e#10834\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1439f54260aa0c51747261c220334ec641\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add npx shadcn eject\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eshadcn@4.8.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/shadcn-ui/ui/pull/10659\"\u003e#10659\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e07900769d91b09def00e68179bcb7a821f59b954\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/raashish1601\"\u003e\u003ccode\u003e@​raashish1601\u003c/code\u003e\u003c/a\u003e! - update template handling\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10495\"\u003e#10495\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a19c3ee13ac78b656027462007c8bdaa6d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/artemxknpv\"\u003e\u003ccode\u003e@​artemxknpv\u003c/code\u003e\u003c/a\u003e! - Preserve quotes in className literals when applying RTL transforms.\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/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md\"\u003eshadcn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.10.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10842\"\u003e#10842\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c467361dee9e20631b2999040912439b35d4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add support for GitHub registries\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10834\"\u003e#10834\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1439f54260aa0c51747261c220334ec641\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/shadcn\"\u003e\u003ccode\u003e@​shadcn\u003c/code\u003e\u003c/a\u003e! - add npx shadcn eject\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.8.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/shadcn-ui/ui/pull/10659\"\u003e#10659\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e07900769d91b09def00e68179bcb7a821f59b954\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/raashish1601\"\u003e\u003ccode\u003e@​raashish1601\u003c/code\u003e\u003c/a\u003e! - update template handling\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/shadcn-ui/ui/pull/10495\"\u003e#10495\u003c/a\u003e \u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a19c3ee13ac78b656027462007c8bdaa6d5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/artemxknpv\"\u003e\u003ccode\u003e@​artemxknpv\u003c/code\u003e\u003c/a\u003e! - Preserve quotes in className literals when applying RTL transforms.\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/shadcn-ui/ui/commit/adac7cae1f5bb08c210483b73732100cec51987c\"\u003e\u003ccode\u003eadac7ca\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10845\"\u003e#10845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/7c63c467361dee9e20631b2999040912439b35d4\"\u003e\u003ccode\u003e7c63c46\u003c/code\u003e\u003c/a\u003e feat(registry): add GitHub registry support (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10842\"\u003e#10842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/460ad60d84617836762a8800755fafef37f662df\"\u003e\u003ccode\u003e460ad60\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10835\"\u003e#10835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/8e2d2d1439f54260aa0c51747261c220334ec641\"\u003e\u003ccode\u003e8e2d2d1\u003c/code\u003e\u003c/a\u003e feat: add shadcn eject (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10834\"\u003e#10834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/5c849297d0113c648a291e426469af688ac59ebf\"\u003e\u003ccode\u003e5c84929\u003c/code\u003e\u003c/a\u003e feat(release): add beta and rc prerelease labels (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10806\"\u003e#10806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/2baa86081d9df6aa58e3573e27789eda80f8b1e0\"\u003e\u003ccode\u003e2baa860\u003c/code\u003e\u003c/a\u003e chore(release): version packages (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10791\"\u003e#10791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/07900769d91b09def00e68179bcb7a821f59b954\"\u003e\u003ccode\u003e0790076\u003c/code\u003e\u003c/a\u003e fix(cli): update template handling for pnpm 11 (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10659\"\u003e#10659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shadcn-ui/ui/commit/360e8a19c3ee13ac78b656027462007c8bdaa6d5\"\u003e\u003ccode\u003e360e8a1\u003c/code\u003e\u003c/a\u003e fix(transform-rtl): preserve quotes in transformed className literals (\u003ca href=\"https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn/issues/10495\"\u003e#10495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/shadcn-ui/ui/commits/shadcn@4.10.0/packages/shadcn\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-react/eslint-plugin` from 5.8.6 to 5.8.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rel1cx/eslint-react/releases\"\u003e@​eslint-react/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.8.9 (2026-06-01)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐞 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-direct-mutation-state\u003c/code\u003e\u003c/strong\u003e: Detect nested state mutations and member expressions in assignment expressions (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1818\"\u003e#1818\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated contributing guide and monorepo structure documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eExamples\u003c/strong\u003e: Removed \u003ccode\u003e.vscode\u003c/code\u003e directories from all examples, added missing \u003ccode\u003eengines.node\u003c/code\u003e to Preact examples, cleaned up redundant \u003ccode\u003e.config/*.ts\u003c/code\u003e from \u003ccode\u003etsconfig.node.json\u003c/code\u003e, and updated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Cleaned up configs and docs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeps\u003c/strong\u003e: Patch bumped \u003ccode\u003eeslint\u003c/code\u003e, \u003ccode\u003etinyglobby\u003c/code\u003e, and \u003ccode\u003etsdown\u003c/code\u003e across workspace packages; added \u003ccode\u003e@fontsource/iosevka-aile\u003c/code\u003e to the website; reordered CSS imports in \u003ccode\u003elayout.tsx\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.sentrux\u003c/code\u003e baseline timestamp.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAttestation\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/attestations/29343471\"\u003ehttps://github.com/Rel1cx/eslint-react/attestations/29343471\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.8 (2026-05-31)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekit\u003c/code\u003e\u003c/strong\u003e: Added \u003ccode\u003eis.APICall\u003c/code\u003e callout to the Kit documentation (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejsx\u003c/code\u003e\u003c/strong\u003e: Updated \u003ccode\u003egetChildren\u003c/code\u003e and \u003ccode\u003ehasChildren\u003c/code\u003e API documentation to reflect empty string children behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Reworked status emoji indicators across docs and examples (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1816\"\u003e#1816\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added ℞ prefix to recipe titles and cleaned up See Also sections.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Removed the \u003ccode\u003ecustom-rules-of-children\u003c/code\u003e recipe and cross-linked the remaining recipes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added redirects for moved rule documentation.\u003c/li\u003e\n\u003cli\u003eCleaned up the \u0026quot;Community Maintained Presets that use ESLint React\u0026quot; documentation page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-misused-capture-owner-stack\u003c/code\u003e\u003c/strong\u003e: Added edge-case tests for \u003ccode\u003ecaptureOwnerStack\u003c/code\u003e (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated fonts and dropped the \u003ccode\u003edata-theme\u003c/code\u003e attribute.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated theme configuration (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1815\"\u003e#1815\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMonorepo\u003c/strong\u003e: Aligned the \u003ccode\u003etsdown\u003c/code\u003e version in \u003ccode\u003e@local/configs\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epnpm-workspace\u003c/strong\u003e: Enabled \u003ccode\u003etrustPolicy: \u0026quot;no-downgrade\u0026quot;\u003c/code\u003e and added \u003ccode\u003eminimumReleaseAge: 1440\u003c/code\u003e (1 day).\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003e10.4.1\u003c/code\u003e across workspace packages.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003epnpm\u003c/code\u003e to \u003ccode\u003e11.5.0\u003c/code\u003e and refreshed the lockfile.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003efumadocs\u003c/code\u003e packages and \u003ccode\u003etinyexec\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rel1cx/eslint-react/blob/main/CHANGELOG.md\"\u003e@​eslint-react/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.8.9 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003e🐞 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-direct-mutation-state\u003c/code\u003e\u003c/strong\u003e: Detect nested state mutations and member expressions in assignment expressions (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1818\"\u003e#1818\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated contributing guide and monorepo structure documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eExamples\u003c/strong\u003e: Removed \u003ccode\u003e.vscode\u003c/code\u003e directories from all examples, added missing \u003ccode\u003eengines.node\u003c/code\u003e to Preact examples, cleaned up redundant \u003ccode\u003e.config/*.ts\u003c/code\u003e from \u003ccode\u003etsconfig.node.json\u003c/code\u003e, and updated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Cleaned up configs and docs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDeps\u003c/strong\u003e: Patch bumped \u003ccode\u003eeslint\u003c/code\u003e, \u003ccode\u003etinyglobby\u003c/code\u003e, and \u003ccode\u003etsdown\u003c/code\u003e across workspace packages; added \u003ccode\u003e@fontsource/iosevka-aile\u003c/code\u003e to the website; reordered CSS imports in \u003ccode\u003elayout.tsx\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.sentrux\u003c/code\u003e baseline timestamp.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.8...v5.8.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.8 (2026-05-31)\u003c/h2\u003e\n\u003ch3\u003e📝 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekit\u003c/code\u003e\u003c/strong\u003e: Added \u003ccode\u003eis.APICall\u003c/code\u003e callout to the Kit documentation (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejsx\u003c/code\u003e\u003c/strong\u003e: Updated \u003ccode\u003egetChildren\u003c/code\u003e and \u003ccode\u003ehasChildren\u003c/code\u003e API documentation to reflect empty string children behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Reworked status emoji indicators across docs and examples (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1816\"\u003e#1816\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added ℞ prefix to recipe titles and cleaned up See Also sections.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Removed the \u003ccode\u003ecustom-rules-of-children\u003c/code\u003e recipe and cross-linked the remaining recipes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Added redirects for moved rule documentation.\u003c/li\u003e\n\u003cli\u003eCleaned up the \u0026quot;Community Maintained Presets that use ESLint React\u0026quot; documentation page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏗️ Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ereact-x/no-misused-capture-owner-stack\u003c/code\u003e\u003c/strong\u003e: Added edge-case tests for \u003ccode\u003ecaptureOwnerStack\u003c/code\u003e (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1813\"\u003e#1813\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated fonts and dropped the \u003ccode\u003edata-theme\u003c/code\u003e attribute.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e: Updated theme configuration (\u003ca href=\"https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin/issues/1815\"\u003e#1815\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMonorepo\u003c/strong\u003e: Aligned the \u003ccode\u003etsdown\u003c/code\u003e version in \u003ccode\u003e@local/configs\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epnpm-workspace\u003c/strong\u003e: Enabled \u003ccode\u003etrustPolicy: \u0026quot;no-downgrade\u0026quot;\u003c/code\u003e and added \u003ccode\u003eminimumReleaseAge: 1440\u003c/code\u003e (1 day).\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003e10.4.1\u003c/code\u003e across workspace packages.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003epnpm\u003c/code\u003e to \u003ccode\u003e11.5.0\u003c/code\u003e and refreshed the lockfile.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003efumadocs\u003c/code\u003e packages and \u003ccode\u003etinyexec\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBumped \u003ccode\u003eeslint-plugin-package-json\u003c/code\u003e to \u003ccode\u003e1.2.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated dprint plugins and reformatted font families in example projects.\u003c/li\u003e\n\u003cli\u003eUpdated Sentrux baseline metrics.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e.gitignore\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Rel1cx/eslint-react/compare/v5.8.7...v5.8.8\"\u003ehttps://github.com/Rel1cx/eslint-react/compare/v5.8.7...v5.8.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.8.7 (2026-05-29)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/ff9258dc21cd08546d20e8596d2de9e5387a6875\"\u003e\u003ccode\u003eff9258d\u003c/code\u003e\u003c/a\u003e release: 5.8.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/60e2514c793e3f7c06f6bb1f81ac6a20da014cfa\"\u003e\u003ccode\u003e60e2514\u003c/code\u003e\u003c/a\u003e release: 5.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/5b62a422ea43365ed2abab803a95f34cab47a335\"\u003e\u003ccode\u003e5b62a42\u003c/code\u003e\u003c/a\u003e Update baseline timestamp and bump eslint to 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/0e85aa0e12f2f1cfe0c0203908f0a4e32e4c8c06\"\u003e\u003ccode\u003e0e85aa0\u003c/code\u003e\u003c/a\u003e release: 5.8.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/d2e2d2db15ca432a571831238bdfca72a5485d9f\"\u003e\u003ccode\u003ed2e2d2d\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/7f9bd4a174d1ff660087c82d28ba6faea375c791\"\u003e\u003ccode\u003e7f9bd4a\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/449f940c05ff05556d8af9b7bcc3098bcef463a9\"\u003e\u003ccode\u003e449f940\u003c/code\u003e\u003c/a\u003e docs: fix inaccurate minimum ESLint version and off preset description in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/846014c8c4d4cfe8b22a67424f2c15b339f8bb1f\"\u003e\u003ccode\u003e846014c\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/9ad3404c5ae8a48c14a6e23b121250ec78364f85\"\u003e\u003ccode\u003e9ad3404\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rel1cx/eslint-react/commit/a29c464e7111dd9df50d549c9b749f4254a68014\"\u003e\u003ccode\u003ea29c464\u003c/code\u003e\u003c/a\u003e release: 5.8.7-beta.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Rel1cx/eslint-react/commits/v5.8.9/plugins/eslint-plugin\"\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 `eslint-import-resolver-typescript` from 4.4.4 to 4.4.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/releases\"\u003eeslint-import-resolver-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473\"\u003e#473\u003c/a\u003e \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/leey0818\"\u003e\u003ccode\u003e@​leey0818\u003c/code\u003e\u003c/a\u003e! - fix: check tsconfig matching before using resolver\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/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md\"\u003eeslint-import-resolver-typescript's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.4.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/473\"\u003e#473\u003c/a\u003e \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/leey0818\"\u003e\u003ccode\u003e@​leey0818\u003c/code\u003e\u003c/a\u003e! - fix: check tsconfig matching before using resolver\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/724c47d8c08fa8ffa702c7a94ba53b367a4727fb\"\u003e\u003ccode\u003e724c47d\u003c/code\u003e\u003c/a\u003e chore: release eslint-import-resolver-typescript (\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/commit/32c61abccf26bd2a2267f2e0e67d82e6f88d149a\"\u003e\u003ccode\u003e32c61ab\u003c/code\u003e\u003c/a\u003e fix: check tsconfig matching before using resolver (\u003ca href=\"https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/import-js/eslint-import-resolver-typescript/compare/v4.4.4...v4.4.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-import-resolver-typescript since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/CaseyHoover/FullStackSkeleton/pull/142","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaseyHoover%2FFullStackSkeleton/issues/142","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/142/packages"}},{"old_version":"1.6.11","new_version":"1.6.12","update_type":"patch","path":null,"pr_created_at":"2026-06-01T04:00:11.000Z","version_change":"1.6.11 → 1.6.12","issue":{"uuid":"4560221598","node_id":"PR_kwDOSmnPgc7hNwyU","number":24,"state":"open","title":"chore(deps): bump the npm-dependencies group 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-01T04:00:11.000Z","updated_at":"2026-06-03T11:33:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":5,"packages":[{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.12","repository_url":"https://github.com/better-auth/better-auth"},{"name":"lucide-react","old_version":"1.16.0","new_version":"1.17.0","repository_url":"https://github.com/lucide-icons/lucide"},{"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":"lefthook","old_version":"2.1.8","new_version":"2.1.9","repository_url":"https://github.com/evilmartians/lefthook"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.12` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.16.0` | `1.17.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| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |\n\nUpdates `better-auth` from 1.6.11 to 1.6.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.12\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed field index ordering in \u003ccode\u003egetMigration\u003c/code\u003e migrations. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9691\"\u003e#9691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed synthetic user construction to exclude extra fields. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9347\"\u003e#9347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed session cookie refresh headers not being forwarded when resolving sessions. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9667\"\u003e#9667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003echangeEmail\u003c/code\u003e to return an error when \u003ccode\u003eemailVerification.sendVerificationEmail\u003c/code\u003e is missing, and URL-encoded \u003ccode\u003ecallbackURL\u003c/code\u003e in verify-email links. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9614\"\u003e#9614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003ecallbackURL\u003c/code\u003e URL-encoding in verify-email links for OAuth account linking and username sign-in. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9792\"\u003e#9792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erole.authorize\u003c/code\u003e to reject empty action lists and correctly evaluate \u003ccode\u003eOR\u003c/code\u003e conditions on unknown resources. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9603\"\u003e#9603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed missing exports of \u003ccode\u003eAdminClientOptions\u003c/code\u003e and \u003ccode\u003eOrganizationClientOptions\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9642\"\u003e#9642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed email OTP sign-in failing with captcha errors under default captcha settings. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9596\"\u003e#9596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eparseJSON\u003c/code\u003e to properly decode escape sequences in quoted strings. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9617\"\u003e#9617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cookie parsing to tolerate missing spaces after \u003ccode\u003e;\u003c/code\u003e separators, preventing users behind certain proxies from being treated as logged-out. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9543\"\u003e#9543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetTrustedOrigins\u003c/code\u003e to respect the dynamic \u003ccode\u003ebaseURL\u003c/code\u003e protocol option. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9644\"\u003e#9644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed request mutation by cloning the request before passing it to the \u003ccode\u003esendVerificationEmail\u003c/code\u003e callback. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9619\"\u003e#9619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e config option to \u003ccode\u003egenericOAuth\u003c/code\u003e for providers that omit \u003ccode\u003eexpires_in\u003c/code\u003e in their token response. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9799\"\u003e#9799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed oauth-proxy to forward specific error codes instead of collapsing all errors into \u003ccode\u003euser_creation_failed\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9723\"\u003e#9723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed oauth-proxy flows failing with \u003ccode\u003estate_mismatch\u003c/code\u003e when production and preview environments use different secrets. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9385\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth callback errors to forward specific error codes (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e) instead of the generic \u003ccode\u003eplease_restart_the_process\u003c/code\u003e code. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9788\"\u003e#9788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth state validation failures to redirect to the per-flow \u003ccode\u003eerrorCallbackURL\u003c/code\u003e instead of the default error page. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9789\"\u003e#9789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OpenAPI schema generation to emit unique \u003ccode\u003eoperationId\u003c/code\u003es for endpoints that expose multiple HTTP methods. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9721\"\u003e#9721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization invitations silently routing users to the wrong team when team IDs contained a comma. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9616\"\u003e#9616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edeleteOrganization\u003c/code\u003e and \u003ccode\u003eremoveMember\u003c/code\u003e to roll back on failure instead of leaving orphaned rows. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9630\"\u003e#9630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed stateless session cache refresh to preserve the real session expiry instead of resetting it. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8817\"\u003e#8817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a session cookie leak that allowed \u003ccode\u003esession_token\u003c/code\u003e and \u003ccode\u003esession_data\u003c/code\u003e cookies to be captured and replayed to bypass 2FA when cookie caching is enabled. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9639\"\u003e#9639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed missing username validation on the admin \u003ccode\u003ecreateUser\u003c/code\u003e endpoint. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/c0c574ea50cfb3b9350f666590ad9747bb39ad6f/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed expired magic-link tokens and OAuth authorization codes to be reliably rejected, and corrected their error codes. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9624\"\u003e#9624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eregistration_endpoint\u003c/code\u003e to be hidden from \u003ccode\u003e.well-known\u003c/code\u003e metadata unless dynamic client registration is enabled. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9448\"\u003e#9448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Basic Auth credential parsing to accept \u003ccode\u003eclient_secret\u003c/code\u003e values containing colons. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9601\"\u003e#9601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the consent update endpoint to return \u003ccode\u003eNOT_FOUND\u003c/code\u003e when the referenced client no longer exists. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9600\"\u003e#9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed OAuth and OIDC metadata discovery for path-prefixed issuers. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9668\"\u003e#9668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/c0c574ea50cfb3b9350f666590ad9747bb39ad6f/packages/oauth-provider/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etoCamelCase\u003c/code\u003e, \u003ccode\u003etoSnakeCase\u003c/code\u003e, \u003ccode\u003etoPascalCase\u003c/code\u003e, and \u003ccode\u003etoKebabCase\u003c/code\u003e utilities to \u003ccode\u003e@better-auth/core/utils/string\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9727\"\u003e#9727\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9603\"\u003e#9603\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9bd53e191cda174c202a07b6d27af73300e6b175\"\u003e\u003ccode\u003e9bd53e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003erole.authorize\u003c/code\u003e now treats empty action lists (\u003ccode\u003e[]\u003c/code\u003e or \u003ccode\u003e{ actions: [] }\u003c/code\u003e) as unauthorized, and evaluates each requested resource under the \u003ccode\u003eOR\u003c/code\u003e connector before returning the result.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9702\"\u003e#9702\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Banned users signing in with an OAuth provider now redirect to the \u003ccode\u003eerrorCallbackURL\u003c/code\u003e passed to \u003ccode\u003esignIn.social\u003c/code\u003e, with \u003ccode\u003e?error=BANNED_USER\u0026amp;error_description=\u0026lt;message\u0026gt;\u003c/code\u003e in the query string. Previously the redirect went to the auth server's default error page with \u003ccode\u003e?error=banned\u003c/code\u003e, which broke multi-domain deployments where the auth host and frontend host differ. The \u003ccode\u003eoauth-proxy\u003c/code\u003e, SSO OIDC, and SAML callbacks now also redirect hook rejections to the error URL (previously returned JSON 403), and \u003ccode\u003eoauth-proxy\u003c/code\u003e URL-encodes the \u003ccode\u003eerror\u003c/code\u003e query value across all its redirects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9596\"\u003e#9596\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/7a120724c5c3fdd9d60d59169b32d693e9497fec\"\u003e\u003ccode\u003e7a12072\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Email OTP sign-in no longer fails with a missing-captcha-token error under the default captcha settings. If you intentionally want captcha on email OTP sign-in, add \u003ccode\u003e/sign-in/email-otp\u003c/code\u003e to \u003ccode\u003ecaptcha({ endpoints })\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9614\"\u003e#9614\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/09a1d50a806f1599707ef4e7c47f8a4b8eb20f96\"\u003e\u003ccode\u003e09a1d50\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003echangeEmail\u003c/code\u003e no longer silently returns \u003ccode\u003e{ status: true }\u003c/code\u003e when the flow cannot complete: if \u003ccode\u003eemailVerification.sendVerificationEmail\u003c/code\u003e is missing for a verified user, the request now fails with a 400 error. \u003ccode\u003ecallbackURL\u003c/code\u003e values are also URL-encoded, so callbacks that carry their own query string survive the round trip through verify-email links.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9617\"\u003e#9617\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f144ad0a8ef702969cf49c999ccd073eb1ffa6\"\u003e\u003ccode\u003ea6f144a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eparseJSON\u003c/code\u003e now decodes escape sequences such as \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, and \u003ccode\u003e\\uXXXX\u003c/code\u003e in quoted strings. Values such as organization metadata that round-trip through \u003ccode\u003eJSON.stringify\u003c/code\u003e and back no longer come out with raw escape characters in place of the original characters.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9624\"\u003e#9624\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f77060af3a9d1f19f05a26ccf6e56d79bb9db69d\"\u003e\u003ccode\u003ef77060a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Expired magic-link tokens and OAuth authorization codes are now reliably rejected. Magic-link verify redirects to \u003ccode\u003e?error=INVALID_TOKEN\u003c/code\u003e for expired tokens (was \u003ccode\u003e?error=EXPIRED_TOKEN\u003c/code\u003e). The OIDC, MCP, and \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e \u003ccode\u003e/token\u003c/code\u003e endpoints return \u003ccode\u003eerror_description: \u0026quot;invalid code\u0026quot;\u003c/code\u003e for expired codes (was \u003ccode\u003e\u0026quot;code expired\u0026quot;\u003c/code\u003e). The OAuth \u003ccode\u003eerror\u003c/code\u003e value stays \u003ccode\u003einvalid_grant\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9631\"\u003e#9631\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/dcb2e6d29cf4c986ff8980dab50bcfcb8110a749\"\u003e\u003ccode\u003edcb2e6d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Cookie values containing characters outside the bare cookie-octet range (such as \u003ccode\u003e;\u003c/code\u003e, \u003ccode\u003e\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\\\u003c/code\u003e) are now percent-encoded into the \u003ccode\u003eCookie\u003c/code\u003e header. They were previously dropped on re-serialization, which could break flows that store structured values in cookies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9792\"\u003e#9792\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - URL-encode \u003ccode\u003ecallbackURL\u003c/code\u003e in the verify-email links sent during OAuth account linking and username sign-in.\u003c/p\u003e\n\u003cp\u003eBoth paths interpolated the caller's \u003ccode\u003ecallbackURL\u003c/code\u003e into the verification link without encoding it. A legitimate value containing an ampersand, such as \u003ccode\u003e/welcome?ref=oauth\u0026amp;plan=pro\u003c/code\u003e, was truncated at the first \u003ccode\u003e\u0026amp;\u003c/code\u003e, so the user landed on the wrong page after verifying their email. The value is now encoded the same way the other verify-email links already handle it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9642\"\u003e#9642\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f5fcc9d37f2c46d3719a70c18857d9913ce172cf\"\u003e\u003ccode\u003ef5fcc9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(admin): export AdminClientOptions and OrganizationClientOptions\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9691\"\u003e#9691\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9d91eb77f5c10779b287f9c8de0495fcb75a425a\"\u003e\u003ccode\u003e9d91eb7\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: getMigration field index order\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9543\"\u003e#9543\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/1b40dac22e0cfddbbb27136fe8067aba154ca91a\"\u003e\u003ccode\u003e1b40dac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eCookie\u003c/code\u003e headers without a space after \u003ccode\u003e;\u003c/code\u003e separators are now tolerated. Signed-in users behind proxies that strip this space were previously treated as logged-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9667\"\u003e#9667\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5626e1b4375aef7735e4f1103035377cbfad755c\"\u003e\u003ccode\u003e5626e1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kgarg2468\"\u003e\u003ccode\u003e@​kgarg2468\u003c/code\u003e\u003c/a\u003e! - Forward cookie refresh headers emitted while resolving sessions through getSessionFromCtx.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9619\"\u003e#9619\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ad9ad824965cb8385f6f2a921576f2cc58ac2b47\"\u003e\u003ccode\u003ead9ad82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(email-verification): clone request before passing to sendVerificationEmail callback\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9661\"\u003e#9661\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/62dabf66780a3dc7270e419886a15c43f3c8d879\"\u003e\u003ccode\u003e62dabf6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Harden URL normalization and Stripe customer search escaping. URL helpers now trim trailing slashes without a regular expression, and Stripe search query values escape backslashes before quotes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9347\"\u003e#9347\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/276d67fad597ca415a023c10fb5e1165093eebd1\"\u003e\u003ccode\u003e276d67f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix: build synthetic user safely without including extra fields\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9644\"\u003e#9644\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2d73ffff4470664147e7207336442029c35f12d9\"\u003e\u003ccode\u003e2d73fff\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - fix(core): respect dynamic baseURL protocol option in getTrustedOrigins\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9799\"\u003e#9799\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Refresh access tokens from \u003ccode\u003egenericOAuth\u003c/code\u003e providers that omit \u003ccode\u003eexpires_in\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWhen a provider's token response leaves out \u003ccode\u003eexpires_in\u003c/code\u003e, Better Auth recorded no expiry, so \u003ccode\u003egetAccessToken\u003c/code\u003e couldn't tell the token had lapsed and never refreshed it; callers kept receiving a stale token. Set \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e (seconds) on a \u003ccode\u003egenericOAuth\u003c/code\u003e config entry to declare the token's lifetime; the expiry is then synthesized at sign-in and on refresh, and the existing refresh path works. The option is opt-in: providers that return \u003ccode\u003eexpires_in\u003c/code\u003e or issue non-expiring tokens are unaffected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9788\"\u003e#9788\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Surface specific OAuth callback error codes and route every callback failure through one redirect helper.\u003c/p\u003e\n\u003cp\u003eA failed OAuth sign-in previously gave users almost nothing to act on. The state parser collapsed every failure into a single \u003ccode\u003eplease_restart_the_process\u003c/code\u003e code, and the built-in social callback's missing-state branch redirected with a \u003ccode\u003estate\u003c/code\u003e query parameter the error page never reads, so that case showed no error at all. Now \u003ccode\u003eparseState\u003c/code\u003e forwards the precise \u003ccode\u003eStateError\u003c/code\u003e code (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e, with \u003ccode\u003estate_security_mismatch\u003c/code\u003e reported as \u003ccode\u003estate_mismatch\u003c/code\u003e), and unexpected failures map to \u003ccode\u003einternal_server_error\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe built-in social callback no longer keeps its own missing-state guard; it goes through the shared state parser like every other callback, so both built-in and generic-OAuth providers report a missing \u003ccode\u003estate\u003c/code\u003e as \u003ccode\u003eerror=state_not_found\u003c/code\u003e. All callback error redirects (built-in, generic-OAuth, and oauth-proxy) now use one \u003ccode\u003eredirectOnError\u003c/code\u003e helper that owns the query separator, parameter name, and URL encoding, so a redirect cannot be built with the wrong parameter again.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eplease_restart_the_process\u003c/code\u003e error code is removed. Error pages that branch on \u003ccode\u003eerror=please_restart_the_process\u003c/code\u003e should handle the specific state codes (\u003ccode\u003estate_not_found\u003c/code\u003e, \u003ccode\u003estate_invalid\u003c/code\u003e, \u003ccode\u003estate_mismatch\u003c/code\u003e) or \u003ccode\u003einternal_server_error\u003c/code\u003e instead.\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/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/17cd433c66a6ed323b9fda7d4e7db5ad98d8099b\"\u003e\u003ccode\u003e17cd433\u003c/code\u003e\u003c/a\u003e fix(oauth-proxy): missing state-cookie skip for oauth-proxy (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9385\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c92cd74162cd1750404ab1da10d3fc20ed7d5e04\"\u003e\u003ccode\u003ec92cd74\u003c/code\u003e\u003c/a\u003e fix: URL-encode callbackURL in verify-email links (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9792\"\u003e#9792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/0a7cb7064723d2096e36f44b86c59f7181a8e0c5\"\u003e\u003ccode\u003e0a7cb70\u003c/code\u003e\u003c/a\u003e fix(oauth): honor per-flow errorCallbackURL when state validation fails (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9789\"\u003e#9789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/ac96316af3070ba52c9492464305d3206aadc602\"\u003e\u003ccode\u003eac96316\u003c/code\u003e\u003c/a\u003e fix(oauth): forward specific callback error codes via shared redirectOnError ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/83fa3695e7cc0083ff8531f3a2b4101a2e56deff\"\u003e\u003ccode\u003e83fa369\u003c/code\u003e\u003c/a\u003e feat(core): add string case conversion utilities (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9727\"\u003e#9727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/015f96bc63a90c06a67fbaf80e286b6f6fe1967d\"\u003e\u003ccode\u003e015f96b\u003c/code\u003e\u003c/a\u003e fix(oauth-proxy): forward \u003ccode\u003eresult.error\u003c/code\u003e verbatim in callback redirect (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9723\"\u003e#9723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43cc49c640c0d2c27572807a291d318bbcadfd04\"\u003e\u003ccode\u003e43cc49c\u003c/code\u003e\u003c/a\u003e fix(open-api): emit unique operationIds for multi-method endpoints (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9721\"\u003e#9721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23dbe1ad0eb79372a674bc0771990c6cc3272a92\"\u003e\u003ccode\u003e23dbe1a\u003c/code\u003e\u003c/a\u003e fix: redirect hook rejections to errorCallbackURL across auth callback flows ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.12/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.16.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(lucide-vue-next|lucide-svelte|lucide-angular): Remove deprecated packages by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4376\"\u003elucide-icons/lucide#4376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(repo): Update issue templates and documentation for package ren… by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4379\"\u003elucide-icons/lucide#4379\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Adds survey overlay to website by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4380\"\u003elucide-icons/lucide#4380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(site): Certificate dev links by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4390\"\u003elucide-icons/lucide#4390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003emartini\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4335\"\u003elucide-icons/lucide#4335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump brace-expansion from 1.1.11 to 5.0.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4386\"\u003elucide-icons/lucide#4386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump \u003ccode\u003e@​tootallnate/once\u003c/code\u003e from 2.0.0 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4404\"\u003elucide-icons/lucide#4404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump devalue from 5.8.0 to 5.8.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4391\"\u003elucide-icons/lucide#4391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump ws from 8.18.0 to 8.20.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4392\"\u003elucide-icons/lucide#4392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(gh-icon): limit icon size to a maximum of 256 pixels by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4398\"\u003elucide-icons/lucide#4398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(dependencies): Update dependencies by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4377\"\u003elucide-icons/lucide#4377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(copilot): Adding copilot instructions by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4407\"\u003elucide-icons/lucide#4407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): add \u003ccode\u003eglobe-check\u003c/code\u003e by \u003ca href=\"https://github.com/Barakudum\"\u003e\u003ccode\u003e@​Barakudum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4342\"\u003elucide-icons/lucide#4342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(metadata): Require use-cases in meta json by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4321\"\u003elucide-icons/lucide#4321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eparasol\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4347\"\u003elucide-icons/lucide#4347\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.17.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@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 `lefthook` from 2.1.8 to 2.1.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e1d35cbabe1ebaf2a5ed4d2186caa0402de6448e2 chore: add pretty gradient (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e22be6c50e1412c748f3c6b60e9c61cd056dc693b deps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1415\"\u003e#1415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e1bae568f03dfb88af9185031fa44e9fee285e917 fix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.9 (2026-05-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1431\"\u003e#1431\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1415\"\u003e#1415\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/75f99ff325a731c296b572292dd1c855cd970b93\"\u003e\u003ccode\u003e75f99ff\u003c/code\u003e\u003c/a\u003e 2.1.9: fix install with --reset-hooks-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/1d35cbabe1ebaf2a5ed4d2186caa0402de6448e2\"\u003e\u003ccode\u003e1d35cba\u003c/code\u003e\u003c/a\u003e chore: add pretty gradient (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/1bae568f03dfb88af9185031fa44e9fee285e917\"\u003e\u003ccode\u003e1bae568\u003c/code\u003e\u003c/a\u003e fix: update hooks path after resetting (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/22be6c50e1412c748f3c6b60e9c61cd056dc693b\"\u003e\u003ccode\u003e22be6c5\u003c/code\u003e\u003c/a\u003e deps: May 2026 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1415\"\u003e#1415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.8...v2.1.9\"\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/henchoznoe/NexTemplate/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/henchoznoe%2FNexTemplate/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"1.6.11","new_version":"1.6.13","update_type":"patch","path":null,"pr_created_at":"2026-05-31T13:11:41.000Z","version_change":"1.6.11 → 1.6.13","issue":{"uuid":"4557655843","node_id":"PR_kwDOSFYK3M7hF8ep","number":92,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T06:53:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T13:11:41.000Z","updated_at":"2026-06-05T06:53:35.000Z","time_to_close":409312,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":7,"packages":[{"name":"turbo","old_version":"2.9.15","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"tsx","old_version":"4.22.3","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"@react-router/node","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@react-router/serve","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"better-auth","old_version":"1.6.11","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"react-router","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@react-router/dev","old_version":"7.15.1","new_version":"7.16.0","repository_url":"https://github.com/remix-run/react-router"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.15` | `2.9.16` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |\n| [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node) | `7.15.1` | `7.16.0` |\n| [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve) | `7.15.1` | `7.16.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.11` | `1.6.13` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.15.1` | `7.16.0` |\n| [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev) | `7.15.1` | `7.16.0` |\n\n\nUpdates `turbo` from 2.9.15 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\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 `@react-router/node` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md\"\u003e@​react-router/node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHonor Node writable backpressure in \u003ccode\u003ewriteReadableStreamToWritable\u003c/code\u003e and \u003ccode\u003ewriteAsyncIterableToWritable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15071\"\u003e#15071\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAwait \u003ccode\u003e'drain'\u003c/code\u003e when \u003ccode\u003ewritable.write()\u003c/code\u003e returns \u003ccode\u003efalse\u003c/code\u003e instead of letting chunks accumulate in the writable's internal buffer.\u003c/li\u003e\n\u003cli\u003eReject (rather than hang) if the writable errors or closes mid-stream.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/50511dc3da31fb4689b9683779661fd754cebcdf\"\u003e\u003ccode\u003e50511dc\u003c/code\u003e\u003c/a\u003e fix(node): honor writable backpressure when streaming to Node writables (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node/issues/15071\"\u003e#15071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/node@7.16.0/packages/react-router-node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-router/serve` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/serve's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md\"\u003e@​react-router/serve's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNormalize \u003ccode\u003eassetsBuildDirectory\u003c/code\u003e path separators in \u003ccode\u003ereact-router-serve\u003c/code\u003e so Windows-built server artifacts can serve \u003ccode\u003e/assets/*\u003c/code\u003e correctly when run on Linux. (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/14982\"\u003e#14982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/express@7.16.0\"\u003e\u003ccode\u003e@react-router/express@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/node@7.16.0\"\u003e\u003ccode\u003e@react-router/node@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/98e8b3bd707dcf42dab0ff85dc1e9322d0f1d0cf\"\u003e\u003ccode\u003e98e8b3b\u003c/code\u003e\u003c/a\u003e fix(serve): normalize assetsBuildDirectory separators in react-router-serve (...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/serve@7.16.0/packages/react-router-serve\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.11 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c0c574ea50cfb3b9350f666590ad9747bb39ad6f\"\u003e\u003ccode\u003ec0c574e\u003c/code\u003e\u003c/a\u003e chore: release v1.6.12 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9590\"\u003e#9590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/c5b9f93498489888f543e1aa1fc07aae26f73a7f\"\u003e\u003ccode\u003ec5b9f93\u003c/code\u003e\u003c/a\u003e fix(generic-oauth): add \u003ccode\u003eaccessTokenExpiresIn\u003c/code\u003e for providers that omit `expir...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-router` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003ereact-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md\"\u003ereact-router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStabilize \u003ccode\u003efuture.unstable_trailingSlashAwareDataRequests\u003c/code\u003e as \u003ccode\u003efuture.v8_trailingSlashAwareDataRequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDisable manifest path when lazy route dicovery is disabled (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15068\"\u003e#15068\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix browser URL creation to use the configured history window instead of the global window. (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15066\"\u003e#15066\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePass the history/router window through to \u003ccode\u003ecreateBrowserURLImpl\u003c/code\u003e so custom window contexts keep the correct URL origin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003euseNavigation()\u003c/code\u003e return type to preserve discriminated union across navigation states (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15095\"\u003e#15095\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWiden \u003ccode\u003eMetaDescriptor\u003c/code\u003e \u003ccode\u003escript:ld+json\u003c/code\u003e type from \u003ccode\u003eLdJsonObject\u003c/code\u003e to \u003ccode\u003eLdJsonObject | LdJsonObject[]\u003c/code\u003e to permit multiple JSON-LD schemas in a single \u003ccode\u003e\u0026lt;script type=\u0026quot;application/ld+json\u0026quot;\u0026gt;\u003c/code\u003e tag emitted by \u003ccode\u003e\u0026lt;Meta /\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15082\"\u003e#15082\u003c/a\u003e)\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/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/d71025d9b86854180c995cb36fd3d28f58c459bf\"\u003e\u003ccode\u003ed71025d\u003c/code\u003e\u003c/a\u003e Stabilize trailing slash aware data requests (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/6e21b638e1e692eaf19a8ff98ec05d28d5b23c70\"\u003e\u003ccode\u003e6e21b63\u003c/code\u003e\u003c/a\u003e fix: keep useNavigation() return type a discriminated union (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15095\"\u003e#15095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4cde90be1ccae1c27a893ab5e87f64a35f308979\"\u003e\u003ccode\u003e4cde90b\u003c/code\u003e\u003c/a\u003e Support array of objects for \u003ccode\u003escript:ld+json\u003c/code\u003e meta descriptor (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15082\"\u003e#15082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/dc996ea6a4edc08c37ca1f80e2c5c6c88e64377e\"\u003e\u003ccode\u003edc996ea\u003c/code\u003e\u003c/a\u003e fix(router): pass configured window to createBrowserURLImpl (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15066\"\u003e#15066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/cfb5fb0f41bfd8034bd5931f0b9a8e4da8ed0f11\"\u003e\u003ccode\u003ecfb5fb0\u003c/code\u003e\u003c/a\u003e Disable manifest handler when lazy route discovery is disabled (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15068\"\u003e#15068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/16eb79e3c301d63628895960700faab38526c9a9\"\u003e\u003ccode\u003e16eb79e\u003c/code\u003e\u003c/a\u003e test: fix typo in test description (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router/issues/15053\"\u003e#15053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4b464a9ac2c566841d08722181e4d5f34f36f64b\"\u003e\u003ccode\u003e4b464a9\u003c/code\u003e\u003c/a\u003e chore: format\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/react-router@7.16.0/packages/react-router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-router/dev` from 7.15.1 to 7.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/releases\"\u003e@​react-router/dev's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003cp\u003eSee the changelog for release notes: \u003ca href=\"https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\"\u003ehttps://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160\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/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md\"\u003e@​react-router/dev's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.16.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eStabilize \u003ccode\u003efuture.unstable_trailingSlashAwareDataRequests\u003c/code\u003e as \u003ccode\u003efuture.v8_trailingSlashAwareDataRequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15098\"\u003e#15098\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe unstable flag is no longer supported and will error during config resolution\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLog future flag warnings for upcoming React Router v8 flags (\u003ca href=\"https://redirect.github.com/remix-run/react-router/pull/15029\"\u003e#15029\u003c/a\u003e)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ev8_middleware\u003c/code\u003e, \u003ccode\u003ev8_splitRouteModules\u003c/code\u003e, \u003ccode\u003ev8_viteEnvironmentApi\u003c/code\u003e, \u003ccode\u003ev8_passThroughRequests\u003c/code\u003e, \u003ccode\u003ev8_trailingSlashAwareDataRequests\u003c/code\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\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0\"\u003e\u003ccode\u003ereact-router@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/node@7.16.0\"\u003e\u003ccode\u003e@react-router/node@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/@react-router/serve@7.16.0\"\u003e\u003ccode\u003e@react-router/serve@7.16.0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/8984d23f86ca7ae5655711744b77816090bda4e6\"\u003e\u003ccode\u003e8984d23\u003c/code\u003e\u003c/a\u003e Release v7.16.0 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15105\"\u003e#15105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/d71025d9b86854180c995cb36fd3d28f58c459bf\"\u003e\u003ccode\u003ed71025d\u003c/code\u003e\u003c/a\u003e Stabilize trailing slash aware data requests (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15098\"\u003e#15098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/c35008f7f4abbf0872a4934e4e83e0f18046eb40\"\u003e\u003ccode\u003ec35008f\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​react-router/dev\u003c/code\u003e): log future flag warnings for upcoming v8 flags (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/commit/4b464a9ac2c566841d08722181e4d5f34f36f64b\"\u003e\u003ccode\u003e4b464a9\u003c/code\u003e\u003c/a\u003e chore: format\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/@react-router/dev@7.16.0/packages/react-router-dev\"\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/duck-organization/questbot/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/duck-organization%2Fquestbot/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"}},{"old_version":"1.6.12","new_version":"1.6.13","update_type":"patch","path":null,"pr_created_at":"2026-05-31T12:29:27.000Z","version_change":"1.6.12 → 1.6.13","issue":{"uuid":"4557548082","node_id":"PR_kwDORoExos7hFoBl","number":182,"state":"closed","title":"chore(deps): Bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T22:40:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T12:29:27.000Z","updated_at":"2026-05-31T22:40:54.000Z","time_to_close":36685,"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":"@tanstack/react-form","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"},{"name":"eslint","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"happy-dom","old_version":"20.8.9","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"meilisearch","old_version":"0.44.0","new_version":"0.58.0","repository_url":"https://github.com/meilisearch/meilisearch-js"},{"name":"prettier-plugin-tailwindcss","old_version":"0.7.4","new_version":"0.8.0","repository_url":"https://github.com/tailwindlabs/prettier-plugin-tailwindcss"},{"name":"better-auth","old_version":"1.6.12","new_version":"1.6.13","repository_url":"https://github.com/better-auth/better-auth"},{"name":"svelte","old_version":"5.55.9","new_version":"5.56.0","repository_url":"https://github.com/sveltejs/svelte"},{"name":"@tanstack/form-core","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"},{"name":"nodemailer","old_version":"8.0.9","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"@tanstack/svelte-form","old_version":"1.32.0","new_version":"1.33.0","repository_url":"https://github.com/TanStack/form"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-form](https://github.com/TanStack/form/tree/HEAD/packages/react-form) | `1.32.0` | `1.33.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.8.9` | `20.9.0` |\n| [meilisearch](https://github.com/meilisearch/meilisearch-js) | `0.44.0` | `0.58.0` |\n| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.7.4` | `0.8.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.12` | `1.6.13` |\n| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `5.55.9` | `5.56.0` |\n| [@tanstack/form-core](https://github.com/TanStack/form/tree/HEAD/packages/form-core) | `1.32.0` | `1.33.0` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.9` | `8.0.10` |\n| [@tanstack/svelte-form](https://github.com/TanStack/form/tree/HEAD/packages/svelte-form) | `1.32.0` | `1.33.0` |\n\n\nUpdates `@tanstack/react-form` from 1.32.0 to 1.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/releases\"\u003e@​tanstack/react-form's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-nextjs\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-remix\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-start\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-nextjs\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-remix\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form-start\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-form\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\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/TanStack/form/blob/main/packages/react-form/CHANGELOG.md\"\u003e@​tanstack/react-form's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.32.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/1d2c585e159622b7b8be2b09dd7f823c8928b17e\"\u003e\u003ccode\u003e1d2c585\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e Form Groups (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/5d8b2cd0128207da34114098c92a69685e1cea0a\"\u003e\u003ccode\u003e5d8b2cd\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/120473e270dde2a61e646852d657e1acc5585ffd\"\u003e\u003ccode\u003e120473e\u003c/code\u003e\u003c/a\u003e Fix trusted provenance (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/react-form/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e fix(form-core): bump _arrayVersion when async defaultValues update array fiel...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/form/commits/@tanstack/react-form@1.33.0/packages/react-form\"\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 `happy-dom` from 20.8.9 to 20.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003ehappy-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.9.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for event listener properties on Window (e.g. \u003ccode\u003eWindow.onkeydown\u003c/code\u003e) - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2131\"\u003e#2131\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/4090adefaf116143ebabf3226581c1261c09e877\"\u003e\u003ccode\u003e4090ade\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2140\"\u003e#2140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/c7c2bb506377f2b38218486b166b89a9b0e5b174\"\u003e\u003ccode\u003ec7c2bb5\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2139\"\u003e#2139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/d541143d69e6593422e32c7c3853213ee04af545\"\u003e\u003ccode\u003ed541143\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/0\"\u003e#0\u003c/a\u003e Fix github release workflow (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/a78d89e7e1cf77c42cb04833b9d9fba30a3e868a\"\u003e\u003ccode\u003ea78d89e\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2131\"\u003e#2131\u003c/a\u003e Adds support for event listener properties on Window (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.8.9...v20.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for happy-dom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `meilisearch` from 0.44.0 to 0.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/meilisearch/meilisearch-js/releases\"\u003emeilisearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.58.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dynamic search rules (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2171\"\u003e#2171\u003c/a\u003e) \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚙️ Maintenance/misc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump lint-staged from 16.2.7 to 16.4.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2166\"\u003e#2166\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typedoc from 0.28.15 to 0.28.18 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2165\"\u003e#2165\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump the vitest group across 1 directory with 2 updates (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2161\"\u003e#2161\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.10.13 to 24.12.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2164\"\u003e#2164\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump the eslint group across 1 directory with 2 updates (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2159\"\u003e#2159\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2160\"\u003e#2160\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake tests compatible with Meilisearch v1.42.0 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2169\"\u003e#2169\u003c/a\u003e) \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump vite from 8.0.0 to 8.0.5 (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2177\"\u003e#2177\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks again to \u003ca href=\"https://github.com/Strift\"\u003e\u003ccode\u003e@​Strift\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/curquiza\"\u003e\u003ccode\u003e@​curquiza\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot],  and \u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e! 🎉\u003c/p\u003e\n\u003ch2\u003ev0.57.0 🌻\u003c/h2\u003e\n\u003ch2\u003eMigration guide\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!note]\nAll breaking changes pertain to features that were deprecated for more than 12 months.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eReplace default export, and \u003ccode\u003eMeiliSearch\u003c/code\u003e named export with \u003ccode\u003eMeilisearch\u003c/code\u003e (lowercase 's'):\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e- import meili from \u0026quot;meilisearch\u0026quot;;\r\n- import { MeiliSearch } from \u0026quot;meilisearch\u0026quot;;\r\n- import { default as meili } from \u0026quot;meilisearch\u0026quot;;\r\n+ import { Meilisearch } from \u0026quot;meilisearch\u0026quot;;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eReplace all symbols containing \u003ccode\u003eMeiliSearch\u003c/code\u003e with \u003ccode\u003eMeilisearch\u003c/code\u003e (lowercase 's'):\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e- import { MeiliSearchError } from \u0026quot;meilisearch\u0026quot;;\r\n+ import { MeilisearchError } from \u0026quot;meilisearch\u0026quot;;\r\n// etc.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAs CommonJS and UMD bundles aren't available anymore, you will have to bundle for any target environment that requires them, if applicable. \u003ca href=\"https://github.com/meilisearch/meilisearch-js/issues\"\u003eOpen an issue\u003c/a\u003e if you require assistance.\u003c/p\u003e\n\u003ch2\u003e⚠️ Breaking changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop CommonJS/UMD bundles and migrate to ESM-only exports (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2144\"\u003e#2144\u003c/a\u003e) \u003ca href=\"https://github.com/flevi29\"\u003e\u003ccode\u003e@​flevi29\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003edistinct\u003c/code\u003e in federated search requests (\u003ca href=\"https://redirect.github.com/meilisearch/meilisearch-js/issues/2154\"\u003e#2154\u003c/a\u003e) \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/70ac04b2def505c625be72d03fe3e89f392b07f1\"\u003e\u003ccode\u003e70ac04b\u003c/code\u003e\u003c/a\u003e Update version for the next release (v0.58.0) in package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/6dd94eaabf0a09498fbe3dd8b0fcce3f35cbf6d9\"\u003e\u003ccode\u003e6dd94ea\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump vite from 8.0.0 to 8.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/17343bcf39cd333878934e76eb35eb9bbd9b518e\"\u003e\u003ccode\u003e17343bc\u003c/code\u003e\u003c/a\u003e Update experimental features test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/133e1d0fa9d66b64e02b29ddb3dfe7b9b87d31f1\"\u003e\u003ccode\u003e133e1d0\u003c/code\u003e\u003c/a\u003e Update experimental features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/deee206d0bcf5f262bb908c0312c730a8a393f3d\"\u003e\u003ccode\u003edeee206\u003c/code\u003e\u003c/a\u003e Rename files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/c4d11a9fb59497c6e001f9452017b6903ba40320\"\u003e\u003ccode\u003ec4d11a9\u003c/code\u003e\u003c/a\u003e Check presence of expected fields only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/e2ec12176ca196a9d41ef28801d938d4926bf701\"\u003e\u003ccode\u003ee2ec121\u003c/code\u003e\u003c/a\u003e Update types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/f0d7a2301b23feb17cd0eae630a11e557b937393\"\u003e\u003ccode\u003ef0d7a23\u003c/code\u003e\u003c/a\u003e Add dynamic search rules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/c162ca30de9e6a0aa662f58a7b9301b0e0984fae\"\u003e\u003ccode\u003ec162ca3\u003c/code\u003e\u003c/a\u003e Make tests compatible with v1.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/meilisearch/meilisearch-js/commit/1d7221bf90368376f4c0bd557e6dae5a1e6d66a1\"\u003e\u003ccode\u003e1d7221b\u003c/code\u003e\u003c/a\u003e chore: remove unused code samples\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/meilisearch/meilisearch-js/compare/v0.44.0...v0.58.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for meilisearch since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier-plugin-tailwindcss` from 0.7.4 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases\"\u003eprettier-plugin-tailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md\"\u003eprettier-plugin-tailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.0] - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.2] - 2025-12-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLoad compatible plugins sequentially to work around race conditions in Node.js (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/412\"\u003e#412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix compatibility with \u003ccode\u003eprettier-plugin-svelte\u003c/code\u003e when using Prettier v3.7+ (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.1] - 2025-10-17\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch against correct name of dynamic attributes when using regexes (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/410\"\u003e#410\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.7.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFormat quotes in \u003ccode\u003e@source\u003c/code\u003e, \u003ccode\u003e@plugin\u003c/code\u003e, and \u003ccode\u003e@config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in function calls in Twig (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in callable template literals (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSort in function calls mixed with property accesses (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport regular expression patterns for attributes (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport regular expression patterns for function names (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f77532e1c604f1ab06bc1b9902f6d9b115150998\"\u003e\u003ccode\u003ef77532e\u003c/code\u003e\u003c/a\u003e 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/4815377fb1bb89cfe94bcbf566d1d6283f8e41e3\"\u003e\u003ccode\u003e4815377\u003c/code\u003e\u003c/a\u003e Update the changelog for recent PRs (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/0a7ddcb677a9ae10837f9941ae9fef2d9b33386d\"\u003e\u003ccode\u003e0a7ddcb\u003c/code\u003e\u003c/a\u003e Fix insiders tags sometimes published to latest channel (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/8066e85c13026f118bef653217d34f5aed0bec20\"\u003e\u003ccode\u003e8066e85\u003c/code\u003e\u003c/a\u003e release on \u003ccode\u003epublished\u003c/code\u003e event\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3b0ed57817c1b44ecf14484b55e3720fe15dc261\"\u003e\u003ccode\u003e3b0ed57\u003c/code\u003e\u003c/a\u003e move \u003ccode\u003e--silent\u003c/code\u003e flag before the script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f7d2598fe00779cd362819437f4f0a1f866208fc\"\u003e\u003ccode\u003ef7d2598\u003c/code\u003e\u003c/a\u003e 0.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/9a511914abfa10fa6f66405cee3e46892b9b6a2b\"\u003e\u003ccode\u003e9a51191\u003c/code\u003e\u003c/a\u003e merge \u003ccode\u003erelease.yml\u003c/code\u003e and \u003ccode\u003erelease-insiders.yml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3997fbd5ddf63b8b5bf600bff00b128acc8bfb7e\"\u003e\u003ccode\u003e3997fbd\u003c/code\u003e\u003c/a\u003e Use explicit import() expressions in plugin load arrays for bundler compatibi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/125a8bc77639529a5a0c7e4e8a02174d7ed2d70b\"\u003e\u003ccode\u003e125a8bc\u003c/code\u003e\u003c/a\u003e Fix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/2ac6e70fe9ef595cd910fc94ab98431ad652c6e4\"\u003e\u003ccode\u003e2ac6e70\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eminify: \u0026quot;dce-only\u003c/code\u003e in tsdown (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.7.4...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.12 to 1.6.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.13\u003c/h2\u003e\n\u003ch2\u003e\u003ccode\u003ebetter-auth\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls with an optional \u003ccode\u003euserId\u003c/code\u003e parameter, allowing trusted callers to read provider profiles without constructing session headers (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClarified that \u003ccode\u003eviewBackupCodes\u003c/code\u003e is a server-only function not accessible via HTTP in its API documentation (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed Google One Tap authenticating the wrong user when the presented Google account is already linked to a different local user, by resolving identity through the shared OAuth path\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003estoreStateStrategy\u003c/code\u003e defaulting to \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e when only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured, preventing oversized-cookie errors on platforms like AWS Lambda (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e not being applied when linking accounts through the standard OAuth redirect flow (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins accepting invalid \u003ccode\u003eredirect_uri\u003c/code\u003e schemes such as \u003ccode\u003ejavascript:\u003c/code\u003e and \u003ccode\u003edata:\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed organization \u003ccode\u003elogo\u003c/code\u003e not accepting \u003ccode\u003enull\u003c/code\u003e, preventing users from clearing an existing logo on create and update (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/better-auth/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/sso\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed SAML Single Logout leaving the user signed in due to session deletion matching on row ID instead of session token\u003c/li\u003e\n\u003cli\u003eFixed ambiguous \u003ccode\u003einternalAdapter\u003c/code\u003e helper methods that could silently match the wrong account or wipe all sessions for a user (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a high-severity XML injection vulnerability in signed SAML assertions by updating \u003ccode\u003esamlify\u003c/code\u003e to 2.13.1 (GHSA-34r5-q4jw-r36m) (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9821\"\u003e#9821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/sso/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/api-key\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003everifyApiKey\u003c/code\u003e rejecting keys created under a non-default \u003ccode\u003econfigId\u003c/code\u003e when the request omitted \u003ccode\u003econfigId\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9794\"\u003e#9794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/api-key/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/core\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silent failure in \u003ccode\u003econsumeOne\u003c/code\u003e when an adapter's \u003ccode\u003edeleteMany\u003c/code\u003e returned a non-numeric value, now surfacing a clear error (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9831\"\u003e#9831\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor detailed changes, see \u003ca href=\"https://github.com/better-auth/better-auth/blob/a6f38c72ee3423ae80b0595fec3b4a61158c374d/packages/core/CHANGELOG.md\"\u003e\u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ccode\u003e@better-auth/expo\u003c/code\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed sign-in being lost on Expo when a provider issues large tokens, by splitting oversized account cookies across multiple storage keys (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9815\"\u003e#9815\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9813\"\u003e#9813\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session headers.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eauth.api.accountInfo\u003c/code\u003e now accepts an optional \u003ccode\u003euserId\u003c/code\u003e, so a trusted server-side caller can read a user's provider profile without constructing session headers. This mirrors \u003ccode\u003egetAccessToken\u003c/code\u003e and \u003ccode\u003erefreshToken\u003c/code\u003e. HTTP callers still require a valid session, and a session always takes precedence over a supplied \u003ccode\u003euserId\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe shared \u0026quot;resolve the target user, then fetch a valid access token\u0026quot; logic behind these three endpoints now lives in one place. As part of that, a server-side call that supplies neither a session nor a \u003ccode\u003euserId\u003c/code\u003e reports \u003ccode\u003eUSER_ID_OR_SESSION_REQUIRED\u003c/code\u003e (400) consistently, rather than \u003ccode\u003eUNAUTHORIZED\u003c/code\u003e on some endpoints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9591\"\u003e#9591\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Vishesh-Verma-07\"\u003e\u003ccode\u003e@​Vishesh-Verma-07\u003c/code\u003e\u003c/a\u003e! - When only \u003ccode\u003esecondaryStorage\u003c/code\u003e is configured (no primary database), \u003ccode\u003estoreStateStrategy\u003c/code\u003e now defaults to \u003ccode\u003e\u0026quot;database\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;cookie\u0026quot;\u003c/code\u003e, preventing oversized-cookie errors on platforms like AWS Lambda. The account cookie that holds OAuth tokens in database-less setups stays enabled, so \u003ccode\u003egetAccessToken\u003c/code\u003e keeps working.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix two buggy \u003ccode\u003einternalAdapter\u003c/code\u003e helpers.\u003c/p\u003e\n\u003cp\u003eRemove \u003ccode\u003efindAccount(accountId)\u003c/code\u003e. It looked accounts up by account ID alone, which is unique neither across providers nor across users, so it returned a non-deterministic match. All callers now use a user-scoped or provider-scoped lookup.\u003c/p\u003e\n\u003cp\u003eReplace the ambiguous \u003ccode\u003edeleteSessions(string | string[])\u003c/code\u003e with two explicit methods. \u003ccode\u003edeleteUserSessions(userId)\u003c/code\u003e revokes every session for a user, and \u003ccode\u003edeleteSessions(tokens)\u003c/code\u003e revokes sessions by token. The old single-string overload silently treated its argument as a user ID, so a caller that meant to delete one session token could instead wipe all of a user's sessions or quietly match nothing.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9818\"\u003e#9818\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Fix Google One Tap signing in the wrong user when the presented Google account is already linked to someone else. One Tap now resolves identity through the shared OAuth path, so the user who owns the Google subject is signed in, matching the redirect and \u003ccode\u003esignIn.social\u003c/code\u003e flows. Previously it matched a local user by the token's email and used the subject only to decide linking, so a Google credential owned by one user could authenticate a different user who happened to share that email.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e/account-info\u003c/code\u003e now resolves the account from the signed-in user's own linked accounts and accepts an optional \u003ccode\u003eproviderId\u003c/code\u003e to disambiguate when two providers issue the same account ID. A colliding account ID returns a distinct \u003ccode\u003eAMBIGUOUS_ACCOUNT\u003c/code\u003e error instead of a misleading \u0026quot;not found\u0026quot;, and an account with no configured social provider returns a 400 rather than a 500.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9838\"\u003e#9838\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Validate the scheme of OAuth \u003ccode\u003eredirect_uris\u003c/code\u003e in the \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e plugins.\u003c/p\u003e\n\u003cp\u003eBoth plugins previously accepted any string as a \u003ccode\u003eredirect_uri\u003c/code\u003e at registration. They now reject the \u003ccode\u003ejavascript:\u003c/code\u003e, \u003ccode\u003edata:\u003c/code\u003e, and \u003ccode\u003evbscript:\u003c/code\u003e schemes, which are never valid OAuth redirect targets. The \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e package already applied this check, so this change brings the two older plugins in line with it.\u003c/p\u003e\n\u003cp\u003eThe redirect-URI scheme policy now lives in \u003ccode\u003e@better-auth/core\u003c/code\u003e as a single \u003ccode\u003eSafeUrlSchema\u003c/code\u003e and an \u003ccode\u003eisSafeUrlScheme\u003c/code\u003e helper, and the OAuth provider plugins share that one implementation. The client navigation helpers (\u003ccode\u003eredirectPlugin\u003c/code\u003e, one-tap, and two-factor) also skip navigation when the target uses one of these schemes.\u003c/p\u003e\n\u003cp\u003eThe change is non-breaking. The \u003ccode\u003ehttp\u003c/code\u003e, \u003ccode\u003ehttps\u003c/code\u003e, loopback, and custom application schemes still register unchanged. Both \u003ccode\u003eoidc-provider\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e are on the migration path to \u003ccode\u003e@better-auth/oauth-provider\u003c/code\u003e, which remains the route to its stricter HTTPS-or-loopback policy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9842\"\u003e#9842\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - You can now clear an organization's logo by passing \u003ccode\u003elogo: null\u003c/code\u003e to \u003ccode\u003ecreateOrganization\u003c/code\u003e and \u003ccode\u003eupdateOrganization\u003c/code\u003e. Previously only a string was accepted, so an existing logo could not be removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9822\"\u003e#9822\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gustavovalverde\"\u003e\u003ccode\u003e@​gustavovalverde\u003c/code\u003e\u003c/a\u003e! - Document \u003ccode\u003eviewBackupCodes\u003c/code\u003e as a server-only function so its API comment no longer reads like an HTTP route.\u003c/p\u003e\n\u003cp\u003eThe JSDoc above \u003ccode\u003eauth.api.viewBackupCodes\u003c/code\u003e advertised \u003ccode\u003ePOST /two-factor/view-backup-codes\u003c/code\u003e, but the endpoint is server-only: it is not registered on the HTTP router and has no client method. The comment now states that it is callable only from trusted server code and that the \u003ccode\u003euserId\u003c/code\u003e should come from an authenticated session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8758\"\u003e#8758\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - Apply \u003ccode\u003eaccountLinking.updateUserInfoOnLink\u003c/code\u003e across every OAuth link flow.\u003c/p\u003e\n\u003cp\u003eEnabling \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e only synced the user's profile when linking through a direct ID token. Linking through the standard OAuth redirect (\u003ccode\u003elinkSocial\u003c/code\u003e, the generic OAuth \u003ccode\u003eoauth2.link\u003c/code\u003e endpoint, and implicit linking on social sign-in) ignored the option, so the name and image never changed. Every link path now honors it.\u003c/p\u003e\n\u003cp\u003eThe synced fields match the sign-up path: \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003eimage\u003c/code\u003e, and any fields your \u003ccode\u003emapProfileToUser\u003c/code\u003e adds. The local \u003ccode\u003eemail\u003c/code\u003e and \u003ccode\u003eemailVerified\u003c/code\u003e are never changed on a link, so linking a provider cannot rebind the account's identity.\u003c/p\u003e\n\u003cp\u003eImplicit linking on social sign-in also returned the pre-update user, so the freshly issued session served stale profile data from its cookie cache until the cache expired. The new session now carries the updated profile.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/better-auth/better-auth/commit/5c3e248cbf4f81c2cb540b545baa4a5e69d3b066\"\u003e\u003ccode\u003e5c3e248\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/a6f38c72ee3423ae80b0595fec3b4a61158c374d\"\u003e\u003ccode\u003ea6f38c7\u003c/code\u003e\u003c/a\u003e chore: release v1.6.13 (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9804\"\u003e#9804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/87c1a0cab274b574592922ccc2454b0bd510a81f\"\u003e\u003ccode\u003e87c1a0c\u003c/code\u003e\u003c/a\u003e fix(organization): allow null logo on create and update (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9842\"\u003e#9842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/be32012ca3507a62371d1baa09cdacd5123a99bf\"\u003e\u003ccode\u003ebe32012\u003c/code\u003e\u003c/a\u003e fix(oauth): validate redirect_uri schemes in oidc-provider and mcp (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/9c8ded67b192997b6c02150c3423bbc99d9bdb6b\"\u003e\u003ccode\u003e9c8ded6\u003c/code\u003e\u003c/a\u003e docs(two-factor): mark \u003ccode\u003eviewBackupCodes\u003c/code\u003e as server-only in its API comment (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/43c08a2bc77eb01d59ecac28379d5971af6beddc\"\u003e\u003ccode\u003e43c08a2\u003c/code\u003e\u003c/a\u003e fix(account): scope OAuth account identity and fix buggy internalAdapter help...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/23d7cbfa793ca69b733f98334bd12962cad61646\"\u003e\u003ccode\u003e23d7cbf\u003c/code\u003e\u003c/a\u003e fix(oauth): apply \u003ccode\u003eupdateUserInfoOnLink\u003c/code\u003e in OAuth callback link flow (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8758\"\u003e#8758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/d3919dc1a560625d8f09161d64701e257452940f\"\u003e\u003ccode\u003ed3919dc\u003c/code\u003e\u003c/a\u003e feat(account): support server-side \u003ccode\u003eaccountInfo\u003c/code\u003e calls without session header...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/5f282bd382d694f6834b1d0f8f694f737f223811\"\u003e\u003ccode\u003e5f282bd\u003c/code\u003e\u003c/a\u003e fix(account): default \u003ccode\u003estoreStateStrategy\u003c/code\u003e to \u0026quot;database\u0026quot; when using `secondar...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.13/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `svelte` from 5.55.9 to 5.56.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sveltejs/svelte/releases\"\u003esvelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esvelte@5.56.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow declarations in the template (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eperf: use \u003ccode\u003ecreateElement\u003c/code\u003e instead of \u003ccode\u003ecreateElementNS\u003c/code\u003e for HTML elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18262\"\u003e#18262\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: store \u003ccode\u003ecurrent_sources\u003c/code\u003e as a \u003ccode\u003eSet\u003c/code\u003e for O(1) membership checks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18278\"\u003e#18278\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18320\"\u003e#18320\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: hoist \u003ccode\u003erest_props\u003c/code\u003e exclude list as a module-scope \u003ccode\u003eSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18252\"\u003e#18252\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esvelte@5.55.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix: unlink errored and otherwise finished batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18264\"\u003e#18264\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: walk composedPath() directly in delegated event propagation (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18268\"\u003e#18268\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: transfer effects when merging batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18254\"\u003e#18254\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: allow \u003ccode\u003e$derived(await ...)\u003c/code\u003e in disconnected effect roots (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18273\"\u003e#18273\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: remove temporary raw-text hydration markers (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18269\"\u003e#18269\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: propagate async \u003ccode\u003e@const\u003c/code\u003e blockers through closure references so template expressions like \u003ccode\u003e{(() =\u0026gt; host)()}\u003c/code\u003e correctly wait for the awaited value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18309\"\u003e#18309\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: properly unlink batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18298\"\u003e#18298\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: settle discarded batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18290\"\u003e#18290\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: declare \u003ccode\u003elet:\u003c/code\u003e directives before \u003ccode\u003e{@const}\u003c/code\u003e declarations on slotted elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18271\"\u003e#18271\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: resume outro-ed branches if they were kept around (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18291\"\u003e#18291\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: avoid waterfall-warning when async resolves to same value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18297\"\u003e#18297\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: correctly coordinate component-level effects inside async blocks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18260\"\u003e#18260\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: make unnecessary commit work less likely (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18263\"\u003e#18263\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: add tag name to \u003ccode\u003ea11y_click_events_have_key_events\u003c/code\u003e warning (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: catch rejected promises while merging/committing (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18266\"\u003e#18266\u003c/a\u003e)\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/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md\"\u003esvelte's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.56.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow declarations in the template (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eperf: use \u003ccode\u003ecreateElement\u003c/code\u003e instead of \u003ccode\u003ecreateElementNS\u003c/code\u003e for HTML elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18262\"\u003e#18262\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: store \u003ccode\u003ecurrent_sources\u003c/code\u003e as a \u003ccode\u003eSet\u003c/code\u003e for O(1) membership checks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18278\"\u003e#18278\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18320\"\u003e#18320\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: hoist \u003ccode\u003erest_props\u003c/code\u003e exclude list as a module-scope \u003ccode\u003eSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18252\"\u003e#18252\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.55.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix: unlink errored and otherwise finished batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18264\"\u003e#18264\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eperf: walk composedPath() directly in delegated event propagation (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18268\"\u003e#18268\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: transfer effects when merging batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18254\"\u003e#18254\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: allow \u003ccode\u003e$derived(await ...)\u003c/code\u003e in disconnected effect roots (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18273\"\u003e#18273\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: remove temporary raw-text hydration markers (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18269\"\u003e#18269\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: propagate async \u003ccode\u003e@const\u003c/code\u003e blockers through closure references so template expressions like \u003ccode\u003e{(() =\u0026gt; host)()}\u003c/code\u003e correctly wait for the awaited value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18309\"\u003e#18309\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: properly unlink batches (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18298\"\u003e#18298\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: settle discarded batch (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18290\"\u003e#18290\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: declare \u003ccode\u003elet:\u003c/code\u003e directives before \u003ccode\u003e{@const}\u003c/code\u003e declarations on slotted elements (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18271\"\u003e#18271\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: resume outro-ed branches if they were kept around (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18291\"\u003e#18291\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: avoid waterfall-warning when async resolves to same value (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18297\"\u003e#18297\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: correctly coordinate component-level effects inside async blocks (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18260\"\u003e#18260\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: make unnecessary commit work less likely (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18263\"\u003e#18263\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: add tag name to \u003ccode\u003ea11y_click_events_have_key_events\u003c/code\u003e warning (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: catch rejected promises while merging/committing (\u003ca href=\"https://redirect.github.com/sveltejs/svelte/pull/18266\"\u003e#18266\u003c/a\u003e)\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/sveltejs/svelte/commit/70afafe18e48a9973c5f711d62d87d088234655e\"\u003e\u003ccode\u003e70afafe\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18315\"\u003e#18315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/6d26dce265de128d65a99e1735e576651d9c1a75\"\u003e\u003ccode\u003e6d26dce\u003c/code\u003e\u003c/a\u003e allow class/function expressions in tags (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18324\"\u003e#18324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/2fae91af6de9e526346ee096cef798bd54d2f7fd\"\u003e\u003ccode\u003e2fae91a\u003c/code\u003e\u003c/a\u003e perf: deduplicate identical hoisted templates within a component (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18320\"\u003e#18320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a40c745fd95e855a7c667b24ee6bb149783d1813\"\u003e\u003ccode\u003ea40c745\u003c/code\u003e\u003c/a\u003e perf: hoist rest_props exclude list as a module-scope Set (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18252\"\u003e#18252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/980c7e2321b5e9041e868c7d32de7029631a3650\"\u003e\u003ccode\u003e980c7e2\u003c/code\u003e\u003c/a\u003e fix: don't error on \u003ccode\u003e{type}\u003c/code\u003e in declaration tags (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18321\"\u003e#18321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/5300843e8683948e15eebe8b3342cdef6614a41d\"\u003e\u003ccode\u003e5300843\u003c/code\u003e\u003c/a\u003e chore: bump playwright (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18319\"\u003e#18319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/59d3a36f825d9f2ca29dbdbec0ad27e4f5bf1105\"\u003e\u003ccode\u003e59d3a36\u003c/code\u003e\u003c/a\u003e feat: allow declarations in the template (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18282\"\u003e#18282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a9e82dd388815bdd3c86bec88afd997ec0dfe342\"\u003e\u003ccode\u003ea9e82dd\u003c/code\u003e\u003c/a\u003e chore: remove \u003ccode\u003eon_fork_commit\u003c/code\u003e (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18318\"\u003e#18318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/a9916053d9bbad77143d34dd7fdd5ed8b2394413\"\u003e\u003ccode\u003ea991605\u003c/code\u003e\u003c/a\u003e perf: use createElement instead of createElementNS for HTML elements (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18262\"\u003e#18262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/svelte/commit/27e74c4df7b49f6b7663e00acd065a68ddaa337f\"\u003e\u003ccode\u003e27e74c4\u003c/code\u003e\u003c/a\u003e docs: add auto-generated browser support page (\u003ca href=\"https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte/issues/18276\"\u003e#18276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sveltejs/svelte/commits/svelte@5.56.0/packages/svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/form-core` from 1.32.0 to 1.33.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/releases\"\u003e@​tanstack/form-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/form-core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.32.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/TanStack/form/pull/2190\"\u003e#2190\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e - Fix array async default values not updating\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2152\"\u003e#2152\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e - Improve performance for mounting/unmounting \u0026lt;form.Field\u0026gt;\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/form/blob/main/packages/form-core/CHANGELOG.md\"\u003e@​tanstack/form-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.33.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2128\"\u003e#2128\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e - Added FormGroup API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.32.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/TanStack/form/pull/2190\"\u003e#2190\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e - Fix array async default values not updating\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/form/pull/2152\"\u003e#2152\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/form/commit/d0d941dc1a4bd4ac15bb38a9ca1b4a863a3f418e\"\u003e\u003ccode\u003ed0d941d\u003c/code\u003e\u003c/a\u003e - Improve performance for mounting/unmounting \u0026lt;form.Field\u0026gt;\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/1d2c585e159622b7b8be2b09dd7f823c8928b17e\"\u003e\u003ccode\u003e1d2c585\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/808f158b62c08f69689a7b652c35989d717f9014\"\u003e\u003ccode\u003e808f158\u003c/code\u003e\u003c/a\u003e Form Groups (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/5d8b2cd0128207da34114098c92a69685e1cea0a\"\u003e\u003ccode\u003e5d8b2cd\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/120473e270dde2a61e646852d657e1acc5585ffd\"\u003e\u003ccode\u003e120473e\u003c/code\u003e\u003c/a\u003e Fix trusted provenance (\u003ca href=\"https://github.com/TanStack/form/tree/HEAD/packages/form-core/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/form/commit/b402d7ab134adca0d0d4647af12fde9b490c08f7\"\u003e\u003ccode\u003eb402d7a\u003c/code\u003e\u003c/a\u003e fix(form-core): bump _arrayVersion when async defaultValues update array fiel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"...\n\n_Description has been truncated_","html_url":"https://github.com/bwyard/artist-platform/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwyard%2Fartist-platform/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"}}]}