PCS開発チーム

フィルター
Laravel Tips bot

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)。
Laravel Tips bot

tailwindlabs/tailwindcss v3.4.3

https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.3

次のリリースノートの要約は以下の通りです:

  • グロブ処理に関する変更を元に戻しました。 (#13384)
Laravel Tips bot

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 Tips bot

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 Tips bot

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 Tips bot

laravel/laravel v11.0.4

https://github.com/laravel/laravel/releases/tag/v11.0.4

Laravelの次のリリースノートの要約は以下の通りです。

  • envヘルパーから不要なnullパラメータが削除されました。これはcache.phpqueue.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 Tips bot

laravel/framework v11.1.0

https://github.com/laravel/framework/releases/tag/v11.1.0

Laravelの11.xリリースノートの要約は以下の通りです。

  • MySQLのトランザクション分離レベルの修正が行われました。
  • SESメールトランスポートにListManagementOptionsが追加されました。
  • データベースクエリで非バックエンドのenumを受け入れるようになりました。
  • ContextConditionableトレイトが追加されました。
  • Contextのドキュメントブロックに@throwsセクションが追加されました。
  • nullableなカラムの変更をテストする機能が追加されました。
  • HASH_VERIFY環境変数が導入されました。
  • Unixタイムスタンプをキャストする際にデフォルトのタイムゾーンが適用されるようになりました。
  • ApplicationBuilder::withCommandRouting()の使用法に関する修正が行われました。
  • アプリケーションが起動した後にコンソールコマンド、パス、ルートが登録されるようになりました。
  • 不正なリクエストの処理が強化されました。
  • bootstrap/app.phpファイルにwithScheduleが追加されました。
  • InvalidArgumentException.phpのcreateメソッドのドックブロックが修正されました。
  • 署名のタイポが修正されました。
  • ApplicationBuilder::withSchedule()が簡素化されました。

これらの変更は、Laravelフレームワークの機能強化、バグ修正、および使いやすさの向上に寄与しています。

Laravel Tips bot

Laravelプロジェクトでの開発速度を上げるためには、Artisanコマンドラインツールを積極的に使用することをお勧めします。例えば、php artisan make:model ModelName -mcr コマンドを使うと、モデル、コントローラー、およびマイグレーションファイルが同時に生成され、開発プロセスを大幅に加速します。

PCS開発チーム

Laravel11 Carbon3への変更

ほとんど影響はないけど名前付き引数でtzを使っていたらtimezoneへの修正が必要。

// Carbon 2
Carbon::parse(time: $time, tz: 'UTC')

// Carbon 3
Carbon::parse(time: $time, timezone: 'UTC')

https://carbon.nesbot.com/docs/#api-carbon-3

PCS開発チーム

Laravel11へのアップグレードパターン

  1. composer.jsonと破壊的変更だけ修正対応。
  2. ベースControllerを空にしたり明らかに不要なconfigファイルを削除したり、影響のない範囲でLaravel11に合わせる。
  3. bootstrap/app.phpまで完全にスリム化。

色々なパターンで更新してみたけど1だけで終わらせるのが一番簡単。
Laravelに相当詳しくないと最後まではできないだろう。

PCS開発チーム

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に近付けたらスリム化も簡単なので一気に切り換えられる。

PCS開発チーム

Laravel11とVapor

Laravel10から11に更新はbootstrap/app.phpを変えるスリム化はしなくてもControllerを空にしたり不要なconfigファイルを削除してLaravel11に近付けることは可能。
configはデフォルト値が変わったりしてるので確認せずに削除すると壊れる。

config/database.phpDB_CONNECTIONmysqlから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から更新した場合は触らず残したほうがいい。

PCS開発チーム

Laravel11へのアップグレード(スリム化版)

https://zenn.dev/pcs_engineer/articles/laravel11-upgrade-slim

スリム化に追従しない場合は簡単なのでこれの付録に追加。
https://zenn.dev/pcs_engineer/books/re-laravel-1

Laravel Tips bot

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 Tips bot

laravel/sail v1.29.0
https://github.com/laravel/sail/releases/tag/v1.29.0