Se o seu projeto Laravel está parado numa versão de dois ou três anos atrás, chega uma hora em que adiar a atualização custa mais caro do que fazer ela — biblioteca que não recebe mais patch de segurança, hospedagem que só oferece PHP recente, ou simplesmente um cliente que pediu uma funcionalidade que só existe nas versões novas. O Laravel 13, lançado em março de 2026, é uma atualização tranquila comparada a saltos anteriores, mas vale entender o que mudou antes de rodar o comando de update.
O que há de novo no Laravel 13
Diferente de versões anteriores que trouxeram mudanças estruturais grandes, o Laravel 13 é deliberadamente uma atualização suave — a equipe do Taylor Otwell tem investido em estabilidade nos últimos releases, não em quebrar compatibilidade. Ainda assim, tem coisa nova relevante:
- Mais opções com atributos PHP — cerca de 15 novos pontos do framework agora aceitam atributos nativos do PHP (aquela sintaxe com
#[...]) em vez da configuração tradicional baseada em array ou anotação, deixando o código mais legível pra quem já usa attributes em outros contextos. - Passkeys nos starter kits — autenticação sem senha via Passkey (a mesma tecnologia usada por Google e Apple) agora vem integrada no Laravel Fortify e nos kits iniciais oficiais, facilitando login sem depender só de senha tradicional.
- Suporte a Teams nos starter kits — os kits iniciais ganharam funcionalidade de times/equipes pronta, o que antes exigia pacotes de terceiros como o Jetstream com Teams habilitado.
- Pooling de conexão PostgreSQL nativo — suporte em nível de framework para poolers como o PgBouncer, configurável direto na conexão do banco com a opção
pooled => true. - Modo de manutenção isolado por processo — um novo driver de modo de manutenção que mantém o estado “em manutenção” isolado por processo, útil em ambientes com múltiplos workers.
Requisitos antes de atualizar
Confira a versão do PHP instalada:
php -v
O Laravel 13 segue o padrão recente do framework de exigir uma versão de PHP relativamente atual — se seu servidor ainda roda PHP 8.1 ou anterior, a atualização do PHP precisa vir antes da atualização do Laravel, não junto. Faça isso em etapas separadas pra facilitar o diagnóstico se algo quebrar.
Passo a passo de atualização
- Faça backup do projeto inteiro e do banco de dados antes de qualquer coisa — parece óbvio, mas é o passo que mais gente pula com pressa.
- Confira a versão atual instalada:
composer show laravel/framework
- Atualize o número da versão no
composer.json:"require": {
"laravel/framework": "^13.0"
} - Rode o update:
composer update
- Leia o guia oficial de upgrade da versão específica (Laravel mantém um por versão) e aplique as mudanças de código apontadas — normalmente são poucas linhas, mas ignorar esse passo é a causa mais comum de erro depois do update.
- Rode os testes automatizados do projeto, se existirem. Se não existirem, esse é um bom motivo pra criar pelo menos os testes das rotas críticas antes de ir pra produção.
- Limpe os caches:
php artisan optimize:clear
php artisan config:cache
Problemas comuns na atualização
Erro de dependência conflitante no composer update
Geralmente é um pacote de terceiros que ainda não foi atualizado pra suportar a versão nova do Laravel. Confira no Packagist se existe uma versão mais recente do pacote com suporte declarado, ou considere substituir o pacote se ele estiver abandonado.
Aplicação quebra em produção mas funcionava local
Quase sempre é diferença de versão de PHP entre ambiente local e produção. Rode php -v nos dois ambientes e confirme que batem antes de investigar qualquer outra coisa.
Rotas ou middlewares personalizados param de funcionar
Verifique o guia de upgrade oficial pra mudanças de assinatura de método — é comum que classes internas do framework mudem parâmetros entre versões maiores, e isso afeta middlewares customizados que sobrescrevem esses métodos.
Vale atualizar agora ou esperar?
Se o projeto está em produção e estável, não existe pressa em migrar no dia do lançamento — deixe a comunidade encontrar os bugs das primeiras semanas primeiro. Mas não deixe passar de uma versão LTS pra outra sem atualizar, porque aí o salto fica grande demais e a atualização vira um projeto de várias semanas em vez de um passo tranquilo de tarde.
Perguntas frequentes
Preciso reescrever meu código pra migrar pro Laravel 13?
Na maioria dos projetos, não. O Laravel 13 foi projetado justamente pra ser uma atualização de baixo atrito, sem quebras estruturais grandes como aconteceu em versões mais antigas.
Laravel 13 ainda suporta MySQL, ou é só PostgreSQL agora?
Continua suportando todos os bancos de dados de sempre (MySQL, PostgreSQL, SQLite, SQL Server). O pooling nativo é um recurso adicional específico pra quem usa PostgreSQL, não uma exigência.
Passkeys substituem completamente a senha tradicional?
Não obrigatoriamente — os starter kits oferecem Passkey como opção adicional de login, mantendo a autenticação tradicional por e-mail e senha disponível também.
Onde acompanho os lançamentos e mudanças de cada versão?
A documentação oficial do Laravel mantém uma página de release notes específica por versão, com todas as mudanças e o guia de upgrade correspondente.
Dá pra pular direto de uma versão bem antiga (Laravel 9, por exemplo) pro 13?
Tecnicamente é possível, mas não é recomendado fazer de uma vez só. O caminho mais seguro é atualizar uma versão maior de cada vez (9 para 10, depois 10 para 11, e assim por diante), rodando os testes e corrigindo o que quebrar em cada etapa antes de seguir pra próxima. Pular direto costuma acumular tanta coisa pra corrigir de uma vez que fica mais difícil identificar qual mudança específica causou qual erro.
Se você está começando a estudar desenvolvimento web agora, vale conferir também nosso guia de estratégias para aprender programação online e o comparativo entre React, Angular e Vue para o lado front-end da aplicação.


