Skip to content

chore: sync upstream v3.4.0 + bump btst to 1.2.3#7

Merged
olliethedev merged 22 commits intomainfrom
cursor/upstream-better-auth-ui-sync-b8af
Apr 6, 2026
Merged

chore: sync upstream v3.4.0 + bump btst to 1.2.3#7
olliethedev merged 22 commits intomainfrom
cursor/upstream-better-auth-ui-sync-b8af

Conversation

@cursor
Copy link
Copy Markdown

@cursor cursor bot commented Apr 3, 2026

Weekly Upstream Sync — April 3, 2026

What's changing

  • Merged upstream better-auth-ui v3.4.0 into our fork (upstream was at 3.4.0, our merge base was 3.3.15)
  • Bumped @btst/better-auth-ui version: 1.2.21.2.3 (patch bump — pure upstream sync with no new btst additions)
  • Updated @btst/stack peer dep: >=2.6.1>=2.10.0 (latest published version)
  • Regenerated pnpm-lock.yaml against upstream's lockfile baseline

Upstream changes included (v3.4.0)

  • Replace ua-parser-js (AGPL) with bowser — license fix
  • Support Better Auth 1.5 (AuthUIProvider, remove AuthQueryProvider)
  • Use permissions prop for useHasPermission (was permission)
  • Pass callbackURL to SignInForm
  • Inline redirect resolution in useOnSuccessTransition
  • Add optional errorMessage property to AdditionalField
  • Add POST method to all forms
  • Add onUpdateComplete support to UpdateFieldCard
  • Fix useListApiKeys return type ({ apiKeys: ApiKey[] })
  • Add isRefetching to AuthHook type
  • Move apiKeyClient import to @better-auth/api-key/client
  • Dependency updates: lucide-react ^1.0.1, typescript ^6.0.2, turbo ^2.8.20, tailwind-merge ^3.5.0, @tanstack/react-query ^5.95.2

No btst-specific changes required

  • No new view paths added upstream → no new page wrappers or plugin routes needed
  • No new AuthUIProviderProps or AuthUIContextType props → no bridge updates needed
  • Build passes clean (turbo build ✓)
  • Biome check passes (only pre-existing any warnings in test files)
Open in Web View Automation 

Note

Medium Risk
Upgrades core auth-related dependencies (e.g., better-auth to ^1.5.6) and adjusts integration guidance, which can introduce subtle runtime and type incompatibilities despite being mostly version bumps.

Overview
Syncs to upstream and bumps @btst/better-auth-ui from 1.2.2 to 1.2.3, updating a set of auth/UI/tooling dependencies (notably better-auth/@better-auth/*, @tanstack/react-query, typescript, and replacing ua-parser-js with bowser).

Updates the TanStack Start integration docs to use the new AuthUIProvider flow (dropping AuthQueryProvider/AuthUIProviderTanstack wiring) and removes baseUrl from the docs tsconfig.json.

Reviewed by Cursor Bugbot for commit 9e812e9. Bugbot is set up for automated code reviews on this repo. Configure here.

victorymakes and others added 22 commits January 15, 2026 12:09
This should prevent default GET behavior when JavaScript is loading or has issues
ua-parser-js v2.0.0+ is licensed under AGPLv3, which is incompatible with
this project's MIT license. Replace it with bowser (MIT-licensed) which
provides equivalent user-agent parsing functionality.

Fixes better-auth-ui#346

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…m field-level error messages

Adds an optional `errorMessage` property with `required`, `invalid`, and
`validate` string fields to `AdditionalField`. When provided, these
override the default concatenated messages (e.g. "termsAccepted is
required") with user-specified text in sign-up and settings forms.

Closes better-auth-ui#335

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add `method="POST"` to all form elements
Fix: Set Password asking for Missing CAPTCHA response
…e-ua-parser-js-with-bowser

Replace ua-parser-js with bowser (AGPL -> MIT)
Add onUpdateComplete support to UpdateFieldCard
fix: Use correct `apiKeys` from nested key
…m-field-error-messages

feat: custom field-level error messages
Update TanStack Start docs and provider setup: remove the note about installing @daveyplate/better-auth-tanstack in the intro. In app/providers.tsx replace AuthQueryProvider/AuthUIProviderTanstack with AuthUIProvider from @daveyplate/better-auth-ui/tanstack, remove the QueryClient import and the queryClient creation, and wrap children directly with AuthUIProvider while passing authClient, navigate, replace, and Link props.
Fix incorrect prop name passed to useHasPermission in two components. Renamed `permission` to `permissions` in MemberCell and OrganizationMembersContent so the hook receives the expected prop and member update permission checks work correctly.
Add a callbackURL prop and propagate it from AuthForm into SignInForm. Update SignInFormProps and the SignInForm component to accept and forward callbackURL into the sign-in request payload, enabling callers to supply a post-auth callback/redirect URL. Changes in src/components/auth/auth-form.tsx and src/components/auth/forms/sign-in-form.tsx.
Remove the getRedirectTo useCallback and inline its logic inside the onSuccess effect. The effect now computes redirectTo from redirectToProp, the search param, or contextRedirectTo and includes redirectToProp and contextRedirectTo in its dependency array. This avoids a stale-closure bug and simplifies the hook implementation (file: src/hooks/use-success-transition.ts).
Update package.json version from 3.3.15 to 3.4.0 to prepare a new minor release. No other changes were made in this commit.
…ter-auth-ui-sync-b8af

# Conflicts:
#	package.json
#	pnpm-lock.yaml

Co-authored-by: Ollie <olliethedev@users.noreply.github.com>
Co-authored-by: Ollie <olliethedev@users.noreply.github.com>
@olliethedev olliethedev marked this pull request as ready for review April 6, 2026 12:22
@olliethedev olliethedev merged commit 7f48fd7 into main Apr 6, 2026
2 checks passed
@olliethedev olliethedev deleted the cursor/upstream-better-auth-ui-sync-b8af branch April 6, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants