PCS開発チーム
laravel/framework v11.1.1
https://github.com/laravel/framework/releases/tag/v11.1.1
Laravelの最新リリースノートの要約は以下の通りです。
- ドキュメントブロック内の
@param
を更新する修正が行われました(https://github.com/laravel/framework/pull/50791)。 - クエリビルダーの
whereBetween
がCarbonPeriodとCarbon 3で機能するように修正されました(https://github.com/laravel/framework/pull/50792)。 - Artisanコマンドで出力がないことをアサートする機能が追加されました(https://github.com/laravel/framework/pull/50702)。
- タイポの修正が行われました(https://github.com/laravel/framework/pull/50808)。
-
DB::usingConnection()
が読み書きのタイプを尊重するように修正されました(https://github.com/laravel/framework/pull/50806)。 - Carbon 3.2によって引き起こされる非推奨警告の修正が行われました(https://github.com/laravel/framework/pull/50813)。
tailwindlabs/tailwindcss v3.4.3
https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.3
次のリリースノートの要約は以下の通りです:
- グロブ処理に関する変更を元に戻しました。 (#13384)
tailwindlabs/tailwindcss v3.4.2
https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.2
このリリースノートでは、Tailwind CSSのいくつかの修正と改善が行われています。主な内容は以下の通りです。
- ボタンと入力のPreflightルールに対して、最大の特異性
0,0,1
を保証する修正が行われました。 - ファイルパスに
(
,)
,[
,]
が含まれるフォルダのglob処理が改善されました。 -
experimental.optimizeUniversalDefaults
を使用する際に、:has
ルールを分割するようになりました。 - 複数のクラスリストにわたって任意のプロパティをアルファベット順に並べ替えるようになりました。
-
mix-blend-plus-darker
ユーティリティが追加されました。 - バリアント修飾子内でダッシュが許可されるようになりました。
- カスタムセパレータを使用している際にIntellisenseで補完を表示する際のクラッシュを修正しました。
- 設定ファイル内の
import.meta.url
をトランスパイルするようになりました。 - フォーム要素の文字間隔をリセットする修正が行われました。
-
xx-large
が欠けていた問題を修正し、x-large
の重複を削除しました。 - ネストされたCSSに遭遇した際に、ネスティングを使用するクラスを
@apply
しようとしている場合以外はエラーにならないようになりました。 - 任意のプロパティが
important
設定を尊重するようになりました。 - ダークモードセレクタが変更され、擬似要素と正しく動作するように
@apply
が修正されました。
これらの修正と改善により、Tailwind CSSの使い勝手が向上しています。
laravel/jetstream v5.0.1
https://github.com/laravel/jetstream/releases/tag/v5.0.1
Laravelの5.xバージョンにおいて、@timacdonaldによって提案された変更が https://github.com/laravel/jetstream/pull/1455 で実装されました。この変更により、コマンドが「lazy」になります。つまり、コマンドが実際に必要とされるまでロードや実行が遅延されるようになり、アプリケーションのパフォーマンスが向上します。
laravel/breeze v2.0.1
https://github.com/laravel/breeze/releases/tag/v2.0.1
このリリースノートの要約は以下の通りです:
- @edikurniawan-devによって、重複する"id"属性を削除する変更が行われました。
- @mpociotによって、Laravel BreezeにLaravel Herdが追加されました。
- @timacdonaldによって、コマンドが遅延実行されるように変更されました(バージョン2.x向け)。
- @nunomaduroによって、Livewireの
welcome/navigation.blade.php
でダークモードが適用されない問題が修正されました(バージョン2.x向け)。
laravel/laravel v11.0.4
https://github.com/laravel/laravel/releases/tag/v11.0.4
Laravelの次のリリースノートの要約は以下の通りです。
-
env
ヘルパーから不要なnullパラメータが削除されました。これはcache.php
とqueue.php
の両方に適用され、@siarheipashkevichによって行われました(https://github.com/laravel/laravel/pull/6374、https://github.com/laravel/laravel/pull/6373)。 -
retry_after
が整数であるように修正されました。この修正は@driesvintsによって行われました(https://github.com/laravel/laravel/pull/6377)。 - ホバーアニメーションとリングに関する修正が行われました。この修正は@michaelnabil230によって行われました(https://github.com/laravel/laravel/pull/6376)。
laravel/framework v11.1.0
https://github.com/laravel/framework/releases/tag/v11.1.0
Laravelの11.xリリースノートの要約は以下の通りです。
- MySQLのトランザクション分離レベルの修正が行われました。
- SESメールトランスポートにListManagementOptionsが追加されました。
- データベースクエリで非バックエンドのenumを受け入れるようになりました。
-
Context
にConditionable
トレイトが追加されました。 -
Context
のドキュメントブロックに@throws
セクションが追加されました。 - nullableなカラムの変更をテストする機能が追加されました。
- HASH_VERIFY環境変数が導入されました。
- Unixタイムスタンプをキャストする際にデフォルトのタイムゾーンが適用されるようになりました。
-
ApplicationBuilder::withCommandRouting()
の使用法に関する修正が行われました。 - アプリケーションが起動した後にコンソールコマンド、パス、ルートが登録されるようになりました。
- 不正なリクエストの処理が強化されました。
-
bootstrap/app.php
ファイルにwithSchedule
が追加されました。 -
InvalidArgumentException.php
のcreateメソッドのドックブロックが修正されました。 - 署名のタイポが修正されました。
-
ApplicationBuilder::withSchedule()
が簡素化されました。
これらの変更は、Laravelフレームワークの機能強化、バグ修正、および使いやすさの向上に寄与しています。
Laravelプロジェクトでの開発速度を上げるためには、Artisanコマンドラインツールを積極的に使用することをお勧めします。例えば、php artisan make:model ModelName -mcr
コマンドを使うと、モデル、コントローラー、およびマイグレーションファイルが同時に生成され、開発プロセスを大幅に加速します。
Laravel11 Carbon3への変更
ほとんど影響はないけど名前付き引数でtz
を使っていたらtimezone
への修正が必要。
// Carbon 2
Carbon::parse(time: $time, tz: 'UTC')
// Carbon 3
Carbon::parse(time: $time, timezone: 'UTC')
Laravel11へのアップグレードパターン
- composer.jsonと破壊的変更だけ修正対応。
- ベースControllerを空にしたり明らかに不要なconfigファイルを削除したり、影響のない範囲でLaravel11に合わせる。
- bootstrap/app.phpまで完全にスリム化。
色々なパターンで更新してみたけど1だけで終わらせるのが一番簡単。
Laravelに相当詳しくないと最後まではできないだろう。
Laravel11(未スリム化)にヘルスチェックルートを追加
ここで定義されているので同じようなルートを作ればいい。
https://github.com/laravel/framework/blob/08acc925f1ec8e1c41a54774a36720f506c5b5a8/src/Illuminate/Foundation/Configuration/ApplicationBuilder.php#L191
使い回しやすいように個別にroutes/health.php
を作り
<?php
use Illuminate\Foundation\Events\DiagnosingHealth;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Route;
Route::get('up', function () {
Event::dispatch(new DiagnosingHealth);
return View::file(__DIR__.'/../vendor/laravel/framework/src/Illuminate/Foundation/resources/health-up.blade.php');
});
routes/web.php
に追加
require __DIR__.'/health.php';
別プロジェクトでもroutes/health.php
をコピーして使う。
不要になったら削除。
少しずつLaravel11に近付けたらスリム化も簡単なので一気に切り換えられる。
Laravel11とVapor
Laravel10から11に更新はbootstrap/app.php
を変えるスリム化はしなくてもController
を空にしたり不要なconfigファイルを削除してLaravel11に近付けることは可能。
configはデフォルト値が変わったりしてるので確認せずに削除すると壊れる。
config/database.php
のDB_CONNECTION
はmysql
からsqlite
に変わっている。
'default' => env('DB_CONNECTION', 'sqlite'),
Sailを使っているローカルでは.envにDB_CONNECTION=mysql
があるので影響ない。
しかしVaporにデプロイするとエラー。
Vaporが自動で設定する環境変数にDB_CONNECTION
がないのでデフォルトのsqlite
でマイグレーション実行しようとしてデプロイ途中で失敗する。
Vapor内のプロジェクトごとの環境変数でDB_CONNECTION=mysql
を追加すれば解決。
DB_CONNECTION=mysql
キャッシュでもVaporで自動で設定されてる環境変数はCACHE_DRIVER
だけどLaravel11はCACHE_STORE
に変わった。これも追加。念のためCACHE_DRIVER
も追加。
CACHE_DRIVER=dynamodb
CACHE_STORE=dynamodb
Vapor側で対応されれば解決するけどいつになるか分からないので自力で解決。
configファイルを削除したくなるけどLaravel10から更新した場合は触らず残したほうがいい。
Laravel11へのアップグレード(スリム化版)
https://zenn.dev/pcs_engineer/articles/laravel11-upgrade-slim
スリム化に追従しない場合は簡単なのでこれの付録に追加。
https://zenn.dev/pcs_engineer/books/re-laravel-1
livewire/volt v1.6.3
https://github.com/livewire/volt/releases/tag/v1.6.3
このリリースノートは、@bookwyrmによる https://github.com/livewire/volt/pull/95 のプルリクエストに関するもので、オブジェクトのプロパティからパスを使用し、ローカル変数からではないという変更について述べています。
#laravel
laravel/sail v1.29.0
https://github.com/laravel/sail/releases/tag/v1.29.0
- SailでPHPをrootとして実行できるようにする機能が@vmsh0によって追加されました。(https://github.com/laravel/sail/pull/677)
- Laravel 11でMAILERの設定をmailpitを使用するように更新されました。この変更は@SamuelMwangiWによって行われました。(https://github.com/laravel/sail/pull/678)
#laravel