版本 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.json里db:generate命令的npx - 优化:
/api/admin/translate接口支持openrouter - 修复:
components/LanguageDetectionAlert.tsx在移动端宽度超出屏幕 - 优化:
layout.tsx条件判断是否开启 VercelAnalytics组件,仅在 Verce 部署时自动开启 - 新增:
Header新增多层目录示例 - 新增:重新生成 Cursor Rules,更适用当前技术栈
- 修复:删除
components/auth/LoginForm.tsx邮箱登录的email字段值 - 修复:
components/auth/LoginForm.tsx邮箱登录按钮disabled判断修复,支持判断是否开启 Turnstile
3.1.6
- 优化:
components/footer/Footer.tsx去掉h2、h3标签 - 修复:
app/[locale]/(protected)/dashboard/(user)/settings/Setting.tsx,提交用户资料后,重置previewUrl - 修复:
lib/cloudflare/r2.ts的serverUploadFile修改上传文件的 key - 优化:
actions/users/admin.ts,封禁用户同时清空该用户的 session - 新增:Cookie Consent,支持通过环境变量
NEXT_PUBLIC_COOKIE_CONSENT_ENABLED设置是否开启app/[locale]/layout.tsxhooks/useCookieConsent.tscomponents/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_KEYactions/newsletter/index.ts
- 优化:新增
generatePublicPresignedUploadUrl,用于任何用户(含未登录用户)均可上传图片的场景actions/r2-resources/index.ts
- 优化:
lib/upstash/index.ts新增获取 IP 的通用方法getClientIPFromRequest和getClientIPFromHeaders - 优化:
actions/stripe/webhook-handler.ts迁移到app/api/stripe/webhook/webhook-handlers.ts,内容不变
3.1.8
- 优化:添加 Stripe 订单相关字段
lib/db/schema.ts,orders表新增字段stripePaymentIntentId,stripeInvoiceId和stripeChargeId,重命名subscriptionProviderId为subscriptionIdapp/api/stripe/webhook/webhook-handlers.ts记录相关字段handleCheckoutSessionCompleted写入orders添加stripePaymentIntentIdhandleInvoicePaid,获取 invoice 的方法扩展 payments,写入orders添加stripePaymentIntentId和stripeInvoiceId,并重命名subscriptionProviderId为subscriptionIdhandleRefund,stripePaymentIntentId写入orders添加stripePaymentIntentId和stripeChargeId,并重命名subscriptionProviderId为subscriptionId
- 优化:
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.tsapp/[locale]/(protected)/dashboard/(user)/my-orders/
- 新增:支持处理 Stripe
radar.early_fraud_warning.created事件,支持通过自动退款和发送通知邮件两种处理方式、支持通过环境变量配置处理方式 - 优化:付款成功页面判断订单最新状态,如果遇到自动退款订单,则提供合理的提示信息
3.1.10
- 修复:解决
components/auth/LoginForm.tsx的lastMethod引起的水合问题 - 优化:增加 Cloudflare R2 的公共方法并优化 cloudflare 相关方法的文件组织
actions/r2-resources/index.ts增加资源下载方法lib/cloudflare/r2-client.ts定义 R2 clientlib/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_URL为DISCORD_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.tsxapp/(site)/refund-policy/page.tsxapp/(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,并增加多种特性