A equipe do Laravel lançou a versão v13.36.0 em 14 de outubro de 2026, trazendo um conjunto de aprimoramentos que facilitam a escrita de validações, ampliam o suporte a bancos de dados distribuídos e melhoram o comportamento das filas. Entre as novidades, destacam‑se os construtores Rule:: para regras de validação que ainda não possuíam método dedicado, o método DB::olap() para cargas de trabalho OLAP em PlanetScale/Vitess e a opção de limpar conexões "sticky" entre jobs de fila.
"The Laravel team released v13.36.0 with Rule:: builders for the validation rules that only had string syntax, DB::olap() for large queries on PlanetScale and other Vitess databases, an opt-in reset of sticky database connections between queue jobs, synchronous Mercure broadcasts by default, and more." – Laravel News
- Construtores
Rule::para regras comorequired_with,url,uuidedistinct; - Método
DB::olap()que alterna a carga de trabalho para OLAP em conexões Vitess; - Flag
Worker::$flushStickyConnections = truepara resetar conexões sticky entre jobs; - Broadcasts Mercure agora síncronos por padrão, com opção
MERCURE_ASYNC=truepara manter o modo assíncrono; - Suporte a atributos
#[DeleteWhenMissingModels]e#[FailOnTimeout]em mailables enfileirados; - Correções de escape em Markdown mail e diversas melhorias de desempenho.
Construtores de regras de validação: o pull request #61833 introduziu um método Rule:: para cada regra que antes só podia ser declarada como string. Isso permite autocompletar no IDE e evita a fragmentação de valores contendo vírgulas, pois parâmetros são passados como array ao validador.
DB::olap(): o pull request #61932 adiciona olap() e isVitess() à conexão MySQL. Em ambientes PlanetScale, onde consultas OLTP são limitadas a 100 mil linhas, o método executa o callback em modo OLAP, alterando temporariamente a carga de trabalho nas conexões de leitura e escrita. Em servidores MySQL padrão, o callback simplesmente roda, garantindo compatibilidade.
Reset de conexões sticky: ao habilitar sticky em conexões read/write, escritas posteriores podem ser redirecionadas para a conexão de escrita, o que afeta jobs subsequentes no mesmo worker. O novo flag, introduzido no pull request #61915, permite limpar esse estado antes de cada job, evitando leituras inconsistentes. O recurso permanece desativado por padrão para manter compatibilidade com fluxos que dependem do estado.
Broadcasts Mercure síncronos: a mudança feita por Kévin Dunglas (#61977) faz com que eventos direcionados ao hub Mercure sejam enviados imediatamente, similar ao comportamento de ShouldBroadcastNow. Para quem prefere o modelo assíncrono, basta definir MERCURE_ASYNC=true e configurar MERCURE_URL. A alteração também corrige falhas ao usar BROADCAST_CONNECTION=mercure sem URL.
Mailables enfileirados: os atributos #[DeleteWhenMissingModels] e #[FailOnTimeout] agora são respeitados (#61899), garantindo que jobs de email sejam removidos quando o modelo associado for excluído ou que falhas de timeout sejam marcadas como falhas ao invés de serem reprocessadas.
Fonte: Laravel News