Menu

版本 3.x 更新记录

提示

  • 请查看 package.json 文件中的 version 字段获取版本号
  • v1 和 v2 的更新记录,请参考 v2 版本文档

3.0.0

  • 授权系统: 授权系统从 Supabase Auth 升级到 Better-auth,获得更大的自由度
  • 数据库曾: 数据库从 Supabase Database 升级到 Drizzle ORM,拥有更好的开发体验

3.1.0

  • 统一管理员 Dashboard 页面展示
  • 移除 edge runtime 相关代码
  • 优化 Drizzle 相关文件组织
  • 支持管理员 ban 用户
  • 修复 bug

3.1.1

  • 支持本地记录用户上一次登录方式
  • 用户退出后刷新路由实现重新鉴权

3.1.2

  • 支持集成 Plausible API(actions/plausible/index.ts
  • 优化 Stripe 相关文件组织
  • 管理员用户管理列表可查看用户来源
  • 重新梳理 .env.example,内容更清晰

3.1.3

  • 修复 drizzle.config.ts 无法读取 .env.local 的问题

3.1.4

  • 修复:删除废弃toast提示
  • 修复:lib/db/index.ts 支持读取 Next.js 本地环境变量

3.1.5

  • 修复:删除 package.jsondb:generate 命令的 npx
  • 优化:/api/admin/translate 接口支持 openrouter
  • 修复:components/LanguageDetectionAlert.tsx 在移动端宽度超出屏幕
  • 优化:layout.tsx 条件判断是否开启 Vercel Analytics 组件,仅在 Verce 部署时自动开启
  • 新增:Header 新增多层目录示例
  • 新增:重新生成 Cursor Rules,更适用当前技术栈
  • 修复:删除 components/auth/LoginForm.tsx 邮箱登录的 email 字段值
  • 修复:components/auth/LoginForm.tsx 邮箱登录按钮 disabled 判断修复,支持判断是否开启 Turnstile

3.1.6

  • 优化:components/footer/Footer.tsx 去掉 h2h3 标签
  • 修复:app/[locale]/(protected)/dashboard/(user)/settings/Setting.tsx,提交用户资料后,重置 previewUrl
  • 修复:lib/cloudflare/r2.tsserverUploadFile 修改上传文件的 key
  • 优化:actions/users/admin.ts,封禁用户同时清空该用户的 session
  • 新增:Cookie Consent,支持通过环境变量 NEXT_PUBLIC_COOKIE_CONSENT_ENABLED 设置是否开启
    • app/[locale]/layout.tsx
    • hooks/useCookieConsent.ts
    • components/shared/CookieConsent/
  • 优化:About、Privacy-Policy 和 Terms-of-Service 页面仅提供英文页面,并且在 page.tsx 编写,更加灵活

3.1.7

  • 新增:About 页面示例和退款政策页面示例
  • 新增:lib/ai-model-factory.ts,模型判断复用方法
  • 新增:与 URL 处理有关的方法汇总到 lib/url.ts
  • 新增:与获取网页内容有关的方法汇总到 lib/scraping.ts,并添加环境变量 FIRECRAWL_API_KEY
  • 新增:Discord 通知模板 lib/discord/notifications.ts,并添加环境变量 DISCORD_WEBHOOK_URL
  • 修复:邮件链接补充邮件协议 emails/user-welcome.tsx
  • 优化:newsletter rate limit key 使用产品名称做前缀,废弃掉环境变量 UPSTASH_REDIS_NEWSLETTER_RATE_LIMIT_KEY
    • actions/newsletter/index.ts
  • 优化:新增 generatePublicPresignedUploadUrl,用于任何用户(含未登录用户)均可上传图片的场景
    • actions/r2-resources/index.ts
  • 优化:lib/upstash/index.ts 新增获取 IP 的通用方法 getClientIPFromRequestgetClientIPFromHeaders
  • 优化:actions/stripe/webhook-handler.ts 迁移到 app/api/stripe/webhook/webhook-handlers.ts,内容不变

3.1.8

  • 优化:添加 Stripe 订单相关字段
    • lib/db/schema.tsorders 表新增字段 stripePaymentIntentId, stripeInvoiceIdstripeChargeId,重命名 subscriptionProviderIdsubscriptionId
    • app/api/stripe/webhook/webhook-handlers.ts 记录相关字段
      • handleCheckoutSessionCompleted 写入 orders 添加 stripePaymentIntentId
      • handleInvoicePaid,获取 invoice 的方法扩展 payments,写入 orders 添加 stripePaymentIntentIdstripeInvoiceId,并重命名 subscriptionProviderIdsubscriptionId
      • handleRefund, stripePaymentIntentId 写入 orders 添加 stripePaymentIntentIdstripeChargeId,并重命名 subscriptionProviderIdsubscriptionId
  • 优化:handleRefund 支持处理订阅退款后的权益降级,使得未删除订阅仅退款的场景获得支持
  • 优化:订阅到期的场景,handleSubscriptionUpdate 会触发 revokeRemainingSubscriptionCreditsOnEnd 以重置订阅剩余积分
  • 优化:订单退款后,原始订单 status 也会被标记为 refund

3.1.9

  • 修复:解决 app/[locale]/(protected)/dashboard/(admin)/orders/DataTable.tsx 翻页后无法返回上一页的问题
  • 优化:app/[locale]/(protected)/dashboard/(admin)/orders 页面的 Status 字段展示
  • 新增:用户端 my-orders 页面
    • actions/orders/user.ts
    • app/[locale]/(protected)/dashboard/(user)/my-orders/
  • 新增:支持处理 Stripe radar.early_fraud_warning.created 事件,支持通过自动退款和发送通知邮件两种处理方式、支持通过环境变量配置处理方式
  • 优化:付款成功页面判断订单最新状态,如果遇到自动退款订单,则提供合理的提示信息

3.1.10

  • 修复:解决 components/auth/LoginForm.tsxlastMethod 引起的水合问题
  • 优化:增加 Cloudflare R2 的公共方法并优化 cloudflare 相关方法的文件组织
    • actions/r2-resources/index.ts 增加资源下载方法
    • lib/cloudflare/r2-client.ts 定义 R2 client
    • lib/cloudflare/r2-utils.ts 定义辅助方法
    • lib/cloudflare/r2-download.ts 定义多个下载功能相关的方法
    • lib/cloudflare/r2.ts 用于定义 R2 核心方法
  • 新增:app/[locale]/(protected)/dashboard/(admin)/r2-resources/page.tsx 增加管理员上传图片的功能
  • 新增:支持 hreflangs
  • 其他优化和细节修复
    • 修复:app/[locale]/(protected)/dashboard/(user)/credit-history/Columns.tsx 更新订阅取消的标识
    • 优化:修改环境变量 DISCORD_SUBMIT_WEBHOOK_URLDISCORD_WEBHOOK_URL
    • 优化:app/[locale]/(protected)/dashboard/(admin)/r2-resources/Columns.tsx 支持复制资源完整 URL
    • 优化:更新 cursor rules
    • 修复:lib/db/schema.ts 定义博客 publishedAt 字段自动更新
    • 优化:博客模块标签管理和选择的样式
    • 优化:用户端博客卡片的图片展示尺寸

3.1.11

  • 优化:错误提示页面样式设计同步与优化
  • 修复:Markdown 表格渲染
  • 新增:博客模块访问量统计

3.1.12

  • 优化:lib/metadata.ts 适配动态 opengraph-image.tsx
  • 修复:仅英文界面 metadata 只传入英文标识
    • app/(site)/privacy-policy/page.tsx
    • app/(site)/refund-policy/page.tsx
    • app/(site)/terms-of-service/page.tsx
  • 优化:更新 FAQ 组件
  • 修复:更新定价数据种子数据 sql 文件
  • 优化:主题样式管理优化

3.2.0

  • 技术栈升级:Tailwind 升级到 v4

3.2.1

  • 修复:年付订阅,credit_logs 表记录每个月发放的积分。更新记录

3.2.2

3.2.3 - 3.2.4

  • 优化:使用 tiptap 重构 CMS,并增加多种特性