返回更新日志
产品

依赖全面更新,更多配置离开环境变量

直接依赖已更新到当前版本,包括 Next.js 16.3.7、OpenNext Cloudflare 1.20.7、Wrangler 4.144 和 Better Auth 1.7.6。头像读域名、邮件签名密钥和 Turnstile 改为后台运行时设置。

这次把模板的直接依赖更新到当前版本,删掉不再使用的包,并把三项配置从环境变量挪到后台运行时设置。

依赖

  • Next.js 与 @next/third-parties 为 16.3.7。@opennextjs/cloudflare 为 1.20.7。Wrangler 为 4.144。Better Auth 为 1.7.6。
  • 其余直接依赖在同一次更新里也升到了当前版本。
  • 0001_better_auth_1_7_6.sql 对齐 Better Auth 1.7.6:account.issuer 改为可空,two_factor 增加 verified、failed_verification_count 和 locked_until。已有数据库需要执行 pnpm drizzle:migrate。

清理

  • package.json 里未使用的依赖已删除。
  • src/components/ui 里未使用的组件已删除。
  • pnpm drizzle:status 可以查看已应用和待应用的迁移。Drizzle 脚本通过 dotenv run -f .env 读取 .env。

运行时设置

  • 头像公开读域名不再使用 NEXT_PUBLIC_AVATARS_PROXY_URL。在「存储」标签填写。已登录客户端从 /api/auth/get-session 的 avatarsFileProxyUrl 读取。后台留空时,使用 src/config/storage.ts 里的 AVATARS_FILE_PROXY_URL_FALLBACK。
  • 邮件退订签名单独放在「邮件」标签。密钥留空时继续使用 BETTER_AUTH_SECRET。保存新密钥后,已经发出去的退订链接会失效。
  • Cloudflare Turnstile 单独放在「验证码」标签。忘记密码页在服务端读出站点密钥,再传给表单。站点密钥和密钥都保存之后,页面才会显示验证码,服务端才会校验令牌。
  • .env.local.example 已去掉 NEXT_PUBLIC_AVATARS_PROXY_URL、NEWSLETTER_TOKEN_SECRET、NEXT_PUBLIC_TURNSTILE_SITE_KEY 和 CAPTCHA_SECRET_KEY。