> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Resumen de las novedades de Laravel 13

> Se explican las principales novedades y mejoras de Laravel 13, lanzado en marzo de 2026.

## Introducción

Laravel 13 se lanzó el 17 de marzo de 2026. Aunque es la habitual release mayor anual, Laravel 13 pone el foco especialmente en **flujos de trabajo nativos de IA**, **valores por defecto más seguros** y **APIs para desarrolladores más expresivas**.

Los cambios disruptivos se han reducido al mínimo, y la mayoría de aplicaciones podrán actualizarse con pocas modificaciones. Al mismo tiempo, se han añadido numerosas funciones nuevas que pueden transformar el desarrollo moderno de aplicaciones, como Laravel AI SDK y la búsqueda semántica.

<Info>
  Política de soporte de Laravel 13: se ofrecen correcciones de errores hasta el Q3 de 2027 y correcciones de seguridad hasta el **17 de marzo de 2028**.
</Info>

***

## Actualización del requisito de PHP

Laravel 13 requiere **PHP 8.3 o superior**. El soporte para PHP 8.2 ha finalizado.

| Versión | PHP           | Fecha de lanzamiento    | Fin de correcciones de errores | Fin de correcciones de seguridad |
| ------- | ------------- | ----------------------- | ------------------------------ | -------------------------------- |
| 11      | 8.2 - 8.4     | 12 de marzo de 2024     | 3 de septiembre de 2025        | 12 de marzo de 2026              |
| 12      | 8.2 - 8.5     | 24 de febrero de 2025   | 13 de agosto de 2026           | 24 de febrero de 2027            |
| **13**  | **8.3 - 8.5** | **17 de marzo de 2026** | **Q3 de 2027**                 | **17 de marzo de 2028**          |

Como principales beneficios de PHP 8.3, se pueden usar constantes tipadas, la función `json_validate()` y el atributo `#[\Override]`, entre otros.

***

## Principales novedades

### Laravel AI SDK

La estrella de Laravel 13 es el **AI SDK de primera parte**. Ofrece una API unificada para generación de texto, agentes de tool calling, embeddings, audio, generación de imágenes e integración con vector stores.

Puedes construir funciones de IA de forma independiente del proveedor manteniendo una experiencia de desarrollador propia de Laravel.

**Generación de texto (agente)**

```php theme={null}
use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analiza esta transcripción de ventas...');

return (string) $response;
```

**Generación de imágenes**

```php theme={null}
use Laravel\Ai\Image;

$image = Image::of('un dónut sobre la encimera de la cocina')->generate();

$rawContent = (string) $image;
```

**Síntesis de audio**

```php theme={null}
use Laravel\Ai\Audio;

$audio = Audio::of('Me encanta programar en Laravel.')->generate();

$rawContent = (string) $audio;
```

**Generación de embeddings**

```php theme={null}
use Illuminate\Support\Str;

$embeddings = Str::of('Los vinos de Napa Valley son los mejores.')->toEmbeddings();
```

Para más detalles, consulta la [documentación del Laravel AI SDK](https://laravel.com/ai).

***

### Búsqueda semántica y vectorial

Se ha añadido soporte nativo para consultas vectoriales integrado con el AI SDK. Puedes ejecutar búsqueda semántica con PostgreSQL + `pgvector` directamente desde el query builder.

```php theme={null}
$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Las mejores bodegas de Napa Valley')
    ->limit(10)
    ->get();
```

Desde añadir la columna de embeddings hasta la consulta, todo se completa dentro del ecosistema Laravel.

***

### Recursos JSON:API

Se ha añadido soporte de primera parte para recursos [JSON:API](https://jsonapi.org/) en Laravel. Ahora es fácil devolver respuestas conformes a la especificación JSON:API.

* Serialización de objetos recurso
* Inclusión de relaciones
* Sparse fieldsets
* Links
* Cabeceras de respuesta conformes con JSON:API

***

### Ampliación de los atributos PHP

Laravel 13 extiende a todo el framework la configuración declarativa mediante atributos PHP.

**Aplicación a controladores**

```php theme={null}
<?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)
    {
        // ...
    }
}
```

**Aplicación a jobs de cola**

```php theme={null}
use Illuminate\Queue\Attributes\Tries;
use Illuminate\Queue\Attributes\Backoff;
use Illuminate\Queue\Attributes\Timeout;
use Illuminate\Queue\Attributes\FailOnTimeout;

#[Tries(3)]
#[Backoff(60)]
#[Timeout(120)]
#[FailOnTimeout]
class ProcessPodcast implements ShouldQueue
{
    // ...
}
```

Principales atributos añadidos:

| Atributo           | Uso                                              |
| ------------------ | ------------------------------------------------ |
| `#[Middleware]`    | Aplicación de middleware a controladores/métodos |
| `#[Authorize]`     | Comprobación de policy en controladores          |
| `#[Tries]`         | Número máximo de intentos del job de cola        |
| `#[Backoff]`       | Tiempo de backoff del job de cola                |
| `#[Timeout]`       | Tiempo de timeout del job de cola                |
| `#[FailOnTimeout]` | Flag de fallo del job en timeout                 |

También se han introducido atributos adicionales en Eloquent, eventos, notificaciones, validación, tests y en la API de serialización de recursos.

***

### Enrutamiento de cola

Con `Queue::route(...)` puedes definir en un único lugar las reglas de enrutamiento por defecto de cola y conexión para jobs concretos.

```php theme={null}
use App\Jobs\ProcessPodcast;
use Illuminate\Support\Facades\Queue;

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

Ya no tienes que codificar el nombre de la cola en la clase del job y puedes separar la configuración de infraestructura del código.

***

### Extensión del TTL de la caché

Con `Cache::touch(...)` puedes extender el TTL de un elemento de caché sin obtener ni volver a guardar el valor.

```php theme={null}
// Extiende el TTL en 3600 segundos sin cambiar el valor actual
Cache::touch('expensive-computation', 3600);
```

***

## Refuerzo de seguridad

### Refuerzo de la protección CSRF (`PreventRequestForgery`)

El middleware CSRF se ha renombrado de `VerifyCsrfToken` a `PreventRequestForgery`, y se ha añadido verificación del origen de la petición usando la cabecera `Sec-Fetch-Site`.

```php theme={null}
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;

// Excluir el middleware en tests
->withoutMiddleware([PreventRequestForgery::class]);
```

`VerifyCsrfToken` permanece como alias obsoleto, pero se recomienda migrar al nuevo nombre de clase.

### Restricción de deserialización de la caché

Se ha añadido la opción `serializable_classes` en `config/cache.php`, con valor por defecto `false`. Esto previene ataques de deserialización de PHP en caso de que se filtre `APP_KEY`.

```php theme={null}
// config/cache.php
'serializable_classes' => [
    App\Data\CachedDashboardStats::class,
    App\Support\CachedPricingSnapshot::class,
],
```

Si guardas objetos PHP en la caché, deberás añadirlos explícitamente a la lista de permitidos.

***

## Cambios en los starter kits

Los starter kits renovados en Laravel 12 (basados en React/Vue/Livewire) siguen estando disponibles en Laravel 13.

Coincidiendo con el lanzamiento de Laravel 13 también se lanzó **Inertia v3**. Principales cambios:

* Props de layout más simples
* Soporte de Vite 8
* Añadido del callback `withApp`
* Nuevos componentes Blade

Si usas Inertia v3, considera también su actualización.

***

## Otras mejoras

### Actualización asistida por IA (Laravel Boost)

[Laravel Boost](https://github.com/laravel/boost) es un servidor MCP de primera parte. Puedes semi-automatizar la actualización con el slash command `/upgrade-laravel-v13`, integrándolo con editores de IA como Claude Code, Cursor, OpenCode, Gemini o VS Code.

```shell theme={null}
composer require laravel/boost:^2.0 --dev
```

### Añadido a los contratos

Se han añadido nuevos métodos a los siguientes contratos:

| Contrato                           | Método añadido                                                                 |
| ---------------------------------- | ------------------------------------------------------------------------------ |
| `Bus\Dispatcher`                   | `dispatchAfterResponse`                                                        |
| `Routing\ResponseFactory`          | `eventStream` (soporte SSE)                                                    |
| `Auth\MustVerifyEmail`             | `markEmailAsUnverified`                                                        |
| `Queue\Queue`                      | `pendingSize`, `delayedSize`, `reservedSize`, `creationTimeOfOldestPendingJob` |
| `Cache\Store` / `Cache\Repository` | `touch`                                                                        |

***

## Conclusión

Laravel 13 es una release de "pocos cambios disruptivos y muchas novedades". La actualización requiere un esfuerzo mínimo, y a la vez, especialmente el **AI SDK** y la **búsqueda semántica** tienen potencial para cambiar la forma en que se desarrollan las aplicaciones modernas.

Cuando estés listo para actualizar una aplicación existente de Laravel 12 a 13, consulta el procedimiento detallado en la guía siguiente.

<Card title="Guía de actualización de Laravel 12 a 13" icon="arrow-up-right" href="/es/blog/upgrade-12-to-13">
  Se explican la lista de cambios disruptivos y los pasos de actualización paso a paso.
</Card>


## Related topics

- [Guía de actualización de Laravel 12 a 13](/es/blog/upgrade-12-to-13.md)
- [Manejo de errores](/es/error-handling.md)
- [Atributos de PHP](/es/advanced/php-attributes.md)
- [Observers de Eloquent y eventos del modelo](/es/advanced/eloquent-observers.md)
- [Conocimientos necesarios antes de empezar con Laravel](/es/true-tutorial.md)
