バージョン 3.x チェンジログ
注目すべき点
- バージョン番号を取得するには、
package.jsonファイルのversionフィールドを確認してください- v1およびv2のチェンジログについては、v2バージョンドキュメントを参照してください
3.0.0
- 認証システム: 認証システムがSupabase AuthからBetter-authにアップグレードされ、より高い柔軟性を提供
- データベース層: データベースがSupabase DatabaseからDrizzle ORMにアップグレードされ、より良い開発体験を提供
3.1.0
- 管理ダッシュボードページ表示の統一
- エッジランタイム関連コードの削除
- Drizzle関連ファイル構成の最適化
- 管理者によるユーザーBANサポートの追加
- バグ修正
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
- 修正: 非推奨のトースト通知を削除
- 修正:
lib/db/index.tsがNext.jsローカル環境変数の読み取りをサポート
3.1.5
- 修正:
package.jsonのdb:generateコマンドからnpxを削除 - 最適化:
/api/admin/translateエンドポイントがopenrouterをサポート - 修正:
components/LanguageDetectionAlert.tsxのモバイル画面での幅オーバーフロー - 最適化:
layout.tsxでVercelAnalyticsコンポーネントを有効化する条件ロジック、Vercelにデプロイ時のみ自動有効化 - 追加:
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メソッドが変更されたファイルキーを使用してアップロード - 最適化:
actions/users/admin.ts、ユーザーをBANする際にそのユーザーのセッションもクリア - 追加: 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に統合 - 追加: Webコンテンツスクレイピング関連メソッドを
lib/scraping.tsに統合し、環境変数FIRECRAWL_API_KEYを追加 - 追加: Discord通知テンプレート
lib/discord/notifications.ts、環境変数DISCORD_WEBHOOK_URLを追加 - 修正:
emails/user-welcome.tsxでメールリンクにメールプロトコルを含める - 最適化: ニュースレターレート制限キーにプロダクト名をプレフィックスとして使用、環境変数
UPSTASH_REDIS_NEWSLETTER_RATE_LIMIT_KEYを非推奨化actions/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をsubscriptionIdに名前変更app/api/stripe/webhook/webhook-handlers.tsで関連フィールドを記録handleCheckoutSessionCompletedでordersにstripePaymentIntentIdを追加して書き込みhandleInvoicePaidで請求書取得メソッドを拡張して支払いを含め、ordersにstripePaymentIntentIdとstripeInvoiceIdを追加して書き込み、subscriptionProviderIdをsubscriptionIdに名前変更handleRefundで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ページでのステータスフィールド表示 - 追加: ユーザー側のmy-ordersページ
actions/orders/user.tsapp/[locale]/(protected)/dashboard/(user)/my-orders/
- 追加: Stripe
radar.early_fraud_warning.createdイベント処理のサポート、自動返金と通知メールの2つの処理方法をサポート、処理方法は環境変数で設定可能 - 最適化: 支払い成功ページで最新の注文ステータスを確認し、自動返金注文に遭遇した場合は適切な通知を提供
3.1.10
- 修正:
components/auth/LoginForm.tsxのlastMethodによって引き起こされたハイドレーション問題を解決 - 最適化: Cloudflare R2パブリックメソッドを追加し、cloudflare関連メソッドのファイル構成を最適化
actions/r2-resources/index.tsにリソースダウンロードメソッドを追加lib/cloudflare/r2-client.tsでR2クライアントを定義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_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に対応 - 修正: 英語のみのインターフェースメタデータが英語識別子のみを渡すように変更
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をリファクタリングし、複数の機能を追加
3.2.5
- 修正:テーブルの幅が過大になるとサイドバーに重なる問題を解決
- ‼️重要な修正:組み込みのサブスクリプションアップグレードメソッドで、年間払いの更新時に誤った時間が記録される問題。製品で組み込みのサブスクリプションアップグレードメソッドを使用している場合は、必ず変更履歴を参照して修正してください。
3.2.6
- 追加:Creem決済の統合
- 最適化:価格設定作成機能の強化:
3.2.7
- 技術スタックのアップグレード:Next.jsとReactをそれぞれNext.js 16.0.7とReact 19.2.1にアップグレード、アップグレードガイドを参照
- 技術スタックのアップグレード:Next-intlを4.5.8にアップグレード
3.2.8
- 最適化:一部のスタイルとテキストの最適化
- ‼️重要な修正:ReactとNext.jsのバージョンをアップグレードしてRSC脆弱性を修正
3.2.9 - 3.2.10
- 追加:UmamiとRybbitの統合
- 追加:メール検証コードログインのサポート
- 追加:ログインレート制限
- 追加:ユーザーソース情報を記録し、環境変数
NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLEDで有効/無効を設定可能 - 最適化:Sidebar レイアウト下、ユーザー情報が Header に表示されなくなり、Sidebar フッターに表示されるように
3.2.11
- 最適化:TipTap エディターが出力形式を選択できるようになり、"markdown" | "text" | "html" をサポートし、デフォルトは markdown
- 追加:Microsoft Clarity
- 修正:R2 リソースのアップロードとダウンロードメソッドがユーザーロールを判断しないように修正
- 技術スタックのアップグレード:Resend を 6.6.0 にアップグレード、
audience_idが不要になりました
3.2.12
- 追加:PostHog 統合
- 最適化:Better-Auth 限流機能は環境変数で設定可能で、デフォルトは無効
- 最適化:Redis Keys 管理の最適化
- 修正:Better-Auth captcha に有効/無効の判断を追加
- 技術スタックのアップグレード:Resend を 6.6.0 にアップグレード、
audience_idが不要になりました - 技術スタックのアップグレード:Better-Auth を 1.4.7 にアップグレード
- 最適化:Better-Auth 限流機能設定
/get-sessionを false にし、このインターフェースは速率制限をトリガーしないため、Redis の読み取りと書き込みを大幅に削減 - 最適化:Better-Auth session 過期時間遅延、freshAge 設定取消(デフォルト値を使用)
- 最適化:ユーザーテーブルがより多くのソースデータを表示
- 最適化:環境変数スイッチを使用して、メールエイリアスフィルタリングを有効/無効に判断
- 追加:Crisp 統合
3.2.13
- 最適化:CMS タグ機能スタイル最適化
- 最適化:CMS モジュールアップグレード、より多くの機能をサポート
- 読み取り数統計を有効/無効に設定可能
- ローカル mdx 記事を有効/無効に設定可能
- 記事にカバー画像がない場合、タイトルに基づいて動的 OG 画像を生成
- 記事リストは2つの表示方式をサポート:カードとリスト、後者はカバー画像を表示しない
- 記事カバー画像はローカルアップロード、外部リンク、CloudFlare R2 選択をサポート
- 追加:CMS モジュールに Glossary モジュールを追加、SEO 向上に使用
3.2.14
- 技術スタックのアップグレード:Next.js を 16.1.1 にアップグレード
- 修正:TipTap エディター画像後にタイトルをフォロー、タイトルが Markdown 形式でレンダリングできない問題を修正
- 最適化:TipTap エディターとレンダラースタイル
- 追加:価格管理がグループ機能をサポート、ドキュメント
- 修正:Stripe 価格編集が送信できない問題を修正
- 最適化:価格コンポーネントを Home コンポーネントから分離し、独立モジュールに維持
- 最適化:価格と価格グループのシードファイルを更新
3.2.15
- 最適化:価格データインポート/エクスポートスクリプトの更新、AI生成価格データとの組み合わせをサポート
3.2.16
- 追加:GitHub Actions に .env ファイルを自動同期するサポート、ドキュメント