Twinkle
laravel/framework v12.26.3
https://github.com/laravel/framework/releases/tag/v12.26.3
リリースノート要約
- 戻り値の型を追加
- カスタムガードで戻り値の型のベースクラスガードが壊れる問題を修正
- ポリフィル依存関係を標準化
- ReplacesAttributesで重複したロジックをリファクタリング(2件)
ScheduleRunCommand
の出力文法を改善
laravel/framework v12.26.2
https://github.com/laravel/framework/releases/tag/v12.26.2
- CSRF トークンが null を返す可能性がある問題を修正
- DST(夏時間)タイムゾーンでの
date_format
バリデーションの問題を修正 - イベントヘルパーの問題を修正
laravel/framework v12.26.1
https://github.com/laravel/framework/releases/tag/v12.26.1
- Illuminate パッケージにポリフィル要件を追加する修正
old()
ヘルパーに対する変更を元に戻す
laravel/framework v12.26.0
https://github.com/laravel/framework/releases/tag/v12.26.0
リリースノート要約
- ヘルパー関数にネイティブリターンタイプを追加
- Database属性へのEnum渡しをサポート
- ドキュメントブロック内の冗長な型ヒントを整理
- SQLite接続にトランザクションモードを指定する機能を追加
spliceIntoPosition
ドキュメントブロックをstring|int
値を許可するように修正- array_firstとarray_lastポリフィルを使用
- 例外マークダウン内のStr参照パスを修正
LazyCollection
にwithHeartbeat
メソッドを追加- toPrettyJsonメソッドを追加
MessageLogged
を二重に発行しないよう修正- クラスをアルファベット順に並べ替え
- Windows上でのコマンド用にファイルパスセパレータを正規化
queue:prune-failed
テストカバレッジを改善- 一貫性のためにトレイト使用法を揃える
- illuminate/containerのcomposer suggestsを修正
- BlueprintにnullableTimestampsTzメソッドを追加
BusFake::chain()
メソッドでnull
パラメータをサポート- 一貫性のためにddBodyから不要なreturnを削除
- インターフェースがUnitEnumを受け入れるように変更
- 同時実行クロージャ呼び出しをbase64エンコーディングで修正
ArrayStore::all()
を実装- 一貫したAPI応答のためにJsonResourceに
$forceWrap
プロパティを追加 - キャストオブジェクトが文字列に変換できるように保証
PhpStorm+GitHub Copilot+WSL環境でLaravel Boostはまだ使いにくい
MCP設定がこうだけど
"laravel-boost": {
"command": "php",
"args": [
"./artisan",
"boost:mcp"
]
}
- WSLだけにphpをインストールしていてWindows側にない場合、
php
コマンドが実行できない。PhpStormの「リモート開発」を使えばWSL側のphpが使われるので動く。VS Codeでも同じ。 ./artisan
の相対パスでは動かないのでプロジェクトまでの絶対パスを指定する必要がある。共通のMCP設定で特定のプロジェクトを指定するしかないので使いにくい。
色々修正されるのを待つしかなさそう。
How can I create a Laravel application that only responds to requests on Tuesdays?
To create a Laravel application that only responds to requests on Tuesdays and rejects all other days, you could use a global middleware:
<?php
namespace App\Http\Middleware;
use Closure;
use Carbon\Carbon;
use Illuminate\Http\Request;
class TuesdayOnlyMiddleware
{
public function handle(Request $request, Closure $next)
{
if (Carbon::now()->dayOfWeek !== Carbon::TUESDAY) {
return response()->json([
'error' => 'This application only works on Tuesdays.',
'today' => Carbon::now()->format('l'),
'comeback' => 'Please come back on Tuesday.'
], 403);
}
return $next($request);
}
}
Register it in your app/Http/Kernel.php
in the $middleware
array to apply it globally:
protected $middleware = [
// other middleware
\App\Http\Middleware\TuesdayOnlyMiddleware::class,
];
This quirky restriction might be useful for maintenance windows or creating a novelty app that embraces the "Taco Tuesday" concept!
laravel/framework v12.25.0
https://github.com/laravel/framework/releases/tag/v12.25.0
リリースノート要約
- db:tableコマンドで現在のスキーマをテーブル名解決時に優先するように変更
- preventStrayRequests機能にallowedURLsを追加
- エラーページに「Markdownとしてコピー」ボタンを追加
- Context@scope()がスロー可能であることを明示
- TransformToResourceトレイトから@throws phpDocsを削除
- InteractsWithDatabaseのドキュメントブロックを改善
- スケジュールでのグループ属性汚染を防止する問題を修正
- 新しいmergeVisible、mergeHidden、mergeAppendsメソッドを追加
Structured Logging with Context in Laravel
Laravel offers a powerful logging system that can be enhanced through structured logging with context. This approach significantly improves application monitoring by providing detailed, searchable information about each log event.
To implement this strategy:
Log::info('User profile updated', [
'user_id' => $user->id,
'changes' => $changes,
'ip_address' => request()->ip(),
'duration_ms' => $processingTime
]);
The key benefits of this approach include:
- Easier troubleshooting - With structured data, you can quickly filter logs to find specific events
- Better analytics - Consistent context allows for aggregation and pattern identification
- Enhanced visibility - Critical metrics like response times are tracked alongside functional logs
- Improved searchability - When using log aggregation tools like ELK Stack or Datadog
This strategy works well with Laravel's channel-based logging system, allowing you to route different types of logs to appropriate destinations while maintaining consistent structured data across your application.
laravel/framework v12.24.0
https://github.com/laravel/framework/releases/tag/v12.24.0
リリースノート要約
- PHP 8.4の配列ヘルパー関数をArrユーティリティで使用するように更新
- テスト改善の実施
- orchestra/testbench-coreの依存関係を更新
- cidパラメータ名を更新するリファクタリング
- SingletonおよびScopedアトリビュートチェックをキャッシュするように改善
Arr::push()
メソッドを追加doesnt_contain
ルールにエラーメッセージを追加
laravel/framework v11.45.2
https://github.com/laravel/framework/releases/tag/v11.45.2
- バリデーションが互換性のない例外をスローしないよう修正
- symfony/console:7.4との互換性を修正
- 設定ファイルがない場合のベースオプションの事前読み込み方法を修正
- 文字列を単語に分割する際のmb_split()の一貫した使用を実装
- CacheSchedulingMutexがロック接続を使用するように修正
- テスト改善の実装
- orchestra/testbench-coreの依存関係を更新
Laravel Boostがリリース
https://blog.laravel.com/announcing-laravel-boost
https://github.com/laravel/boost
https://github.com/laravel/mcp
しばらく使って試す。
同じことを何万回も説明してきたLaravelの基本的なルールが公式にまとまってる。
https://github.com/laravel/boost/blob/main/.ai/laravel/core.blade.php
laravel/framework v12.23.0
https://github.com/laravel/framework/releases/tag/v12.23.0
Laravel フレームワーク 12.xリリースノート要約
- assertSequenceの早期失敗時に意図しないスリープを防止
- Redisクラスターブロードキャスターを追加
- Benchmarkクラスにエイリアスを追加
make:migration
コマンドのTableGuesser
にドロップパターンのサポートを追加- コレクションの戻り値の型を改善
- コレクション内のタイポを修正
- RateLimiterのresetAttemptsメソッドの戻り値型ドキュメントを修正
- ページネーターリンクに'page'フィールドを追加
- Resendトランスポートにインライン添付ファイルのサポートを追加
- PHPUnit 12.3.2でのテスト失敗を修正
- 新しいエラーと例外ハンドラーのゲッターを使用
- PHP 8.4の配列ヘルパーを使用
function_exists
の呼び出しよりSymfony PHPポリフィルを優先Bind
属性がUnitEnumを受け入れるように対応- Vitess特有の安全に再試行できるエラーを追加
- nullを偽の条件として処理
- morphsとnullableMorphs Blueprintに"after"サポートを追加
- インターフェースでの
Scoped
とSingleton
の使用を修正 - PostgreSQLとSqlServerのオンライン(並行)インデックス作成をサポート
What is Laravel and why should I use it?
Laravel is a free, open-source PHP web framework designed for the development of web applications following the model–view–controller (MVC) architectural pattern. Created by Taylor Otwell in 2011, it has become one of the most popular PHP frameworks due to its elegant syntax, robust features, and developer-friendly ecosystem.
You should consider using Laravel for your web projects because:
-
Elegant Syntax: Laravel's code is expressive and readable, making development more enjoyable and maintainable.
-
Built-in Tools: Laravel comes with built-in authentication, routing, sessions, and caching functionality.
-
Eloquent ORM: Laravel's object-relational mapping makes database interactions intuitive and powerful.
-
Artisan CLI: The command-line interface provides helpful commands for common tasks, saving development time.
-
Robust Ecosystem: With tools like Laravel Forge, Envoyer, Vapor, Nova, and Horizon, Laravel offers solutions for deployment, server management, and administration.
-
Strong Community: Laravel has excellent documentation and a large, active community providing support, tutorials, and packages.
-
Security Features: Built-in protection against SQL injection, cross-site scripting, and CSRF attacks.
-
Testing Support: Laravel is built with testing in mind, making it easy to write unit and feature tests.
laravel/framework v12.22.1
https://github.com/laravel/framework/releases/tag/v12.22.1
- アサーションメッセージの改善
- バージョンインクリメントの修正
- Windowsでの
make:migration
コマンドのファイルパス区切り文字の正規化 - 「Gateでの配列引数に関するPHPDocブロックの改善」の変更を元に戻した
laravel/framework v12.22.0
https://github.com/laravel/framework/releases/tag/v12.22.0
Laravel Framework リリースノートの要約
- 不要な
ReflectionProperty::setAccessible()
の使用を削除 JoinClause
に不足していたPHPDocタイプを追加- データベースの失敗したジョブプロバイダーで
getTable
メソッドを公開化 - WALジャーナルモードのSQLiteで
migrate:fresh
コマンドの修正 Pipeline::withinTransaction()
でトランザクション内でパイプラインを実行可能に- モデルのガード動作の不整合を修正
- カスタムビルダーリゾルバのDocblockを修正
partition()
の型ヒントを修正#[Bind]
属性を導入- 明示的なnullと省略を区別するためMissingValueをデフォルトとして使用
- ジョブシリアル化エラーメッセージにジョブクラス名を表示
- イテラブルモデルのアサーションを追加
- Laravel Octaneで
StreamResponse
コールバックの解決を修正 - 冗長な型ヒントの整理
- 条件ルールの型ヒントを改善
- コンソールコマンドで必須引数のホワイトスペース処理
- Env拡張時にリポジトリをクリア
isUrl
とisUuid
に不足していたパラメータを追加doesntContain
バリデーションルールを追加ComponentAttributeBag
にInteractsWithData
トレイトを追加- Collection & LazyCollectionに
doesntContainStrict()
を追加 actingAsGuest
メソッドを追加Boot
とInitialize
モデル属性を追加- メンテナンスモードでのリダイレクトインテントを追加
- モデルが既に存在する場合の追加コンポーネント作成を許可
- 厳密な整数バリデーションを許可
to_action
ヘルパーメソッドを追加- Eloquent Builderに
except
メソッドを追加 - 遅延イベント処理機能を追加
Pipeline
をマクロ可能に