Skip to content
全部文档

发行说明 ​

版本策略 ​

Laravel 及其其他官方包遵循 语义化版本。框架大版本大约每年发布一次(约第一季度),小版本与补丁版本可能每周都会发布。小版本与补丁版本绝不应包含破坏性变更。

在应用或包中引用 Laravel 框架或其组件时,应始终使用类似 ^13.0 的版本约束,因为 Laravel 大版本确实会包含破坏性变更。不过我们会尽力确保你能在一天甚至更短时间内完成升级。

命名参数 ​

命名参数 不在 Laravel 向后兼容指南的覆盖范围内。我们可能在必要时重命名函数参数以改进代码库。因此,调用 Laravel 方法时使用命名参数应格外谨慎,并明白参数名未来可能变更。

支持策略 ​

所有 Laravel 发行版提供 18 个月的缺陷修复与 2 年的安全修复。对于其他附加库,仅最新大版本会收到缺陷修复。此外,请查阅 Laravel 支持的数据库版本。

VersionPHP (*)ReleaseBug Fixes UntilSecurity Fixes Until
108.1 - 8.3February 14th, 2023August 6th, 2024February 4th, 2025
118.2 - 8.4March 12th, 2024September 3rd, 2025March 12th, 2026
128.2 - 8.5February 24th, 2025August 13th, 2026February 24th, 2027
138.3 - 8.5March 17th, 2026Q3 2027March 17th, 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,为文本生成、带工具调用的 agent、嵌入、音频、图像以及向量存储集成提供统一 API。

借助 AI SDK,你可以构建与供应商无关的 AI 功能,同时保持一致、贴合 Laravel 的开发体验。

例如,基础 agent 只需一次调用即可发起提示:

php
use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analyze this sales transcript...');

return (string) $response;

Laravel AI SDK 还能生成图像、音频与嵌入:

对于视觉生成场景,SDK 提供简洁 API,可根据自然语言提示创建图像:

php
use Laravel\Ai\Image;

$image = Image::of('A donut sitting on the kitchen counter')->generate();

$rawContent = (string) $image;

对于语音体验,你可以将文本合成为自然语音,用于助手、旁白与无访问性功能:

php
use Laravel\Ai\Audio;

$audio = Audio::of('I love coding with Laravel.')->generate();

$rawContent = (string) $audio;

对于语义搜索与检索工作流,你可以直接从字符串生成嵌入:

php
use Illuminate\Support\Str;

$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(...) 增加了按类路由队列,可在一处为特定任务定义默认队列 / 连接路由规则:

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

扩展的 PHP Attribute ​

Laravel 13 继续扩展框架内的官方 PHP attribute 支持,使常见配置与行为更声明式,并与类、方法放在一起。

值得关注的新增包括控制器与授权相关 attribute,如 #[Middleware] 与 #[Authorize],以及面向队列任务的控制,如 #[Tries]、#[Backoff]、#[Timeout] 与 #[FailOnTimeout]。

例如,控制器中间件与策略检查现在可以直接声明在类和方法上:

php
<?php

namespace App\Http\Controllers;

use App\Models\Comment;
use App\Models\Post;
use Illuminate\Routing\Attributes\Controllers\Authorize;
use Illuminate\Routing\Attributes\Controllers\Middleware;

#[Middleware('auth')]
class CommentController
{
    #[Middleware('subscribed')]
    #[Authorize('create', [Comment::class, 'post'])]
    public function store(Post $post)
    {
        // ...
    }
}

Eloquent、事件、通知、验证、测试与资源序列化等 API 也新增了更多 attribute,让你在框架更多区域都能采用一致的 attribute 优先写法。

缓存 TTL 延长 ​

Laravel 现已提供 Cache::touch(...),可在不读取并重新存储值的情况下延长已有缓存项的 TTL。

Laravel 13 通过原生向量查询、嵌入工作流及相关 API,深化了语义搜索能力,文档见 搜索、查询 与 AI SDK。

这些特性使你能轻松基于 PostgreSQL + pgvector 构建 AI 驱动的搜索体验,包括对直接从字符串生成的嵌入进行相似度搜索。

例如,你可以直接通过查询构造器执行语义相似度搜索:

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