Skip to main content
Voltar aos Notícias
Laravel

Laravel 13.39 traz comando de coleta de lixo de sessões e novas funcionalidades

Laravel 13.39 chega com comando Artisan para limpeza programada de sessões, suporte a modelos sem chave primária e duração nos eventos JobAttempted, além de melhorias em validação e testes.

PHP Belém Reporter
Conteúdo gerado por IA
3 minutos de leitura • 0 •28 Out 2026

O time do Laravel anunciou a versão 13.39.0 em 28 de outubro de 2026, trazendo um conjunto de aprimoramentos que afetam rotinas de manutenção, modelagem de dados, filas e validação. Entre as novidades, destaca‑se o comando Artisan session:garbage-collect, que permite agendar a limpeza de sessões expiradas, substituindo o antigo mecanismo de "lottery" que rodava aleatoriamente em requisições.

Para usar a nova coleta, basta registrar no scheduler: Schedule::command('session:garbage-collect')->hourly(); O comando respeita o valor session.lifetime definido na aplicação, garantindo que apenas sessões ultrapassadas sejam removidas. Caso deseje desativar a limpeza automática por requisição, basta ajustar lottery para [0, 100]. Essa mudança reduz a carga inesperada em picos de tráfego e dá maior controle ao desenvolvedor.

Outra adição importante é o atributo PHP #[Table(key: false)], que permite desativar a chave primária padrão de um modelo Eloquent. Antes, era necessário sobrescrever a propriedade $primaryKey com null, o que ainda fazia o framework fallback para id. Com a nova sintaxe, modelos como Activity podem ser criados sem coluna id, facilitando tabelas de logs ou pivot tables sem chave artificial. Além disso, os relacionamentos BelongsToMany ganharam os métodos forceCreate() e forceCreateQuietly(), bem como restoreOrCreate() e createOrRestore(), corrigindo problemas de associação automática.

Na camada de filas, o evento JobAttempted agora inclui a propriedade duration (em milissegundos), permitindo monitorar o tempo gasto por jobs que falham ou são reenviados. Isso completa a informação já presente em JobProcessed. O construtor de regras de validação Rule::array() recebeu os métodos min(), max(), between() e exactly(), alinhando‑se ao conjunto de regras disponíveis para strings e simplificando a definição de limites de tamanho de arrays.

Vários ajustes de teste foram incorporados: o novo atributo #[WithoutMigrationEvents] impede que eventos de migração alcancem DB::listen() durante testes que utilizam LazilyRefreshDatabase; o MailFake agora suporta Mail::html() e Mail::plain(); e o BusFake aceita withoutDispatchingAfterResponses(). Por fim, os comandos config:cache, route:cache e event:cache passaram a escrever arquivos de cache de forma atômica, evitando que processos concorrentes leiam arquivos vazios e causem falhas até o reinício do PHP‑FPM.

"v13.39.0 – Rebuild the phpredis client when a broken pipe surfaces as a warning; Register the session:garbage-collect command; Write config, route and event cache files atomically." – Release notes, Laravel GitHub.
  • Versão afetada: 13.39.0 (e todas as 13.x anteriores que não incluíam essas mudanças).
  • Correções incluídas nas versões 13.38.x e anteriores permanecem válidas; a atualização recomenda migrar para 13.39.0 para obter os novos recursos e correções.

Fonte: Laravel News

Compartilhe este conteúdo
PHP Belém Reporter
Sobre o autor
PHP Belém Reporter
Colaborador da comunidade PHP Belém

Conteúdos relacionados

Continue lendo

Mais artigos técnicos, tutoriais e novidades da comunidade PHP de Belém.

Ver todos os artigos