artisan dev 指令的改善,以及佇列管理、Eloquent、檔案系統、向量搜尋等相關功能。官方部落格在 8 月並未發表月度產品更新文章。本頁涵蓋的是 8 月公開的官方 release note。
參考來源:
- Laravel Framework v13.24.0
- Laravel Framework v13.25.0
- Laravel Framework v13.26.0
- Laravel Framework v13.27.0
- Laravel Framework v13.29.0
Laravel Framework
artisan dev 改為透過 @laravel/multiplex 運作
在 v13.26.0 中,php artisan dev 內部改為透過 @laravel/multiplex 執行。以單一 tab UI 同時執行開發伺服器、Vite、佇列 worker 等的機制得到強化。也修正了未使用 Vite 的專案會被不必要地提示啟動 Vite 或安裝 multiplex 的問題。
Queue::forward()
v13.27.0 新增了 Queue::forward(),可將 job 從某個佇列 connection 轉送到另一個 connection。
Cloud facade
v13.27.0 新增了Illuminate\Support\Facades\Cloud facade。在 Laravel Cloud 上運作的應用程式將更容易存取 Cloud 特有的功能。
Eloquent 的 refreshForUpdate()
v13.29.0 新增了 refreshForUpdate() 方法,可在交易內重新載入模型並同時取得 FOR UPDATE 鎖。詳情請參考 Eloquent 頁面。
向量搜尋的 MariaDB 支援
whereVectorSimilarTo 等向量相似度搜尋,除了 PostgreSQL(pgvector)之外,現在也可在 MariaDB 11.7 以上使用。詳情請參考搜尋的統一指南與 Scout 頁面。
其他變更
- 新增
read-through磁碟驅動,可在不停機的情況下將檔案遷移至其他磁碟(參考檔案系統頁面)。 - 影像處理擴充了 HEIC、AVIF 格式的支援。
- 查詢建構器新增
whereBinary(),Eloquent 建構器新增orWhereKey()/orWhereKeyNot()。 BindWhen屬性現在會重新評估先前未滿足條件的繫結。- 佇列的測試 fake 新增了取得 job 總大小的
totalXSize系列方法。
總結
8 月是著重於改善既有功能與提升可靠性、而非推出新功能的一個月。特別是artisan dev 與 multiplex 的整合,是同時影響 Laravel Cloud 與本地 DX 的變更。向量搜尋的 MariaDB 支援,對使用 PostgreSQL 以外資料庫的專案來說可謂好消息。