Gratis update & dukungan instalasi

News 17 Oct 2026

Laravel 13.37.0 Rilis 16 Oktober 2026: Dukungan JPEG XL, Queue Tools Baru & Dampaknya untuk Source Code Kamu

R Oleh renz mobellgnd
Laravel 13.37.0 Rilis 16 Oktober 2026: Dukungan JPEG XL, Queue Tools Baru & Dampaknya untuk Source Code Kamu

Laravel 13.37.0 Rilis 16 Oktober 2026: Dukungan JPEG XL, Queue Tools Baru & Dampaknya untuk Source Code Kamu

Laravel 13.37.0 resmi dirilis pada Jumat, 16 Oktober 2026 pukul 12:00 WIB (05:00 UTC). Rilis minor mingguan ini membawa dukungan format gambar JPEG XL (JXL) di Image API, opsi --queue untuk perintah queue:failed, kemampuan queue:forget menghapus banyak job sekaligus, opsi strict untuk Rule::numeric(), serta perbaikan race condition pada scheduler. Update aman dilakukan via composer update untuk semua pengguna Laravel 13.

Fakta singkat rilis

Item Detail
Versi13.37.0
Tanggal rilis16 Oktober 2026, 12:00 WIB (05:00 UTC)
Sumber resmiGitHub laravel/framework
Rilis sebelumnya13.36.0 (13 Oktober 2026), 13.35.0 (6 Oktober 2026)
Syarat PHPPHP 8.3+ (tidak berubah)
Sifat rilisMinor mingguan, tanpa breaking change yang diumumkan

Ini adalah rilis minor ketiga dalam 10 hari — setelah 13.35.0 pada 6 Oktober dan 13.36.0 pada 13/14 Oktober yang membawa Rule:: builders lengkap dan DB::olap(). Pola rilis mingguan Laravel memang seperti ini: fitur kecil yang stabil digulirkan cepat, bukan menunggu rilis mayor. Bagi pemilik source code, artinya update rutin tiap minggu adalah kebiasaan yang sehat, bukan beban.

Apa yang baru di Laravel 13.37.0?

1. Dukungan JPEG XL (JXL) di Image API

Ini fitur paling menarik di rilis ini. Laravel Image API kini bisa membaca, mengonversi, dan menyimpan gambar dalam format JPEG XL — mengikuti pola yang sama seperti dukungan HEIC dan AVIF sebelumnya.

Contoh penggunaannya, dikutip dari PR resmi:

use Illuminate\Support\Facades\Image;

$path = Image::fromStorage('avatars/photo.jpg', 'public')
->cover(400, 400)
->toJxl()
->quality(80)
->storePublicly('avatars', 'public');

Kenapa ini penting untuk pemilik source code? Format JXL menawarkan kompresi yang jauh lebih efisien dibanding JPEG klasik dengan kualitas visual setara — artinya gambar produk di source code toko online, marketplace, atau company profile bisa dimuat lebih cepat dengan ukuran file lebih kecil, yang berpengaruh langsung ke kecepatan website dan skor Core Web Vitals.

Batasan yang perlu diketahui dengan jujur: dukungan JXL di browser belum semerata JPEG atau WebP, jadi uji dulu di browser yang dipakai target penggunamu sebelum menjadikannya format default. Konversi format juga bergantung pada driver image di server (GD/Imagick) yang mendukung JXL — pastikan ekstensi servermu sanggup sebelum dipakai di production.

2. Perintah queue yang lebih praktis: queue:failed --queue dan queue:forget multi-ID

Dua peningkatan kecil tapi terasa untuk operasional harian:

# Lihat job gagal hanya dari queue tertentu
php artisan queue:failed --queue=emails

# Hapus beberapa failed job sekaligus (dulu satu per satu)
php artisan queue:forget 5f8a2c1e 9c2b7d4a 3e6f1a9c

Kalau source code-mu memakai queue untuk kirim email, notifikasi WhatsApp, atau generate invoice PDF — dan job gagal menumpuk — dua perintah ini menghemat waktu debugging secara nyata.

3. Rule::numeric(strict: true) melengkapi Rule:: builders

Rilis 13.36.0 kemarin menyelesaikan Rule:: builders untuk semua rule validasi. Rilis ini melengkapinya: Rule::numeric() kini menerima parameter strict yang setara dengan rule string numeric:strict.

use Illuminate\Validation\Rule;

$request->validate([
// Setara dengan 'numeric:strict' — menolak string numerik seperti "123"
'harga' => Rule::numeric(strict: true),
]);

Mode strict berguna saat kamu benar-benar butuh tipe numerik asli (misalnya harga atau jumlah stok dari API), bukan string yang "kelihatan angka". Detail lengkap soal Rule:: builders bisa dibaca di artikel Laravel 13.36.0 rilis 14 Oktober 2026.

4. Event ScheduledTaskFailed kini membawa runtime

Event yang dipicu saat scheduled task gagal sekarang menyertakan informasi runtime — durasi eksekusi task yang gagal. Ini memudahkan monitoring: kamu bisa mencatat berapa lama task berjalan sebelum gagal, dan membedakan task yang gagal cepat (kemungkinan error konfigurasi) dengan yang gagal setelah berjalan lama (kemungkinan timeout atau resource habis).

use Illuminate\Console\Events\ScheduledTaskFailed;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Log;

Event::listen(ScheduledTaskFailed::class, function ($event) {
Log::error('Scheduled task gagal', [
'command' => $event->task->command,
'runtime' => $event->runtime,
]);
});

5. Opsi detect_mime_type_using_path untuk disk SFTP/FTP

Disk SFTP dan FTP kini mendukung opsi detect_mime_type_using_path — berguna saat server remote tidak mengembalikan MIME type yang akurat dan kamu ingin Laravel menentukannya dari ekstensi path file:

'sftp' => [
'driver' => 'sftp',
'host' => env('SFTP_HOST'),
// ...
'detect_mime_type_using_path' => true,
],

6. Perbaikan kecil lain yang patut dicatat

  1. migrate:status tidak lagi melaporkan migrasi yang di-skip sebagai pending — output status migrasi kini lebih akurat.
  2. RedirectResponse kini bisa mengimplementasikan kontrak Responsable.
  3. Parameter Rule::when() dan Rule::unless() kini menerima Stringable.
  4. Pelaporan exception ditingkatkan (kontribusi Tim MacDonald).

Perbaikan bug penting di 13.37.0

Selain fitur, rilis ini membawa sekitar 30 perbaikan. Yang paling berdampak:

  1. Race condition scheduler — kombinasi onOneServer() dan withoutOverlapping() pada job yang sama kini ditangani dengan benar. Kalau kamu menjalankan scheduler di banyak server, ini perbaikan yang penting.
  2. Performa getForeignKeys pada MariaDB/MySQL di server dengan banyak database — relevan untuk shared hosting yang menampung ratusan database.
  3. Unique lock dilepas saat push job gagal — mencegah job "terkunci" selamanya karena kegagalan sesaat.
  4. Eloquent cursor() tidak lagi membuat instance model ekstra — hemat memori saat memproses data besar, misalnya export laporan.
  5. Perbaikan N+1 pada nested relationship JSON:API.
  6. Cast encrypted:object dan encrypted:collection tidak lagi selalu ditandai dirty — mengurangi update database yang tidak perlu.
  7. Attribute accessor yang di-cache tidak lagi mengembalikan nilai basi setelah atribut diubah.

Perbandingan tiga rilis terakhir

Rilis Tanggal Sorotan utama
13.35.06 Okt 2026Model defaults, perbaikan queue & scheduler
13.36.013 Okt 2026Rule:: builders lengkap, DB::olap(), broadcast Mercure sinkron
13.37.016 Okt 2026Dukungan JPEG XL, queue tools baru, Rule::numeric(strict:), perbaikan race condition scheduler

Catatan: pengguna Laravel 12 juga mendapat update — versi 12.70.0 dirilis 13 Oktober 2026 dengan backport perbaikan. Kalau source code-mu masih di Laravel 12, baca panduan cara upgrade Laravel ke versi terbaru untuk merencanakan migrasi.

Cara update yang aman

Untuk project Laravel 13 yang sudah berjalan:

composer update laravel/framework
php artisan --version

Checklist singkat sebelum update di production:

  1. Backup database dan file terlebih dahulu.
  2. Jalankan update di environment staging/local dulu.
  3. Jalankan test suite (php artisan test) bila tersedia.
  4. Cek composer.json — Laravel 13 tetap membutuhkan PHP 8.3+, jadi tidak ada keharusan upgrade PHP di rilis ini. Namun perlu diingat PHP 8.6 dijadwalkan rilis 19 November 2026 — baca checklist upgrade PHP 8.6 untuk persiapan.

FAQ

Kapan Laravel 13.37.0 dirilis?

Jumat, 16 Oktober 2026 pukul 12:00 WIB (05:00 UTC), sesuai catatan rilis resmi di GitHub laravel/framework.

Apakah aman update dari 13.36.0 ke 13.37.0?

Ya. Ini rilis minor mingguan tanpa breaking change yang diumumkan. Tetap lakukan backup dan uji di staging dulu — kebiasaan baik untuk semua update, sekecil apa pun.

Apa itu JPEG XL dan kenapa saya harus peduli?

JPEG XL (JXL) adalah format gambar modern dengan kompresi lebih efisien dibanding JPEG pada kualitas visual yang sama. Untuk source code toko online atau marketplace, gambar produk yang lebih kecil berarti halaman lebih cepat dimuat.

Apakah JXL bisa langsung dipakai di semua browser?

Belum. Dukungan browser untuk JXL belum semerata JPEG atau WebP — uji dulu di browser target penggunamu, atau sediakan fallback sebelum menjadikannya format utama.

Bagaimana cara memakai fitur JXL di kode saya?

Gunakan Image API: Image::fromStorage(...)->toJxl()->quality(80)->storePublicly(...). Pastikan driver image di server mendukung JXL.

Saya masih memakai Laravel 12, apakah dapat update ini?

Fitur baru 13.37.0 khusus Laravel 13. Namun Laravel 12.70.0 (rilis 13 Oktober 2026) membawa backport perbaikan penting. Untuk fitur terbaru, rencanakan upgrade mengikuti panduan upgrade Laravel.

Apa beda 13.37.0 dengan 13.36.0?

13.36.0 fokus pada Rule:: builders lengkap dan DB::olap(); 13.37.0 menambahkan dukungan JPEG XL, tooling queue baru, opsi strict untuk Rule::numeric(), dan perbaikan race condition scheduler. Lihat tabel perbandingan di atas.