16 人が閲覧(直近 30 日) Laravel

Laravel Breezeはなぜ非推奨に?Laravel 13のスターターキット4種と移行判断

Laravel Breezeはなぜ非推奨に?Laravel 13のスターターキット4種と移行判断

Laravel Breezeは、Laravel 12のリリースノートで「追加の更新は行わない」と告知されました。後継はReact・Vue・Svelte・Livewireの4種類のスターターキットで、認証処理はLaravel Fortifyに一本化され、2要素認証とパスキーが標準で入ります。

ただし「非推奨」は「使えなくなった」という意味ではありません。2026年9月時点でBreezeのリポジトリはアーカイブされておらず、最新のv2.4.2はLaravel 13を依存範囲に含みます。本記事では、Laravel 13.33.0で breeze:install を実行した結果と、Breezeパッケージを外しても動くかを確かめた結果をもとに、既存プロジェクトを移行すべきかどうかの判断材料をまとめます。

まとめ:Breeze非推奨の実態とスターターキット選びの要点

  • 非推奨の中身:Laravel 12(2025年2月24日)で「BreezeとJetstreamは追加の更新を受けない」と告知。削除やアーカイブではなく、新機能の追加が止まった状態です。
  • Laravel 13でも入る:Breeze v2.4.2は ^11.0|^12.0|^13.0 を許容し、Laravel 13.33.0で breeze:install blade は成功、同梱テスト25件も通りました。ただしTailwindは3系のままです。
  • 既存のBreeze製アプリは急いで移行しなくてよい:Breezeはコードを生成するだけの開発用パッケージで、composer remove で外してもテストは全件通りました。
  • Jetstream製アプリは計画的に移行する:HasTeams などJetstreamのクラスを実行時に使うため、次のメジャー版への追随が保証されません。
  • 新規は後継のスターターキット:laravel new でReact・Vue・Svelte・Livewireから選びます。4種ともFortifyを使い、2要素認証・パスキー・メール確認が最初から有効です。

Laravel Breezeが非推奨になった経緯とリポジトリの現状

告知の根拠は、Laravel 12のリリースノートにある次の一文です。

With the introduction of our new application starter kits, Laravel Breeze and Laravel Jetstream will no longer receive additional updates.

新しいスターターキットの導入に伴い、BreezeとJetstreamは今後の更新を受けない、という意味です。公式サイトの案内もスターターキットに切り替わり、BreezeのREADMEには「This starter kit is for Laravel 11.x and prior.(Laravel 11.x以前向け)」と書かれています。

Laravel 13への互換更新は継続:v2.4.2とv5.5.3の依存範囲

一方で、保守が完全に止まったわけではありません。2026年9月28日時点のGitHubの状態は次のとおりです。

項目 laravel/breeze laravel/jetstream
アーカイブ されていない されていない
最新リリース v2.4.2(2026-05-19) v5.5.3(2026-05-19)
許容するLaravel 11 / 12 / 13 11 / 12 / 13
PHP要件 8.2以上 8.2以上
直近のコミット 2026-06-20 2026-09-17

Breezeの最後のコミットは、Laravel 13以降のInertiaスタックで不要になった bootstrap.js の読み込みを外す修正でした。新機能は入らないものの、新しいLaravelで壊れない程度の手当ては続いています。パスキーやチーム機能のような新しい認証機能が入るのは、後継のスターターキットだけです。

Laravel 13.33.0でbreeze:installを実行した結果

PHP 8.5.8の環境で、Laravel 13の新規プロジェクトにBreezeを入れてみました。

composer create-project laravel/laravel app
cd app
php artisan --version
# Laravel Framework 13.33.0
composer require laravel/breeze --dev
# Installing laravel/breeze (v2.4.2)
php artisan breeze:install blade
# INFO  Breeze scaffolding installed successfully.
php artisan test
# tests: 25, passed: 25

インストールは成功し、routes/auth.php にログイン・登録・メール確認などのルートが入りました。注意点はフロントエンドです。Laravel 13の雛形はTailwind CSS 4(@tailwindcss/vite)で始まりますが、Breezeは vite.config.js を書き換えてTailwindのViteプラグインを外し、tailwind.config.js と postcss.config.js を置いてTailwind 3.4.19で組み直します。package.json には使われなくなった @tailwindcss/vite が残るため、Tailwind 4の書き方で追加したCSSはそのままでは効きません。

Laravel Breezeとは:6つのスタックと生成されるコード

Breezeは、ログイン・ユーザー登録・パスワードリセット・メール確認・プロフィール編集の画面とコントローラーを、アプリ内にコピーする雛形生成ツールです。php artisan breeze:install に渡すスタックは6種類あります。

  • blade:BladeとAlpine.js
  • livewire / livewire-functional:Livewire(Voltのクラス記法/関数記法)
  • react / vue:Inertia経由のReact・Vue(--typescript でTypeScript化)
  • api:画面を持たず、SPAやモバイル向けの認証APIだけを生成

Breezeの認証はFortifyを使わず、app/Http/Controllers/Auth に置かれるコントローラーなどが処理します。検証したBladeスタックでは認証コントローラーが9本ありますが、Livewireスタックでは主にVoltコンポーネントが認証処理を担います。生成後のコードはすべてアプリの持ち物になるため、Breezeは開発用依存(--dev)として入れるのが公式の手順でした。Jetstreamとの違いは次の表のとおりです。

比較項目 Breeze Jetstream 新スターターキット
認証処理 生成したコントローラー Fortify Fortify
実行時の依存 不要(開発用) laravel/jetstream laravel/fortify
画面の技術 Blade・Livewire・Inertia Livewire・Inertia(Vue) React・Vue・Svelte・Livewire
Tailwind 3系 3系 4系
2要素認証 なし あり あり
パスキー なし なし あり
チーム機能 なし あり あり(--teams)

後継のスターターキット4種の技術構成

2026年9月時点の各リポジトリのmainブランチは、いずれもPHP 8.3以上・laravel/framework ^13.17・laravel/fortify ^1.37.2・Tailwind CSS 4を前提にしています。

キット フロントエンド UIライブラリ 画面の橋渡し
React React 19・TypeScript shadcn/ui Inertia 3
Vue Vue 3(Composition API)・TypeScript shadcn-vue Inertia 3
Svelte Svelte 5・TypeScript shadcn-svelte Inertia 3
Livewire Livewire 4・Blade Flux UI なし(サーバー描画)

Laravel 12の発表時はReact・Vue・Livewireの3種で、Livewire版はVoltを使っていました。その後Svelte版が2026年2月に加わり、Livewire版はLivewire 4ベースに作り替えられています。React・Vue・Svelte版はルート定義をTypeScriptの型として生成するWayfinderを使うため、Fortifyの機能を無効にしたときは、フロント側に残った該当ルートの参照も消さないとビルドが失敗します。Inertia 3の仕組みはLaravel Inertiaとは、Livewire 4の書き方はLivewire(Laravel)の使い方で解説しています。

Fortifyによる認証:2要素認証とパスキーが標準で有効

4種のキットはすべて、認証のバックエンドにFortifyを使います。config/fortify.php の初期状態では次の機能が有効です。

'features' => [
    Features::registration(),
    Features::resetPasswords(),
    Features::emailVerification(),
    Features::twoFactorAuthentication([
        'confirm' => true,
        'confirmPassword' => true,
    ]),
    Features::passkeys([
        'confirmPassword' => true,
    ]),
],

2要素認証(TOTP)は2025年9月、パスキーは2026年5月にキットへ追加されました。パスキーはFortify v1.37.0(2026年4月28日)で入ったWebAuthn実装で、User モデルが PasskeyUser を実装し、passkeys テーブルのマイグレーションも最初から含まれます。Breeze自体にはパスキー機能が含まれませんが、新キットでは作成直後から設定画面で登録できます。パスキーと2要素認証の実装の細部はLaravel Fortifyとはにまとめています。

チーム機能:teamsオプションで生成される構成

laravel new に --teams を付けると、ユーザーが複数のチームに所属し、登録時に個人用チームが作られる構成で生成されます。ダッシュボードのURLは /{current_team}/dashboard になり、チームの作成・切り替え・メンバー招待の画面も付きます。Jetstreamのチーム機能に相当しますが、テーブル構成は別物です(後述)。

WorkOS AuthKit版:ソーシャルログイン・SSO・Magic Auth

各キットにはWorkOS AuthKitで認証する版があり、Google・Microsoft・GitHub・Appleのソーシャルログイン、パスキー、メールで届くコードでログインするMagic Auth、SSOが使えます。AuthKitのユーザー管理は月間アクティブユーザー100万人まで無料ですが、企業向けSSOの接続は別料金(1〜15接続なら1接続あたり月額125ドル)です。.env には WORKOS_CLIENT_ID・WORKOS_API_KEY・WORKOS_REDIRECT_URL を設定します。公式ドキュメントは、WorkOS側で「Email + Password」を無効にしてアプリがパスワードを一切持たない構成を推奨しています。料金の試算や他のIDaaSとの比較はWorkOSとはをご覧ください。

laravel newでスターターキットを作成する手順とオプション

スターターキットはLaravelインストーラーから作成します。対話形式で聞かれる項目は、オプションで先に指定できます。

composer global require laravel/installer
laravel new my-app --react
cd my-app
npm install && npm run build
composer run dev
オプション 効果
--react / --vue / --svelte / --livewire 使うキットを指定
--livewire-class-components Livewireをクラス分離型で生成
--workos WorkOS AuthKit版を使う
--teams チーム機能を入れる
--no-authentication 認証なしの blank 版キットを使う
--pest / --phpunit テストフレームワークを選ぶ
--boost / --no-boost Laravel Boostを入れるか
--using=vendor/package Packagist上のコミュニティ製キットを使う

作成の途中で、キット側のフック(php artisan install:features)が「Which authentication features would you like to enable?」と尋ね、メール確認・ユーザー登録・2要素認証・パスキー・パスワード確認の5項目を選ばせます。既定は全選択で、外した機能は関連するコード・設定・パッケージごと削除されます。社内ツールで公開登録が不要なら、ここで Registration を外すのが最も手早い方法です。

インストーラーを使わず composer create-project laravel/react-starter-kit を直接実行すると、2025年2月24日付のタグ v1.0.1 が入ります。キットはタグを切らずにmainを更新しているため、インストーラー(v5.32.0)は内部で --stability=dev を付けています。直接実行する場合も同じ指定が必要です。

Laravelの認証ライブラリの役割分担:Fortify・Sanctum・Passport・Socialite

「Laravelの認証ライブラリはどれを使うか」で迷う原因は、画面を持つスターターキットと、画面を持たない部品のパッケージが混在していることです。

パッケージ 担う範囲 最新版(2026年9月)
スターターキット 下のFortifyを使った画面一式 mainを随時更新
Fortify ログイン・登録・2要素認証・パスキーの処理 v1.40.0
Sanctum SPAのCookie認証・APIトークン v4.3.3
Passport OAuth2サーバー v13.8.0
Socialite Google・GitHubなど外部アカウントでのログイン v5.31.0

画面付きのWebアプリならスターターキット(中身はFortify)、同一の親ドメインを共有するSPAのCookie認証や、モバイルアプリのAPIトークン認証ならSanctum、他社のアプリにOAuthで認可を出す場合だけPassportです。Socialiteはこれらと併用する部品で、単体ではセッション管理を担いません。Sanctumの2つの認証方式の使い分けはLaravel Sanctumとはで扱っています。

スターターキットの選定基準:フロントエンドの担当技術とAPI要件

4種の機能差はほぼなく、違いはフロントエンドの書き方だけです。判断はチームのスキルとAPIの要否で決まります。

  • PHPとBladeが中心のチーム:Livewire。JavaScriptのビルド設定を触る場面が最も少なく、Breezeの blade スタックからの乗り換え先にもなります。
  • Reactの経験者がいる:React。shadcn/uiの部品をそのまま使えます。構成の比較はLaravelとReactの連携方法を参照してください。
  • 既存のVue資産がある:Vue。Breezeの vue スタックやJetstreamのInertia版から移る場合の近道です。
  • Svelteを使いたい:Svelte。2026年2月に加わった最も新しいキットで、Svelte 5のrunesで書かれています。

スターターキットを採用すべきでない場面もあります。モバイルアプリや別ドメインのSPAが主な利用者で、Laravel側に画面を持たないAPIサーバーを作るなら、キットは不要です。php artisan install:api でSanctumを導入し、ログイン・登録・パスワードリセットのAPIをFortifyまたは独自実装で補う構成が、Breezeの api スタックの代わりになります。

新規案件でBreezeを選ぶ理由は、ほぼ残っていません。Breezeは新機能を受けないうえTailwind 3で固定され、2要素認証もパスキーもありません。Bladeを使いながらLivewireのコンポーネント構成を採用できるなら、Livewireキットが候補です。従来型のコントローラーとBladeだけで構成したい場合は、Fortifyなどで認証処理を組み込む方法もあります。

既存のBreeze・Jetstreamプロジェクトの扱い:移行の要否と手順

BreezeとJetstreamは同じ「非推奨」でも、既存アプリへの影響がまったく異なります。

Breeze製アプリ:パッケージ削除後の生成コードとテスト結果

先ほどのLaravel 13.33.0のアプリから、Breezeパッケージを削除してみました。

composer remove laravel/breeze --dev
# Removing laravel/breeze (v2.4.2)
php artisan test
# tests: 25, passed: 25

削除時に pre_uninstall イベントのエラー表示が検証環境では出ましたが、削除は完了しました。別の環境で同じ表示が出た場合は、終了コードと依存関係の状態を確認してください。削除後もAuthコントローラー9本と認証ルートはそのまま残り、テストも全件通りました。Breeze製アプリの認証コードはアプリ側に生成済みなので、Breezeの更新停止だけで直ちに動かなくなるわけではありません。ただし、生成コードの修正やLaravel更新時の互換性確認はアプリ側で続ける必要があります。急いで移行する必要はなく、パスキーや2要素認証が必要になった時点でFortifyを追加すれば足ります。

Jetstream製アプリ:実行時依存と次期メジャー版への移行計画

Jetstreamは事情が違います。生成される User モデルは Laravel\Jetstream\HasProfilePhoto や HasTeams を使い、アプリの実行時にJetstreamパッケージが必要です。現行のv5.5.3はLaravel 13までを許容しますが、「追加の更新を受けない」と告知された以上、次のメジャー版への対応は保証されません。Laravel 13のセキュリティ修正は2028年3月17日まで続くので、それまでに移行を計画するのが現実的です。各版のサポート期限はLaravelの最新バージョンとサポート期限で確認できます。

新スターターキットへの移し替え手順

既存アプリにキットを上書きする仕組みはありません。新しいキットでアプリを作り、業務コードを移すのが基本の流れです。

  1. laravel new で、元のスタックに近いキット(Livewire版Jetstreamなら --livewire --teams)を作成する
  2. モデル・マイグレーション・業務用のルートとコントローラーを移植する
  3. users テーブルの差分を埋める。キットは2要素認証の列(two_factor_secret など)と passkeys テーブルを前提にしている
  4. チーム機能を使っていた場合はデータ移行スクリプトを書く。Jetstreamは teams.user_id・personal_team・team_user、キットは teams.slug・is_personal・team_members と、テーブル構成が異なる
  5. php artisan route:list でルート名の差を洗い出し、テストを通す

チーム機能を使っている場合は、手順4のデータ移行を個別に見積もります。使っていない場合も、認証画面やプロフィール管理、APIトークンなど、利用中の機能と独自改修の移植範囲を確認してください。

よくある質問(Laravel Breeze・スターターキット)

Laravel Breezeはなぜ非推奨になったのですか?

Laravel 12で、React・Vue・Livewireの新しいスターターキットが公式の雛形になったためです。リリースノートには、BreezeとJetstreamは今後の更新を受けないと記載されています。新キットは認証をFortifyに集約し、2要素認証やパスキーを標準で備えています。

Laravel 13でも php artisan breeze:install は使えますか?

使えます。Breeze v2.4.2はLaravel 11〜13を依存範囲に含み、Laravel 13.33.0で breeze:install blade が成功することを確認しました。ただしフロントエンドはTailwind 3で組み直されるため、Laravel 13の雛形のTailwind 4とは混在します。

Laravel Breezeとは何でしたか?

ログイン・登録・パスワードリセット・メール確認の画面とコントローラーをアプリ内に生成する、最小構成の認証スターターキットです。Blade・Livewire・React・Vue・APIのスタックから選べ、生成後のコードは自由に書き換えられました。

新しいスターターキットは何種類ありますか?ReactとVueの違いは?

React・Vue・Svelte・Livewireの4種類で、それぞれにWorkOS版があります。React版とVue版はどちらもInertia 3を使いますが、コンポーネントの記法や状態管理が異なり、UI部品もそれぞれshadcn/uiとshadcn-vueを採用しています。認証機能の差はありません。

パスキーやソーシャルログイン(SSO)は使えますか?

パスキーは標準のキットでFortifyにより最初から有効です。GoogleやGitHubでのソーシャルログインとSSOは、WorkOS AuthKit版を選ぶと使えます。標準版でソーシャルログインだけ追加したい場合はSocialiteを組み込みます。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

ほか 2 件の記事からもリンクされています。

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.08 テックブログ 大阪公立大学のランサムウェア被害と仮想化基盤の停止|全授業休講に至った経緯とバックアップを守る設定
  2. 2026.10.06 テックブログ アフラックの情報漏洩440万人|大量照会を止められなかった原因と照会量制御の実装
  3. 2026.10.07 テックブログ 旭化成ファーマのサイバー攻撃:Pharma DIGITAL会員51.4万人の漏えいと委託先DBの監視設計
  4. 2026.10.06 テックブログ 焼肉きんぐの不正アクセスと1,078万件の会員情報|全件規模の流出を防ぐAPIとログの点検
  5. 2026.10.06 テックブログ 大和証券の不正アクセスと約11万人分の口座番号:問い合わせ管理の委託先に残さない設計

RELATED POSTS 関連記事

目次