Laravel 13: Novedades, Requisitos y Guía de Actualización

Laravel 13: Novedades, Requisitos y Guía de Actualización

Jorge García
Jorge García
Última actualización
Comparte:

Laravel 13: Novedades, Requisitos y Guía de Actualización

Laravel 13 ya está disponible (lanzado oficialmente el 17 de marzo de 2026). Esta versión se centra en la modernización de la base del framework, mejoras clave en la seguridad y una adopción más profunda de las características recientes de PHP.

A continuación, tienes el resumen técnico y directo al grano para la comunidad de Aprendible.

Requisitos y Ciclo de Vida

El cambio más importante a nivel de infraestructura para esta nueva versión es la exigencia de la versión de PHP:

  • PHP Mínimo: PHP 8.3 (con soporte hasta PHP 8.5). Se elimina definitivamente el soporte para PHP 8.2.
  • Corrección de Errores (Bug Fixes): Soportado hasta el tercer trimestre de 2027 (Q3 2027).
  • Actualizaciones de Seguridad: Soportado hasta el primer trimestre de 2028 (Q1 2028).

Principales Novedades de Laravel 13

1. Atributos de PHP (PHP Attributes) Nativos

Laravel 13 introduce un amplio soporte para los Atributos de PHP como alternativa a las tradicionales propiedades de clase. Esto permite mantener los metadatos mucho más limpios y cerca de la definición de la clase.

  • En Modelos Eloquent: #[Table('users')], #[Fillable(['name', 'email'])], #[Hidden(['password'])]
  • En Jobs y Colas: #[Backoff], #[MaxExceptions], #[Queue], #[Timeout]

2. Observabilidad Mejorada en Colas (WorkerStopReason)

Se añade un nuevo Enum llamado WorkerStopReason. Antes, cuando un worker de colas se detenía, solo obtenías un código de estado genérico. Con Laravel 13 puedes identificar la razón exacta en tus logs: límite de memoria, tiempo excedido, señal del sistema o si simplemente la cola quedó vacía.

3. Extensión de Caché con Cache::touch()

Se introduce el método Cache::touch($key). Esta función resuelve un problema muy común: permite extender el tiempo de vida (TTL) de un elemento en caché sin tener que extraer el valor de la memoria y volver a escribirlo.

4. Seguridad: serializable_classes y protección CSRF

  • Caché más segura: La nueva opción serializable_classes (desactivada por defecto en tu config/cache.php) endurece el comportamiento de deserialización. Esto ayuda a prevenir ataques de tipo PHP gadget chain si la APP_KEY llegara a filtrarse.
  • Protección CSRF: Mejoras internas de seguridad mediante la implementación de PreventRequestForgery y un mejor manejo del header Sec-Fetch-Site.

5. Prioridad en Rutas con Subdominio

El sistema de routing ahora registra y prioriza automáticamente las rutas que contienen un subdominio explícito por encima de las rutas sin dominio. Esto soluciona conflictos de resolución en aplicaciones multi-tenant.

6. Restricciones en el Boot de Modelos

Para hacer más robusta la lógica interna, Laravel 13 ya no permite la instanciación de nuevos modelos Eloquent dentro del método boot() de un modelo. Esto previene bucles y efectos secundarios inesperados.

7. Soporte para Symfony 7.4 y 8.0

A nivel interno, los componentes base de Laravel se han actualizado para soportar las versiones más recientes de Symfony, asegurando un rendimiento óptimo y soporte a largo plazo.

Consideraciones para Actualizar (Desde Laravel 12)

El equipo de Laravel ha diseñado esta versión para que contenga la menor cantidad de breaking changes posibles:

  1. Actualiza tu entorno: El primer bloqueante es PHP. Asegúrate de actualizar tu servidor local y de producción a PHP 8.3 o superior.
  2. Revisa paquetes de terceros: Verifica tus dependencias, en especial herramientas como PHPUnit (PHPUnit 13 requiere PHP 8.4+).
  3. Colecciones Serializadas: Si encolas colecciones de modelos y tu código dependía de que las relaciones (eager-loaded) se perdieran en el proceso, revisa esa lógica, ya que Laravel 13 ahora restaura dichas relaciones al deserializar.
  4. Prefijos por defecto: Si no tienes definidos explícitamente los prefijos en tu archivo .env, ten en cuenta que los valores por defecto para caché y cookies de sesión han cambiado de _cache_ a formatos con guiones como -cache-.

Actualiza a Laravel 13 en piloto automático con IA

La actualización a Laravel 13 trae una novedad increíble para optimizar tu tiempo: ahora puedes delegar el proceso de migración a agentes de IA directamente desde tu terminal o editor.

Gracias a Laravel Boost (el servidor MCP oficial del framework), herramientas como Claude Code, Gemini CLI, Cursor u OpenCode ahora tienen acceso directo a la guía de actualización y al contexto de tu aplicación.

Cómo ejecutarlo:

  1. Asegúrate de tener instalado Laravel Boost en tu proyecto (Laravel 12):
  2. Bash
  3. composer require laravel/boost --dev
    php artisan boost:install
    
  4. Abre tu agente de IA desde la terminal o editor.
  5. Ejecuta el siguiente comando integrado:
  6. Bash
  7. /upgrade-laravel-13
    

El agente se encargará de analizar tu código, ajustar los breaking changes y actualizar las dependencias por ti.



Artículos relacionados

Laravel

Traduce tu aplicación Laravel al español con Laravel Lang (2025)

Jorge García
Jorge García (3062 xp)

Laravel

Guía Completa de Cursos Laravel 2025: Desde Principiante hasta Experto

Jorge García
Jorge García (3062 xp)
Laravel 12: Novedades y Todo lo que Necesitas Saber

Laravel

Laravel 12: Novedades y Todo lo que Necesitas Saber

Jorge García
Jorge García (3062 xp)
¿Cuál es la última versión de Laravel?

Laravel

¿Cuál es la última versión de Laravel?

Jorge García
Jorge García (3062 xp)