1.4.0 sürümü, mevcut kurulumların büyük çoğunluğunu etkileyen altı kırılgan değişiklik içeriyor. En kritik olanı, tüm URL segmentlerinde alt çizgi yerine kısa çizgi kullanan ve küçük harf zorunluluğu getiren yeni slug sistemidir. Bu rehber her değişikliği ayrıntıyla ele alıyor, öncesi-sonrası kod karşılaştırmaları sunuyor ve güncelleme sürecinin %80'ini otomatikleştiren bir taşıma betiği içeriyor.
Slug sistemi değişikliği en geniş etki alanına sahip kırılgan değişiklik. URL'lerinde alt çizgi barındıran her sayfa, taşıma betiğini çalıştırmadan 1.4.0'a geçişten sonra bozulacak. JekCMS 1.4.0 ile birlikte gelen php tools/migrate-slugs.php --dry-run komutu herhangi bir değişiklik yapmadan önce etkilenecek kayıtları listeler. Bu komutu her zaman veritabanı yedeği üzerinde çalıştırın; doğrudan production üzerinde denemeyin. Hazır hissettiğinizde --dry-run bayrağını kaldırıp komutu tekrar çalıştırın.
$config Değişkeni Artık Yok
İkinci kritik değişiklik global $config süperküreselinin kaldırılması. Yapılandırma değerlerine artık Config::get('anahtar') veya kısayol fonksiyonu olan config('anahtar') üzerinden erişilmeli. $config'u doğrudan okuyan herhangi bir tema ya da eklenti 1.4.0'da tanımsız değişken hatasıyla başarısız olacak. Yükseltmeden önce kod tabanınızda grep -r "\$config\[" . ile arama yapın ve bulunan her kullanımı güncelleyin.
Oturum Depolaması Dosyadan Veritabanına Taşındı
Oturum yönetimi dosya tabanlıdan veritabanı tabanlı depolamaya geçti. Bu değişiklik çok sunuculu kurulumların güvenilirliğini artırıyor ve bazı paylaşımlı hostlarda aralıklı giriş başarısızlıklarına neden olan izin sorunlarını ortadan kaldırıyor. Geçiş için yükseltilmiş kuruluma ilk istek gelmeden önce php tools/migrate-sessions.php çalıştırılması gerekiyor. Halihazırda giriş yapmış kullanıcılar bir kez oturumdan çıkacak.
Taşıma Betiği Ne Yapıyor?
tools/migrate-1.4.php betiği slug yeniden yazımını, gönderi içeriğindeki dahili bağlantı güncellemesini, önbellek temizliğini ve site haritası yenilenmesini tek seferde gerçekleştiriyor. Her değişikliği logs/migration-1.4.log dosyasına kaydediyor. %80 otomasyon rakamı, siz tarafınızdan sağlanması gereken bir type_map yapılandırma dosyası gerektiren özel gönderi türü slug eşlemesini kapsam dışı bırakıyor.