PCS開発チーム
laravel/framework v12.4.1
https://github.com/laravel/framework/releases/tag/v12.4.1
Laravel 12.xのリリースでは、以下の改善が行われました。
- QueryBuilderのorHaving()メソッドで、$valueパラメータにExpression型が利用可能になりました。
- オプションパラメータ利用時のURL生成の不具合が修正されました。
- Windows OS上でのテスト失敗が解消されました。
Advanced Tip: Leverage Laravel's Macroable trait to extend core classes with custom behavior. Using macros, you can add new methods to classes like Collections, Response, or the Query Builder—making repetitive tasks more streamlined and your code more expressive. For example, by defining a macro in a service provider, you can add a custom method to Eloquent Collections that applies common filters or transformations across your application, reducing boilerplate code and promoting reuse.
Laravel 12.4.0でrouteの不具合発生中
ここ
https://github.com/laravel/framework/pull/54811
こういう書き方してた場合
route('foo', 1)
フルで書けば一時的に対応はできる。
route('foo', ['bar' => 1])
laravel/framework v12.4.0
https://github.com/laravel/framework/releases/tag/v12.4.0
Laravel 12.x のリリースでは以下の改善や新機能、修正が含まれています:
• キューワーカーのスコープリセット時に PHP のピークメモリ使用量をリセットするよう改善
• 新たなキャスト機能として AsHtmlString を追加
• 配列操作メソッド Arr::sole() を提供
• ApiInstallCommand の警告メッセージや関連プロパティの利用方法を見直し、ドキュメントコメントの整理を実施
• 例外的な属性除外メソッド(Model::except())の追加と、そのキャスト値対応の改善
• 関連モデルの定義や TPivotModel、サブクエリ制約、PostgreSQL におけるクエリ構文など、リレーションやクエリの処理を強化・修正
• キューシステムに関する改良(QueueFake::listenersPushed()、ジョブID取得メソッドの返り値改善、コールバック実行順序の保持など)
• パスワードリセットや型定義、戻り値アノテーションの整備によるコード品質の向上
• AssertableJson に null 判定用メソッドの追加や、URL生成、ファイル入出力、日時処理、ログ出力など各種ユーティリティのバグ修正と機能改善
• マイグレーションに任意の shouldRun メソッド実装のサポート、また、Eloquent Builder の withAttributes メソッドへのオプション追加など、アプリケーション開発全体での利便性向上を実現している
Eloquentのカスタムコレクションを活用する方法がおすすめです。各モデルでnewCollectionメソッドをオーバーライドし、独自のコレクションクラスを返すことで、複雑な集計処理やフィルタリングロジックをコレクションレベルで一元管理でき、コードの再利用性と保守性が大幅に向上します。
laravel/laravel v12.0.3
https://github.com/laravel/laravel/releases/tag/v12.0.3
- CHANGELOG.mdからreverted changeを削除した
- app.cssの可読性を向上させた
- (12.x) コードの構造を改善して明確性を高めた
- axiosを1.7.9から1.8.2にアップデートし、脆弱性を修正した
- (12.x) 不要な@sourceを除去した
laravel/framework v12.3.0
https://github.com/laravel/framework/releases/tag/v12.3.0
Laravel 12.x のリリースでは、バグ修正、検証テストの充実、コード品質とドキュメントの改善が中心となっています。具体的には、Observables イベントに欠落していたイベントの追加、HTTP リクエスト関連の型ヒント修正や LazyCollection のテスト追加、インデントやコード整形(Pint)の調整、検証ルール(Unique や Date)のテスト強化、ファイルシステムや SQLite スキーマビルダーでの JSON/JSONB 型のサポート、PostgreSQL の “unique nulls not distinct” 機能の導入、コレクションの生成方法やメソッドのチェーン対応、型定義の厳格化が行われました。また、一時的に導入された SSL 暗号化と MySQL 接続サポートはリバートされ、全体としてコードの可読性、安定性が向上しています。
Laravelでの高度なテクニックの一つとして、モデルに対してカスタムEloquentビルダーを作成する方法があります。これにより、共通のクエリロジックを一箇所に集約し、複数のモデルで再利用できるため、コードの保守性と可読性が大幅に向上します。
livewire/livewire v3.6.2
https://github.com/livewire/livewire/releases/tag/v3.6.2
tweakApplication()の非推奨を廃止し、beforeServingApplication()へ変更。次のページクラスと前のページクラスを同期。wire:ignore.childrenのサポート追加。synthsにバリデーション機能を追加。
laravel/framework v12.2.0
https://github.com/laravel/framework/releases/tag/v12.2.0
・Builder::having の PHPDoc 型に日付を追加する変更
・11.x で whereNotMorphedTo() クエリの二重否定を修正
・Arr::partition のテストを追加
・process checkTimeout メソッドを公開(11.x)
・バリデーション契約向けにコンパイル可能なコードに改善(12.x)
・11.x で paginate() の戻り値型を LengthAwarePaginator に戻すバックポート
・EnumeratesValues::ensure() のドックブロックの誤った変更を元に戻す
・intl 拡張が利用できない場合に ValidationEmailRuleTest のテストをスキップするように変更
・Enum バリデーションが大文字小文字を区別するようテストを追加
・コレクションのチャンク処理でキーを保持しない機能を追加(12.x)
・Uri::withQueryIfMissing メソッドのテストカバレッジを追加
・RedisCluster 使用時の圧縮またはシリアライズに関する問題を修正
・Str::replaceMatches メソッドのテストカバレッジを追加(12.x)
・コレクションのチャンク処理(キー非保持)の型定義を追加(12.x)
・TestResponse に各種レスポンスペイロードをダンプする ddBody メソッドを追加(12.x)
・RedisCluster の問題修正を 11.x にバックポート
・HasOneThrough に CanBeOneOfMany のサポートを追加(12.x)
・ddBody に function_exists チェックを追加するホットフィックス(12.x)
・Str クラスメソッドの不要な変数を整理するリファクタリング(12.x)
・Str::pluralPascal メソッドのテストを追加
・テスト内の setUp および tearDown の可視性を修正(12.x)
・テストの改善を実施
・assertOnlyInvalid 内の欠落した return を修正
・migrate:install コマンド実行時、テーブルが存在する場合の処理を改善
・Seeder の callOnce を配列に対応するよう修正(11.x)
・「exceptoin」の綴りを「exception」に修正
・LazyCollection の after メソッドのテストを追加(12.x)
・Context に increment および decrement メソッドを追加(12.x)
・ExcludeIf で null 値を無効な条件として正しく排除するように改善
・Pint ルール no_spaces_around_offset、single_line_comment_style の適用、混在する改行とインライン形式の排除、マルチライン三項演算子のインデント統一など、コード整形ルールを適用(12.x)
laravel/framework v11.44.2
https://github.com/laravel/framework/releases/tag/v11.44.2
・[11.x] whereNotMorphedTo() クエリにおける二重否定の問題を修正
・[11.x] paginate() メソッドの戻り値を LengthAwarePaginator に変更するバックポートを実施
・[11.x] EnumeratesValues::ensure() のドキュメントブロックに対する不具合修正を取り消し
・intl 拡張が利用できない場合に、ValidationEmailRuleTest が必要なテストをスキップするように修正
・[11.x] 圧縮またはシリアル化を使用する際の RedisCluster の問題を修正するバックポートを実施
・[11.x] Seeder の callOnce が配列を正しく処理するよう修正
Laravelで高度なテクニックのひとつとして、Eloquentモデルにグローバルスコープやカスタムクエリビルダーマクロを実装し、共通の絞り込みロジックを一元管理する方法が挙げられます。これにより、DRY原則に則ったコードが実現でき、複雑なクエリロジックも再利用性高く保守しやすく管理することが可能になります。
livewire/volt v1.7.0
https://github.com/livewire/volt/releases/tag/v1.7.0
Livewire の最低バージョンが上がり、特定の不具合修正が取り込まれました。
laravel/framework v12.1.1
https://github.com/laravel/framework/releases/tag/v12.1.1
・[11.x]
- バリデーションメソッドに有効な値を追加
- 一部ルールクラス内で使用される属性名を修正
- プロジェクト名が "vendor" の場合に Application::interBasePath() が正しく動作しない問題を解消
- テストの改善を実施
・[12.x]
- Arr::partition メソッドのDocBlockの型指定を変更
- メールおよび画像のサイズ検証テストを強化
- 通知スタブにデフォルトのスタイリングルールを適用
laravel/framework v11.44.1
https://github.com/laravel/framework/releases/tag/v11.44.1
・[11.x] ensureメソッドに有効な値が追加されました
・一部のルールクラス内で使用されるValidatorの属性名を修正しました
・[11.x] プロジェクト名が「vendor」の場合にApplication::interBasePath()がアプリケーションを正しく解決できない問題を修正しました
・[11.x] テストが改善されました