โ† Semua pembelajaran / Laravel Nol โ†’ Enterprise
Fase 10 ยท Enterprise & Capstone

Strategi upgrade & versi

Aplikasi yang tertinggal beberapa versi mayor bukan gagal karena satu keputusan besar, melainkan karena ratusan keputusan kecil untuk menundanya. Menjaganya tetap terkini jauh lebih murah daripada mengejar ketertinggalan.

Sumber asli laravel.com Resmi Rangkuman ~6 menit baca

Intisari

  • Rilis mayor setiap tahun sekitar Q1; perbaikan bug 18 bulan, perbaikan keamanan 2 tahun.
  • Rilis minor dan patch tidak pernah memuat perubahan yang memutus โ€” aman diotomatiskan.
  • Laravel 13 sengaja meminimalkan perubahan yang memutus; sebagian besar aplikasi bisa naik tanpa banyak mengubah kode.
  • Laravel Shift mengotomatiskan sebagian besar pekerjaan mekanisnya.
  • Yang menentukan lancar-tidaknya upgrade adalah suite tes dan jumlah paket pihak ketiga.

Kalender rilis

VersiPHPRilisPerbaikan bugPerbaikan keamanan
118.2 โ€“ 8.412 Mar 20243 Sep 202512 Mar 2026
128.2 โ€“ 8.524 Feb 202513 Agu 202624 Feb 2027
138.3 โ€“ 8.517 Mar 2026Q3 202717 Mar 2028

Kolom terakhir adalah tenggat yang sesungguhnya. Setelah tanggal itu, kerentanan keamanan yang ditemukan tidak akan diperbaiki untuk versimu. Untuk aplikasi yang menangani data pengguna, berjalan di atas versi yang tidak lagi menerima perbaikan keamanan adalah risiko yang biasanya tidak diterima oleh audit apa pun. Rencanakan upgrade sebelum tanggal itu, bukan sesudah.

Tiga jenis pembaruan

JenisContohRisikoCara
Patch13.2.4 โ†’ 13.2.5Sangat rendahOtomatis, mingguan
Minor13.2 โ†’ 13.5RendahOtomatis, dengan tes sebagai gerbang
Mayor12 โ†’ 13SedangCabang khusus, terencana
composer update --with-all-dependencies    # dalam batas ^13.0 โ€” aman
composer outdated --direct                 # apa yang tertinggal

Otomatiskan patch dan minor. Dependabot atau Renovate yang membuka pull request mingguan, dengan suite tes sebagai gerbang, membuat pembaruan kecil menjadi rutinitas yang tidak perlu dipikirkan. Yang mahal bukan sepuluh pembaruan kecil yang dilakukan tepat waktu โ€” melainkan satu pembaruan besar yang menumpuk dua tahun.

Alur upgrade mayor

  1. Baca panduan upgrade resminya dari awal sampai akhir. Ia mengelompokkan perubahan berdasarkan kemungkinan dampaknya.
  2. Pastikan suite tes hijau di versi lama. Jangan pernah mulai upgrade dengan tes yang merah.
  3. Buat cabang khusus. Naikkan versi PHP lebih dulu kalau memang diperlukan.
  4. Naikkan laravel/framework dan paket pihak pertama bersamaan.
  5. Perbaiki sampai composer update berhasil, lalu sampai tes hijau, lalu sampai PHPStan hijau.
  6. Jalankan di staging dengan lalu lintas yang menyerupai produksi.
  7. Rilis dengan rencana rollback yang jelas โ€” revisi task definition sebelumnya.
composer require laravel/framework:^13.0 --with-all-dependencies
php artisan test
./vendor/bin/phpstan analyse
./vendor/bin/pint

Yang biasanya jadi penghambat

PenghambatPencegahan
Paket pihak ketiga yang belum mendukungPilih paket yang terpelihara; periksa riwayat rilisnya sebelum memasang
Paket yang sudah ditinggalkanGanti sebelum ia jadi penghalang
Suite tes yang tipisIni investasi yang terbayar persis di momen ini
Kode yang bergantung pada internal frameworkPakai API publik; jangan mewarisi kelas internal
Versi PHP yang tertinggalNaikkan PHP secara terpisah, sebelum menaikkan Laravel

Paket pihak ketiga adalah penyebab nomor satu upgrade yang tertunda. Sebelum memasang paket baru, periksa tiga hal: kapan rilis terakhirnya, apakah ia sudah mendukung versi Laravel terkini, dan berapa lama jeda antara rilis Laravel dan dukungannya pada upgrade sebelumnya. Paket yang butuh enam bulan untuk mendukung versi baru akan menahan seluruh aplikasimu selama enam bulan itu.

Laravel Shift

Layanan berbayar yang mengotomatiskan sebagian besar pekerjaan mekanis upgrade dan menghasilkan pull request. Ia tidak menyelesaikan segalanya โ€” perubahan yang bergantung pada logika aplikasi tetap perlu tangan manusia โ€” tapi ia menyelesaikan bagian yang membosankan dan mudah terlewat. Untuk lompatan beberapa versi sekaligus, biayanya biasanya jauh lebih kecil daripada waktu yang dihemat.

Menjaga agar tidak tertinggal lagi

  1. Jadwalkan upgrade mayor sebagai pekerjaan rutin tahunan, bukan sebagai proyek yang harus disetujui.
  2. Lakukan dalam beberapa bulan setelah rilis โ€” saat itu ekosistem paket sudah menyusul, tapi kamu belum tertinggal.
  3. Otomatiskan pembaruan patch dan minor sepenuhnya.
  4. Jaga suite tes tetap bermakna; ia adalah alat upgrade-mu yang sesungguhnya.
  5. Catat setiap penyimpangan dari konvensi Laravel โ€” di situlah upgrade akan tersandung.
  6. Naikkan versi PHP secara terpisah dari versi Laravel; dua perubahan besar sekaligus menyulitkan diagnosis.

Kalimat yang layak diingat: biaya upgrade tumbuh lebih cepat daripada linear terhadap waktu yang ditunda. Naik satu versi biasanya pekerjaan beberapa hari; naik empat versi sekaligus adalah proyek berbulan dengan risiko yang jauh lebih besar โ€” karena kamu tidak lagi bisa membedakan mana kerusakan yang berasal dari perubahan yang mana.

Latihan: jalankan composer outdated --direct pada proyekmu dan catat paket mana yang tertinggal versi mayor. Untuk setiap paket, cek kapan rilis terakhirnya. Daftar yang kamu dapat adalah peta risiko upgrade proyekmu โ€” dan biasanya lebih pendek, tapi lebih mengkhawatirkan, daripada dugaan.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.