Perilisan Laravel 13 membawa berbagai pembaruan yang memanjakan developer experience (DX). Mulai dari first-party AI SDK hingga konfigurasi berbasis atribut PHP native, berikut adalah deretan fitur baru dan perubahan penting yang perlu Anda ketahui.
1. Laravel AI SDK Bawaan
Laravel 13 memperkenalkan Laravel AI SDK sebagai paket resmi first-party. SDK ini menyediakan API terpadu untuk kebutuhan integrasi AI tanpa memerlukan package pihak ketiga yang rumit:
- Text & Image Generation: Pembuatan teks, gambar, dan audio langsung lewat method terintegrasi.
- Tool-Calling Agents: Eksekusi agentic task berbasis function calling.
- Embeddings & Vector Store: Pembuatan embeddings teks secara otomatis.
2. Expanded Native PHP Attributes
Penggunaan properti kelas seperti $fillable, $table, atau $connection kini bisa digantikan dengan PHP 8 Attributes yang lebih bersih dan deklaratif:
#[Table('users', key: 'user_id')]
#[Fillable(['name', 'email'])]
#[Hidden(['password'])]
class User extends Model {}#[Connection('redis')]
#[Queue('podcasts')]
#[Tries(3)]
class ProcessPodcast implements ShouldQueue {}
3. Native Semantic / Vector Search
Pencarian berbasis kemiripan makna (semantic search) kini didukung langsung lewat Query Builder. Bekerja secara native dengan PostgreSQL (pgvector) dan vector database pendukung:
$documents = DB::table('documents')
->whereVectorSimilarTo('embedding', 'Panduan install Laravel')
->limit(5)
->get();
4. Native JSON:API Resources
Membuat REST API berbasis standar spesifikasi JSON:API kini jauh lebih mudah. Laravel 13 menangani serialisasi objek, penuangan relasi (relationship inclusion), hingga penyusunan header respons secara otomatis.
5. Queue Routing Terpusat
Penetapan kustomisasi koneksi dan nama queue untuk job tertentu kini dapat didefinisikan secara terpusat lewat method Queue::route():
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');
6. Perpanjang TTL Cache dengan Cache::touch()
Untuk memperpanjang durasi kadaluarsa (Time-To-Live) suatu cache, Anda tidak perlu lagi melakukan Cache::get() lalu Cache::put(). Method Cache::touch() memperbarui durasi simpan secara langsung di level storage (misal: EXPIRE pada Redis), sehingga jauh lebih efisien memori dan eksekusi.
Cache::touch('user_session_123', ttl: 3600);
Persyaratan Minimal & Catatan Upgrade
- PHP Version: Minimal PHP 8.3.
- Breaking Changes: Sangat minimal, membuat migrasi dari Laravel 12 terasa lancar.
- CSRF Middleware Rename: Middleware
VerifyCsrfTokendiubah menjadiPreventRequestForgery.