跳轉至內容

釋出說明

版本控制方案

Laravel 及其其他官方包遵循 語義化版本控制 (Semantic Versioning)。框架主版本每年釋出一次(約在第一季度),而次要版本和補丁版本可能每週釋出。次要版本和補丁版本絕不包含破壞性變更。

在您的應用程式或包中引用 Laravel 框架或其元件時,應始終使用版本約束(例如 ^13.0),因為 Laravel 的主版本更新確實包含破壞性變更。不過,我們始終致力於確保您能在一天或更短的時間內完成向新主版本的升級。

命名引數

命名引數 不在 Laravel 的向後相容性指南涵蓋範圍內。為了改進 Laravel 程式碼庫,我們可能會在必要時重新命名函式引數。因此,在呼叫 Laravel 方法時使用命名引數應謹慎,並需理解引數名稱在未來可能會發生變化。

支援政策

對於所有 Laravel 版本,錯誤修復提供 18 個月的支援,安全修復提供 2 年的支援。對於所有附加庫,僅最新的主版本接收錯誤修復。此外,請查閱 Laravel 支援的資料庫版本

版本 PHP (*) 版本 錯誤修復至 安全修復至
10 8.1 - 8.3 2023 年 2 月 14 日 2024 年 8 月 6 日 2025 年 2 月 4 日
11 8.2 - 8.4 2024 年 3 月 12 日 2025 年 9 月 3 日 2026 年 3 月 12 日
12 8.2 - 8.5 2025 年 2 月 24 日 2026 年 8 月 13 日 2027 年 2 月 24 日
13 8.3 - 8.5 2026 年第一季度 2027 年第三季度 2028 年第一季度
生命週期結束
僅安全修復

(*) 支援的 PHP 版本

Laravel 13

Laravel 13 繼續保持其年度釋出節奏,重點關注原生 AI 工作流、更強的預設設定以及更具表現力的開發者 API。此版本包含原生 AI 原語、JSON:API 資源、語義/向量搜尋功能,以及佇列、快取和安全方面的增量改進。

最小化破壞性變更

在此次釋出週期中,我們的核心重點之一是儘可能減少破壞性變更。相反,我們致力於全年提供持續的體驗改進,且不會破壞現有應用程式。

因此,Laravel 13 在升級工作量方面是一個相對較小的更新,但依然提供了實質性的新功能。考慮到這一點,大多數 Laravel 應用程式無需修改太多程式碼即可升級到 Laravel 13。

PHP 8.3

Laravel 13.x 最低要求 PHP 8.3 版本。

Laravel AI SDK

Laravel 13 引入了官方的 Laravel AI SDK,為文字生成、工具呼叫智慧體、嵌入 (Embeddings)、音訊、影像和向量儲存整合提供了統一的 API。

藉助 AI SDK,您可以構建與提供商無關的 AI 功能,同時保持一致的 Laravel 原生開發體驗。

例如,可以透過單個呼叫來提示一個基礎智慧體

1use App\Ai\Agents\SalesCoach;
2 
3$response = SalesCoach::make()->prompt('Analyze this sales transcript...');
4 
5return (string) $response;

Laravel AI SDK 還可以生成影像、音訊和嵌入

對於視覺生成用例,SDK 提供了一個簡潔的 API,用於根據普通語言提示建立影像

1use Laravel\Ai\Image;
2 
3$image = Image::of('A donut sitting on the kitchen counter')->generate();
4 
5$rawContent = (string) $image;

對於語音體驗,您可以為助手、旁白和輔助功能將文字合成為自然發音的音訊

1use Laravel\Ai\Audio;
2 
3$audio = Audio::of('I love coding with Laravel.')->generate();
4 
5$rawContent = (string) $audio;

對於語義搜尋和檢索工作流,您可以直接從字串生成嵌入

1use Illuminate\Support\Str;
2 
3$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();

JSON:API 資源

Laravel 現在包含原生的 JSON:API 資源,使返回符合 JSON:API 規範的響應變得非常簡單。

JSON:API 資源處理資源物件序列化、關係包含、稀疏欄位集、連結以及符合 JSON:API 的響應頭。

請求偽造保護

出於安全考慮,Laravel 的 請求偽造保護 中介軟體已得到增強,並正式命名為 PreventRequestForgery。它增加了感知來源的請求驗證,同時保留了與基於令牌的 CSRF 保護的相容性。

佇列路由

Laravel 13 透過 Queue::route(...) 增加了 基於類的佇列路由,允許您在中心位置為特定任務定義預設的佇列/連線路由規則

1Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

擴充套件的 PHP 特性 (Attributes)

Laravel 13 繼續在整個框架內擴充套件對 PHP 特性的原生支援,使常見的配置和行為關注點更具宣告性,並與您的類和方法放置在一起。

值得注意的增加包括控制器和授權特性,如 #[Middleware]#[Authorize],以及面向佇列的任務控制特性,如 #[Tries]#[Backoff]#[Timeout]#[FailOnTimeout]

例如,控制器中介軟體和策略檢查現在可以直接在類和方法上宣告

1<?php
2 
3namespace App\Http\Controllers;
4 
5use App\Models\Comment;
6use App\Models\Post;
7use Illuminate\Routing\Attributes\Controllers\Authorize;
8use Illuminate\Routing\Attributes\Controllers\Middleware;
9 
10#[Middleware('auth')]
11class CommentController
12{
13 #[Middleware('subscribed')]
14 #[Authorize('create', [Comment::class, 'post'])]
15 public function store(Post $post)
16 {
17 // ...
18 }
19}

其他特性也已引入到 Eloquent、事件、通知、驗證、測試和資源序列化 API 中,為您在框架的更多領域提供了始終如一的“特性優先”選項。

快取 TTL 擴充套件

Laravel 現在包含 Cache::touch(...),允許您延長現有快取項的 TTL,而無需檢索並重新儲存其值。

Laravel 13 透過原生的向量查詢支援、嵌入工作流以及在 搜尋查詢AI SDK 中記錄的相關 API,加深了其語義搜尋的深度。

這些功能使得使用 PostgreSQL + pgvector 構建 AI 驅動的搜尋體驗變得非常簡單,包括針對直接從字串生成的嵌入進行相似性搜尋。

例如,您可以直接從查詢構建器執行語義相似性搜尋

1$documents = DB::table('documents')
2 ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
3 ->limit(10)
4 ->get();