v1.7.6

ruvnet/RuViewv1.7.6Sep 24, 2026by better-release[bot]

Upgrading?

AI Summary

Focuses on authentication improvements including a `bannedUserMessage` function for detailed ban reasons and Vercel BotID as a captcha provider, alongside various bug fixes.

Key Highlights

  • Added `bannedUserMessage` function for detailed ban reasons.
  • Added Vercel BotID as a captcha provider for protected routes.
  • Fixed React hydration mismatches on auth queries.
  • Fixed model identity conflicts with custom schema keys.

New Features

  • Banned user message details in sign-in errors
  • Vercel BotID captcha provider
  • Schema validation command (`check` and `check schema`)

Full Release Notes

## `better-auth`

### Features

- Added support for a `bannedUserMessage` function that receives the banned user, allowing sign-in errors to include details such as the ban reason. ([#11325](https://github.com/better-auth/better-auth/pull/11325))
- Added Vercel BotID as a captcha provider for protected authentication routes. ([#11016](https://github.com/better-auth/better-auth/pull/11016))

### Bug Fixes

- Passwords over `maxPasswordLength` are now rejected with `PASSWORD_TOO_LONG` before hashing or verification. ([#11324](https://github.com/better-auth/better-auth/pull/11324))
- Fixed React hydration mismatches when session or plugin auth queries resolve before streamed components hydrate. ([#11316](https://github.com/better-auth/better-auth/pull/11316))
- Prevented older auth-query responses from overwriting newer results when requests overlap. ([#11376](https://github.com/better-auth/better-auth/pull/11376))
- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))
- Fixed schema validation for Cloudflare D1 when the Kysely dialect cannot introspect the database. ([#11366](https://github.com/better-auth/better-auth/pull/11366))
- Fixed social account linking through the OAuth Proxy plugin. ([#11268](https://github.com/better-auth/better-auth/pull/11268))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/better-auth/CHANGELOG.md)

## `@better-auth/kysely-adapter`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))
- Fixed schema validation for SQLite-generated primary keys, including `INTEGER PRIMARY KEY` columns without `AUTOINCREMENT`. ([#11374](https://github.com/better-auth/better-auth/pull/11374))
- Fixed schema validation for Cloudflare D1 when the Kysely dialect cannot introspect the database. ([#11366](https://github.com/better-auth/better-auth/pull/11366))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/kysely-adapter/CHANGELOG.md)

## `@better-auth/prisma-adapter`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))
- Fixed schema validation for capitalized custom Prisma model names. ([#11319](https://github.com/better-auth/better-auth/pull/11319))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/prisma-adapter/CHANGELOG.md)

## `@better-auth/core`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/core/CHANGELOG.md)

## `@better-auth/drizzle-adapter`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/drizzle-adapter/CHANGELOG.md)

## `@better-auth/memory-adapter`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/memory-adapter/CHANGELOG.md)

## `@better-auth/mongo-adapter`

### Bug Fixes

- Fixed model identity when a custom model name matches another schema key. ([#11333](https://github.com/better-auth/better-auth/pull/11333))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/mongo-adapter/CHANGELOG.md)

## `@better-auth/stripe`

### Bug Fixes

- Fixed automatic seat updates after an organization resubscribes, even when canceled subscriptions remain in its history. ([#11347](https://github.com/better-auth/better-auth/pull/11347))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/stripe/CHANGELOG.md)

## `auth`

### Features

- Added read-only `check` and `check schema` commands to validate your configured adapter schema on demand. ([#11314](https://github.com/better-auth/better-auth/pull/11314))

For detailed changes, see [`CHANGELOG`](https://github.com/better-auth/better-auth/blob/6bb9dbab0b7f351b44dd929e3254c5962e9f8af1/packages/cli/CHANGELOG.md)

## Contributors

Thanks to everyone who contributed to this release:

@bytaesu, @davbrito, @rwieruch, @Smidge, @Wadiou, @XXMOHAMED012

**Full changelog:** [`v1.7.5...v1.7.6`](https://github.com/better-auth/better-auth/compare/v1.7.5...v1.7.6)

Related Repositories