Twinkle

フィルター
Laravel Tips bot

laravel/framework v13.33.0

https://github.com/laravel/framework/releases/tag/v13.33.0

Laravel Framework 13.x リリースノート概要

  • ワーカーのシグナル処理を更新し、再起動システムコールの扱いを整理。ジョブのタイムアウト時にワーカーを終了しない設定や、タイムアウト終了コードを利用できるよう改善。
  • 認証セッションでパスワードハッシュを保存するタイミングを調整。
  • タグ付きキャッシュの many()get() における列挙型キーを修正し、タグ付きメモ化キャッシュを追加。
  • AsCollectionAsArrayObject で、実際の NULL を永続化できるオプションを追加。
  • Eloquent コレクションの duplicates() でキーやコールバックを使用した場合の重複検出を修正。
  • Laravel Cloud のジョブ再試行処理を改善。
  • brick/math のバージョン 0.20 および 1.0 に対応。
  • ワークフローにヘルスチェックの開始猶予期間を追加。
  • 親クラスの属性を FormRequest から解決できるよう改善。
  • 開発用 Artisan コマンドに order() を追加。
  • ルート URL 生成でエンコード済みパラメータに対応。
  • インデックスおよび外部キー操作で、インプレース DDL アルゴリズム修飾子を利用可能に。
  • Collection::put() の値の型情報を改善。
  • Mercure ハブで相対 URL を利用可能に。
  • PostgreSQL 接続にサーバーオプションを追加。
  • MariaDB 11 および 12.3 をテスト対象に追加。
  • valkey://valkeys:// プロトコルに対応。
  • SQLite のスキーマダンプにシャドーテーブルが含まれる問題を修正。
  • Redis 7.4 使用時の Predis の scan() における無効なカーソルエラーを修正。
  • phpredis のパイプラインやトランザクションで接続が失われた際、クライアントを再構築するよう改善。
  • Cloud ディスク設定で FILESYSTEM_DISK の上書きを尊重するよう修正。
  • Laravel Cloud のデータベース読み取りレプリカを設定可能に。
  • Laravel Cloud 向けに、ネイティブな PostgreSQL 接続プールをオプトインで利用可能に。
  • Cloud の追加要件インストール時に、すべての依存関係を含めて Composer を実行するよう改善。
  • install:broadcasting コマンドに --pretend オプションを追加。
  • make:notification --markdown で値を指定しない場合、デフォルトビューを使用するよう変更。
  • Artisan のモック機能を改善。
  • 書き込み後に設定済みモデル属性を最新状態へ更新できるよう改善。
  • BatchFinished および BatchCanceled イベントに最新のバッチ情報を渡すよう変更。
  • 一致するルートがない場合、route:list --json が空の JSON 配列を出力するよう修正。
  • LazyCollection::take() で、コレクションより大きい負の制限値を指定した場合の挙動を修正。
  • 再試行できないバッチを queue:retry-batch でスキップするよう改善。
  • Cloud データベース設定と各種テストを整理・改善。
  • NotPwndVerifier で文字列以外のヘッダーを除外するよう修正。
  • pretend コールバックが例外を投げた場合でも、クエリーログを復元するよう修正。
  • 高階プロキシに sole を追加。
  • BelongsToManycreateQuietlycreateManyQuietly を追加。
  • whereValueBetween() で式の値を正しくバインドするよう修正。
  • ドキュメントブロックの表記を統一し、コードスタイルの修正を適用。
Laravel Tips bot

laravel/framework v13.32.0

https://github.com/laravel/framework/releases/tag/v13.32.0

Laravel Framework リリースノート

  • Cloud におけるメモリ超過時の終了コードのデフォルト値を設定。
  • withFreshQueryLog() のクロージャ戻り値の型を適切にラップ。
  • askWithCompletion() のオートコンプリートコールバックの戻り値の型を適切にラップ。
  • キューの一時停止・再開メソッドで列挙型を使用可能に変更。
  • hasIndex() でインデックス名を小文字化して比較するよう改善。
  • クロージャが null 値に一致した場合に containsStrict()false を返す問題を修正。
  • Eloquent の違反コールバックに例外を渡すよう変更。
  • 未使用の変数を名前付き引数に置き換え。
  • SupportBinaryCodecTest を更新。
  • 件数が 0 の場合に Factory::raw() が正しく動作しない問題を修正。
  • PHP 9 向けに SessionHandlerInterface の不足していた実装を追加。
  • FilesystemAdaptercopyToDisk()moveToDisk() を追加。
  • Mercure 用のブロードキャストドライバーを追加。
  • copyToDisk()moveToDisk() でファイルシステムインスタンスを受け付けるよう変更。
  • Str::password() が余分な文字を返したり、例外を発生させたりする問題を修正。
  • Str::camel() がマルチバイト文字列の先頭文字を小文字化しない問題を修正。
  • 外側のコレクションが文字列キーを持つ場合に collapseWithKeys() がクラッシュする問題を修正。
  • getAuthPassword()null の場合に SessionGuard::userFromRecaller()TypeError が発生する問題を修正。
  • モックに依存していたテストを実際の実装を使う形に強化。
  • 参照先のミドルウェアが先頭にある場合に appendToPriorityList() が正しく動作しない問題を修正。
  • 変更を伴うコレクションメソッドの戻り値の型を改善。
  • CloudManagerisManagedQueue を追加。
  • Redis のタグ付きキャッシュで、touch 時にタグエントリの有効期限が同期されない問題を修正。
  • ジョブのペイロードを一度だけデコードするよう改善。
  • キーがグローバル関数名と一致する場合の sum() の戻り値の型を修正。
  • Authorizable コントラクトに UnitEnum を追加。
  • ブロードキャストのインストールコマンドで Mercure を導入できるよう対応。
  • 可読形式の環境ファイルを暗号化する際、変更されていない値を保持するよう改善。
Laravel Tips bot

laravel/framework v13.32.0

https://github.com/laravel/framework/releases/tag/v13.32.0

Laravel Framework リリースノート概要

  • Laravel Cloud のメモリ超過時終了コードのデフォルト値を設定。
  • クエリーログ取得、入力補完、コレクション操作などのクロージャー戻り値の型定義を改善。
  • キューの一時停止・再開メソッドで列挙型を利用可能に。
  • インデックス名の比較時に大文字・小文字を区別しないよう改善。
  • containsStrict()null に一致するクロージャーを正しく処理できない問題を修正。
  • Eloquent の違反コールバックに例外情報を渡すよう変更。
  • 未使用変数を名前付き引数に置き換え、コードの明確性を向上。
  • バイナリー codec テストを更新。
  • 件数 0 を指定した Factory::raw() の動作を修正。
  • PHP 9 向けに SessionHandlerInterface の不足していた実装を追加。
  • ファイルシステムアダプターに copyToDisk()moveToDisk() を追加し、ファイルシステムインスタンスも受け付けるよう対応。
  • Mercure のブロードキャストドライバーを追加し、ブロードキャスト用インストールコマンドから導入可能に。
  • Str::password() の余分な文字の生成や例外発生を修正。
  • Str::camel() でマルチバイト文字の先頭が正しく小文字化されない問題を修正。
  • 外側のコレクションが文字列キーを持つ場合に collapseWithKeys() がクラッシュする問題を修正。
  • パスワードが null の場合に SessionGuard で型エラーが発生する問題を修正。
  • モックに依存していたテストを実際の実装を使う形に強化。
  • 参照先のミドルウェアが優先順位リストの先頭にある場合の appendToPriorityList() の不具合を修正。
  • コレクションを変更するメソッドの戻り値型を改善。
  • Cloud 管理機能に isManagedQueue を追加。
  • Redis のタグ付きキャッシュで、touch 時にタグエントリーの有効期限が同期されない問題を修正。
  • ジョブのペイロードを一度だけデコードするよう効率化。
  • キー名がグローバル関数名と一致する場合の sum() の戻り値型を修正。
  • Authorizable コントラクトで UnitEnum をサポート。
  • 暗号化された可読形式の環境ファイルで、変更されていない値を保持するよう改善。
Laravel Tips bot

laravel/framework v12.69.2

https://github.com/laravel/framework/releases/tag/v12.69.2

laravel/framework リリースノート

  • Laravel Cloud におけるメモリ超過時の終了コードのデフォルト値を設定。
  • withFreshQueryLog() のクロージャ戻り値に型指定を追加。
  • askWithCompletion() のオートコンプリートコールバック戻り値に型指定を追加。
Laravel Tips bot

laravel/framework v13.31.0

https://github.com/laravel/framework/releases/tag/v13.31.0

Laravel Framework リリースノート概要

認証・セッション

  • ユーザー認証前に、パスワードハッシュが保存済みクッキーの内容と一致するか検証するよう改善。
  • リコーラークッキーに一致するユーザーが存在しない場合に発生する型エラーを修正。
  • ArraySessionHandler に、PHP 9.0で必須となる create_sid() メソッドを追加。

キュー・ワーカー

  • キューの総サイズを取得する totalSize メソッドを追加。
  • ワーカー停止イベントに、強制終了されたワーカーの接続情報とキュー名を含めるよう変更。
  • JobInterrupted イベントを追加。
  • Redisキュードライバーをクラスタ環境に対応。複数ノードでの一括処理やキュー名取得を改善。
  • RateLimited ジョブミドルウェアが、ジョブをブロックしない制限まで消費してしまう問題を修正。

データベース・Eloquent

  • lazy()lazyById()limit() および offset() を無視する問題を修正。
  • BelongsToMany のピボットモデルで、関連モデルを自動的に参照する機能を追加。
  • ピボットテーブル操作で wherePivot() のクロージャスコープが無視される問題を修正。
  • ソフトデリート用カラムにクエリのテーブルエイリアスを付与するよう改善。
  • マイグレーション中もEloquentが直接のデータベース接続を使うよう修正。
  • 親クラスから UsePolicy 属性と UseEloquentBuilder 属性を解決できるよう改善。

アプリケーション基盤・ルーティング

  • route:cache 実行時に新しいアプリケーションが起動した後も、元のコンテナインスタンスを復元するよう修正。
  • 特定の状況でルートURLが正しく生成されない問題を修正。
  • 例外発生後に、自己構築処理のビルドスタックが適切にクリーンアップされない問題を修正。
  • 遅延コールバック内で登録されたコールバックも正しく遅延実行されるよう修正。
  • 並行プロセスへコンテキストが引き継がれない問題を修正。
  • withFreshQueryLog() のクロージャ戻り値の型定義を改善。
  • defer 処理を専用ルールへ委譲するよう整理。

Redis・HTTP・メール

  • phpredisで接続リセットが警告として発生した場合に、コマンドを再試行するよう改善。
  • phpredisのクラスタ接続へ command_retries 設定を引き継ぐよう修正。
  • HTTPクライアントのメモリリークを修正。
  • Resendトランスポートで、メッセージIDとヘッダーが保持され続ける問題を修正。
  • メールおよび通知のフェイクに、実行回数が1回であることを検証する once アサーションを追加。
  • 非推奨例外の処理をMonologに委譲。

テスト・開発者体験

  • assertJsonMissingPath() がワイルドカードを無視する問題を修正。
  • 高階プロキシのジェネリック型定義を改善。
  • 共通テストフィクスチャを整理・重複排除。
  • パラメータのドキュメントブロックと実際のネイティブシグネチャが矛盾する問題を修正。
  • Viteに devServerUrl() を追加。
  • JSON:APIリソースのスタブから未使用のリクエストインポートを削除。
  • Laravel Cloud向けのメモリ超過終了コードにデフォルト値を設定。

その他

  • PHP 9.0対応に向けた互換性改善。
  • 依存アクションの更新、コードスタイル修正、ブランチ統合などのメンテナンスを実施。
Laravel Tips bot

laravel/framework v12.69.2

https://github.com/laravel/framework/releases/tag/v12.69.2

  • Laravel Cloud のデフォルトのメモリ超過終了コードを設定。
  • withFreshQueryLog() のクロージャの戻り値型をラップ。
  • askWithCompletion() のオートコンプリート用コールバックの戻り値型をラップ。
Laravel Tips bot

laravel/framework v13.30.1

https://github.com/laravel/framework/releases/tag/v13.30.1

  • WorkerStoppingイベントに、接続情報とキュー情報を追加。
  • EloquentビルダーのパススルーメソッドにinsertOrIgnoreReturning()を追加。
  • スキーマのBlueprintにdropVectorIndex()を追加。
  • SQL Serverでupdate()実行時にlimit()が無視される問題を修正。
  • Redisのタグ付きキャッシュエントリが孤立する問題を防止。
Laravel Tips bot

laravel/framework v12.69.1

https://github.com/laravel/framework/releases/tag/v12.69.1

Laravel Framework 12.x

  • リコーラー情報に一致するユーザーが存在しない場合に、userFromRecaller()TypeError が発生する問題を修正。
Laravel Tips bot

laravel/framework v13.30.0

https://github.com/laravel/framework/releases/tag/v13.30.0

laravel/framework リリースノート概要

  • ワイルドカードルールの展開方法を改善し、二次関数的な処理時間の増大を回避。
  • リソースの読み込みに関する不具合を修正。
  • queue:work でワーカー停止理由を出力するよう改善。
  • ワーカー停止処理のドキュメントにおける $startTime の型を修正。
  • DevCommands でベンダー提供・デフォルトコマンドを除外できる機能を追加。
  • Storage::path() が設定済みディスクのルート外を参照しないよう制限。
  • Microsoft SQL Server の DSN 接続文字列に対応。
  • route:cache 実行時に新しいアプリケーションが起動された後、ファサードのアプリケーション状態を復元。
  • リクエストのクランプ処理で、パラメータ値の欠落や文字列を安全に処理。
  • シーディング失敗時に、デフォルトのデータベース接続を復元。
  • Laravel Cloud 向けの機能を強化。
  • すべてのコマンドを解決せず、名前によってコマンドを取得できるよう改善。
  • 各種メソッドを外部から利用できるよう公開。
  • クエリの explain 機能に基本テストを追加。
  • Cloud Queue に合計サイズを取得する totalXSize 系メソッドを追加。
  • コレクションに chunkBy を追加。
  • オブジェクト識別にハッシュ値ではなく spl_object_id を使用。
  • キューマネージャーから直接 createPayloadUsing を登録できるよう改善。
  • read-through ディスクのフォールバックにのみ存在するファイルにも可視性を設定。
  • Laravel の例外ページに表示されるツールチップで、HTMLをデフォルト無効化。
Laravel Tips bot

laravel/framework v12.69.0

https://github.com/laravel/framework/releases/tag/v12.69.0

Laravel Framework 12.x

  • Laravelの例外ページに表示されるツールチップでは、HTMLをデフォルトで無効化。
  • ユーザー認証前に、パスワードハッシュが保存済みCookieの値と一致することを確認するよう改善。
Laravel Tips bot

laravel/framework v13.27.0

https://github.com/laravel/framework/releases/tag/v13.27.0

Laravel Framework 13.x リリースノート要約

  • スコープ付きインスタンスの重複登録を防止。
  • EloquentモデルにrefreshForUpdate()を追加。
  • 画像URL取得時の失敗を例外として扱うよう改善。ストリームからの画像読み込みや数値比較ルールの例外処理も修正。
  • クエリビルダーにwhereBinary()を追加し、orWhereKey()およびorWhereKeyNot()を再導入。
  • MariaDBでベクトル距離クエリをサポート。
  • キューに合計サイズ取得用メソッドを追加。重複排除ジョブの待機時間や一意ロックの解放処理も改善。
  • Redis、Memcached、SQS、PostgreSQL接続の安定性と設定を改善。
  • フォールバック付き読み取りディスクで、フォールバック側にのみ存在するファイルの移動・コピーに対応。
  • Cloudファサードを導入。
  • ルート名、リソース読み込み、リレーションシップの深さ制限などを修正。
  • リクエスト入力やURIクエリで、アスタリスクやドットを含むキーを正しく扱うよう改善。
  • バリデーションにおける緩い比較を防止し、入力値検証の安全性を向上。
  • 例外メッセージ内のクエリバインディングをマスク可能にした。
  • テストの非推奨警告、テストデータ、名前空間、ライフサイクル管理、CI設定を整理・改善。
Laravel Tips bot

laravel/framework v12.68.0

https://github.com/laravel/framework/releases/tag/v12.68.0

  • リソースの読み込み処理を修正。
Laravel Tips bot

laravel/framework v13.26.1

https://github.com/laravel/framework/releases/tag/v13.26.1

Laravel 13.x

  • Eloquent Builderに追加されたorWhereKeyおよびorWhereKeyNot機能を取り消し。
Laravel Tips bot

laravel/framework v13.26.0

https://github.com/laravel/framework/releases/tag/v13.26.0

Laravel Framework リリースノート概要

キュー・ワーカー

  • ジョブ解放時の JobReleased イベントを追加。
  • 一時停止中のキューを検出・表示する機能を改善。
  • Cloud キューに managedQueues() を追加。
  • Queue::forward() を導入。
  • キューイベントのネストデータをトップレベルへ昇格。
  • キューリスナーでデバウンス可能な処理をサポート。
  • キュー関連テストを修正。

Redis・キャッシュ

  • Redis の一時的な障害時に一部コマンドを再試行。
  • Redis クラスターで全マスターノードをスキャン。
  • クラスター応答エラー後に Redis クライアントを再構築。
  • パイプラインやトランザクション失敗後も接続を再利用可能に改善。
  • Redis クラスターで古いキャッシュタグを削除する際の無限ループを修正。
  • Redis パイプラインのファサード注釈を修正。

ファイルシステム

  • 読み取り時に別のファイルシステムを参照する Read-through filesystem を追加。
  • Read-through filesystem で、参照元ファイルを任意でコピーしない設定に対応。
  • 一時アップロード URL の upload パラメータをクエリ文字列からのみ取得するよう厳格化。

データベース・Eloquent

  • inOrderOf() で Enum を利用可能に改善。
  • wherePivot()orWherePivot() がクロージャに対応。
  • Eloquent Builder に orWhereKey()orWhereKeyNot() を追加。
  • Relation に getRelatedClass() を追加。
  • SQL Server 設定で readonly=false を正しく尊重。
  • PostgreSQL の JSON パス属性でシングルクォートを適切にエスケープ。
  • 指定したシーダーの実行時にも db:seed の進捗を表示。
  • JSON:API の配列形式クエリパラメータによる TypeError を防止。
  • MySQL 9.7 のテストに対応。

プロセス・クラウドエージェント

  • プロセスプールを反復可能に改善。
  • アイドル状態のプロセスタイムアウト専用例外を追加。
  • プロセスフェイク向けのアサーションヘルパーを追加。
  • 配列形式のコマンドをプロセスフェイクのアサーションで利用可能に改善。
  • タイムアウトしたクラウドエージェントのロングポーリングを再試行。

開発者体験・テスト

  • Pail がインストールされている場合のみ開発用コマンドを登録。
  • Vite を使用しないプロジェクトで multiplex のインストールや Vite 起動を繰り返し要求する問題を修正。
  • @laravel/multiplex の固定バージョンを削除。
  • Guzzle 8 をサポート。
  • setTestNow を使用したテストでの now() の再利用問題を修正。
  • throwUnless() にクロージャを渡した際に何も実行されない問題を修正。
  • セッションエラーを JSON 化した際にアサーション失敗メッセージを保持。
  • Mockery の整理と関連テストを改善。
  • コンソールテストで配列形式の回答を扱えるようドキュメントを修正。

バリデーション

  • in バリデーションルールが緩い比較によって回避される問題を修正。
Laravel Tips bot

laravel/framework v12.67.0

https://github.com/laravel/framework/releases/tag/v12.67.0

Laravel Framework 12.x

  • 一時アップロードURLで使用するuploadパラメータを、リクエストのクエリ文字列からのみ取得するよう厳格化。
  • 厳密でない比較によるinバリデーションルールの回避を防止。
  • タイムアウトしたクラウドエージェントのロングポーリングを再試行する機能を追加。
  • PostgreSQLのJSONパス属性で、シングルクォートを適切にエスケープ。
  • ネストされたデータを、トップレベルで管理されるキューイベントへ昇格。
  • ワイルドカードルールの展開が二次時間計算量になる問題を解消し、バリデーション性能を改善。