Sürüm notları
Sürüm sürüm ne değişti
Bunlar, yönettiğiniz WordPress sitelerine kurulan WP Safer ajanının (eklentisinin) sürümleri. Siteleriniz bu sürümlere panelden ya da izin verirseniz kendiliğinden güncelleniyor.
Güncel ajan sürümü: 1.5.14
-
- Tek dosyalık bir eklentiyi güncellemek artık diğer eklentileri kaldırmıyor. Kendi klasörü olmadan doğrudan eklentiler klasöründe tek bir dosya olarak duran bir eklenti (en bilineni Hello Dolly), güncellemenin tüm eklentiler klasörünü o eklentinin klasörü sanmasına yol açıyordu. Böyle bir güncelleme ilerleyemediğinde geri alma o klasörü boşaltıyor, sitedeki bütün eklentiler de onunla gidiyordu. Tek dosyalık bir eklenti artık yalnızca o dosya olarak yedekleniyor ve geri yükleniyor, indirmesi WordPress.org'daki gerçek adıyla aranıyor ve güncellemenin hiçbir adımı eklentiler klasörünün kendisini boşaltamıyor.
- Eski güncelleme kopyaları artık eklenti başına temizleniyor. Bir eklentiden kalan kopyalar silinirken, adı aynı şekilde başlayan başka bir eklentinin kopyaları da silinebiliyordu.
-
- Dosya adı geçerli UTF-8 olmayan sitelerde yedekler artık boş çıkmıyor. Böyle tek bir ad — genellikle eski bir sunucudan taşınmış Latin-1 bir ad — yedeğin dosya listesinin yazılmasını engelliyordu; yedek de yalnızca veritabanını içeriyordu. Bu adlar artık güvenle saklanıyor ve dosya arşive diskteki adıyla birebir giriyor. Dosya listesi yine de yazılamazsa yedek, boş bir arşivle bitmek yerine açık bir hatayla duruyor.
- Geri yüklemeler bu dosyaları aynı adla geri koyuyor. Arşivdeki adlar saklandıkları gibi okunuyor; böylece UTF-8 olmayan bir ad, geri dönüşte başka bir ada dönüşmüyor.
-
- Eklentinin kendi ekranları yeniden tümüyle Türkçe. Son çeviri turundan bu yana eklenen altmış üç cümle — güvenlik eklentisi izin listesi, WordPress ağı kuralları, yedek iptali ve birkaç hata mesajı — Türkçe sitelerde hâlâ İngilizce görünüyordu. Hepsi artık çevrildi; eklentinin yazdığı her metnin Türkçesi var.
-
- Güncellemeler artık WordPress.org'dan geliyor. Ajan resmî eklenti dizininde olduğu için yeni sürüm, sitenizin Eklentiler ekranında diğer eklentiler gibi görünüyor ve paket kendi sunucularımız yerine WordPress.org'dan indiriliyor. Güncellemeyi kendiniz yapabiliyorsunuz, panel de yine sizin için yapıyor. Site anahtarınız, ayarlarınız ve yedekleriniz bundan etkilenmiyor.
- Türkçe çeviri yeniden paketin içinde geliyor. Dizin paketi onu dışarıda bırakmıştı; bu yüzden WordPress.org'dan güncellenen bir site ajanın kendi ekranlarını İngilizce görecekti. Derlenmiş Türkçe dosya, translate.wordpress.org onu taşıyana kadar paketle birlikte geliyor; WordPress'in gönderdiği bir çeviri ise kendiliğinden onun önüne geçiyor.
- "Bizi değerlendirin" bağlantısı artık ajanın WordPress.org'daki değerlendirme sayfasına gidiyor. Dizin kaydı yokken gidecek bir yeri yoktu.
-
- Bir saatten eski bir yedek yeniden indirilebiliyor. Panel bir siteye en son yedeğini sorduğunda site, o cevabın bir gün sakladığı kopyasından yanıt veriyordu — ama cevabın içindeki indirme adresleri yalnızca bir saat geçerliydi. Böylece kalan yirmi üç saat boyunca site yedeği hazır bildiriyor, ardından kendi indirme kapısının reddettiği adresleri veriyordu. Arşivlerin kendisi hiç etkilenmedi ve hiç silinmedi; yalnızca adresler bayatlamıştı. Adresler artık bu cevap her verilişinde yeniden üretiliyor.
- Bir yedeğin ne kadar sürdüğü, saat dilimi UTC olmayan sitelerde doğru bildiriliyor. Yedeğin başladığı an sitenin yerel saatiyle kaydediliyor ama UTC'ye göre ölçülüyordu; bu yüzden UTC'den üç saat ileri bir sitede yirmi dakika süren bir yedek eksi iki buçuk saat sürmüş gibi bildiriliyordu — aynı yanlış değer sitenin yedek günlüğüne de yazılıyordu. İkisi artık aynı saati kullanıyor; eski bir sürümden kalan değer de negatif bir sayı yerine sıfır olarak okunuyor.
-
- Panelin yeni bir çıkış adresi var. WP Safer'ın sunucusu taşındı; bu yüzden panelin sitenize ulaştığı adres 65.21.186.173'ten 188.245.5.241'e değişti. Ajan yalnızca bu adresten gelen çağrıları kabul ediyor, dolayısıyla eski adresi tutan bir site paneli geri çeviriyor ve hiçbir şey bildirmiyor. Güncellemek bunu çözüyor.
- Bu adres artık wp-config.php'den verilebiliyor. define('WPSAFER_IP_WHITELIST', '188.245.5.241'); satırını eklediğinizde bu değer, ajanın içindeki değerin önüne geçiyor. Amacı şu: ileride bir adres değişikliğiyle dışarıda kalan bir site, bir sonraki güncellemenin geri alacağı eklenti içi bir düzenleme yerine tek satırla kurtarılabilsin.
- Adres kontrolü, isteğin biçimlendirilme şekliyle atlanabiliyordu. Kontrol ilk eylemi birebir konumundan okuyordu; bu yüzden eylemlerini başka bir konum altında sıralayan bir istek adres listesine karşı hiç kontrol edilmeden çalışıyordu. Konumlar artık kontrolden önce normalleştiriliyor. Buraya kadar gelen bir çağrının yine sitenin anahtarını taşıması gerekiyordu — imza her zaman doğrulanıyordu — yani bu, kilidin kendisi değil ikinci bir çitti.
-
- Büyük bir sitenin taraması artık eskisinin yarısı kadar bellek istiyor — 18.742 dosyalı bir sitede bir karşılaştırma turu için 32 MB yerine 16 MB. Taramanın bildirdiği şey değişmiyor: değişen, eklenen ve silinen dosyalar yine aynı şekilde bulunuyor, değişmemiş dosyalar yine okunmadan atlanıyor.
- Saklama biçimi değiştiği için bu güncellemeden sonraki ilk tarama sitenin taban çizgisini sıfırdan kuruyor. O tur bilerek hiçbir bulgu bildirmiyor — henüz karşılaştırılacak bir şey yok — ondan sonraki tur yine normal şekilde karşılaştırıyor.
-
- PHP belleği tükenen bir site artık panele bunu söylüyor; yalnızca bozuk görünmüyor. O durumda WordPress her isteğe kendi genel "kritik hata" sayfasıyla cevap verdiği için panel bir hatadan başka bir şey bildiremiyordu; artık asıl nedeni, sitenin PHP sürümünü ve bellek sınırını da alıyor. Böylece daha fazla belleğe ihtiyacı olan bir site, gerçekten bozuk olan bir siteden ayırt edilebiliyor.
- Panel artık sitenin gerçek PHP bellek sınırını ve ajanın bu sınırı yükseltmesine izin verilip verilmediğini gösteriyor. Bazı barındırmalar sınırı öyle sıkı sabitliyor ki daha fazla bellek isteği hiçbir hata vermeden yok sayılıyor — yani bir yedek, elindekinin dört katı belleğe sahip olduğunu sanabiliyordu. Yedek günlüğü artık bunun olduğunu kaydediyor.
- Kendi taban çizgisini okuyamayan bir tarama artık sitedeki her dosyayı yeni eklenmiş gibi bildirmiyor. PHP belleği yetersiz bir sitede tarama, siteyi düşürmemek için taban çizgisini okumayı doğru şekilde atlıyor, ama sonra hiçbir şeyle karşılaştırmaya devam ediyordu; böylece temiz bir site binlerce yeni dosyayla bildirilebiliyordu. Böyle bir tur artık ne olduğuyla ele alınıyor: hiçbir yönde bulgu iddia etmeyen yeni bir taban çizgisi, ve nedeni kaydediliyor.
- Büyük bir sitenin taraması bunun dışında da belirgin şekilde daha az bellek kullanıyor: kontrol edilecek dosya listesi artık bütünüyle bellekte tutulmuyor, dolayısıyla maliyeti sitenin büyüklüğüyle birlikte artmıyor. Tarama sonuçları değişmedi.
-
- Bir eklentiyi güncellemek artık onu açmıyor. Bilerek devre dışı bıraktığınız bir eklenti, panelden güncellendiği anda etkinleştiriliyordu — yani güncelleme, sessizce sitede kodu yeniden hizmete alıyordu. Güncelleme artık eklentiyi olduğu gibi bırakıyor: devre dışı olan devre dışı kalıyor, etkin olan sonradan eskisi gibi yeniden açılıyor. WordPress ağında, ağın tamamı için etkin bir eklenti yalnızca ana site için değil, yine ağın tamamı için açılıyor.
-
- Büyük sitelerin yedeği arşiv büyüdükçe artık ilerlemez hâle gelmiyor. Her dosya yığını eklendiğinde arşivin tamamı baştan yazılıyordu; 6 GB'lık bir yedek, her birkaç megabaytlık ilerleme için gigabaytları yeniden yazıyordu — süresi sıkı sınırlanmış barındırmalarda ise hiç ilerlemediği bir boyuta ulaşabiliyordu. Arşiv artık ciltler hâlinde kuruluyor, dolayısıyla kapatmak hiçbir zaman bir cilt kadardan fazlasına mal olmuyor ve yedek alınırken sitede çok daha az boş alan gerekiyor.
- Cilde ihtiyaç duymayacak kadar küçük siteler, eskisiyle tamamen aynı tek arşivi üretiyor.
-
- Süren ya da ilerlemesi durmuş bir yedek artık panelden durdurulabiliyor. Şimdiye kadar bir yedeği geri çağırmanın yolu yoktu: takılan bir iş, sistem ondan vazgeçene kadar iki saat boyunca "sürüyor" olarak listelenip kalıyordu ve bu süre boyunca o sitenin yeni bir yedeği onun yerini alamıyordu. Durdurmak, arkasında bıraktığı yarım arşivi temizliyor; gerçekten aldığınız son yedeğe dokunulmuyor.
-
- WordPress çekirdek güncellemesinden önce alınan yedek artık medya kitaplığınızı kopyalamıyor. Çekirdek güncellemesi uploads klasörünüze hiçbir şey yazmadığı için onu kopyalamak geri almaya kullanılabilecek bir şey katmıyordu — büyük bir sitede bu, karşılığı olmayan gigabaytlar ve saatler demekti. Yedek, çekirdek güncellemesinin dokunduğu her şeyi taşımaya devam ediyor: WordPress'in kendisi, temalarınız ve eklentileriniz, çevirileriniz ve veritabanı. Böyle bir arşiv ayrıca etiketleniyor ve geri yüklenmesi medyanızı olduğu yerde bırakıyor.
- Yedek artık bakamadığı tek bir dosya ya da klasör yüzünden tamamen düşmüyor. Bazı barındırmalar wp-content içine, sitenin okumasına izin verilen alanın dışını gösteren bağlar koyuyor; bunlardan biri yedeğin tamamını ilk saniyesinde durduruyordu, yani sitede hiç yedek kalmıyordu. Böyle bir girdi artık atlanıyor — ve asla sessizce atlanmıyor: yedek günlüğü kaç girdiye bakılamadığını kaydediyor ve ilkinin adını veriyor, çünkü bakılmamış bir dosya arşivde yok demektir.
- Panel artık süren bir yedeğin ne kadar ilerlediğini gösteriyor; yalnızca bir yedek olduğunu söylemiyor. Rakam, yedeğin kendi işindeki konumundan geliyor — veritabanı dökümü, sonra dosyalar, sonra arşivin kapatılması — böylece ilerlemesi durmuş bir iş, yol alan bir işle aynı görünmüyor.
-
- Aynı siteyi bir gün içinde iki kez geri yüklemek artık arkada temelli bir veritabanı tablosu seti bırakmıyor. Geri yükleme, yerine geçtiği tabloları geri alınabilmesi için 24 saat kenara alıyor; bu süre içinde başlatılan ikinci bir geri yükleme ilk seti yetim bırakıyordu ve onu bir daha hiçbir şey kaldırmıyordu. Bu setler artık olayların sırası ne olursa olsun temizleniyor; eski sürümlerden kalanlar da kendiliğinden, bir kez kaldırılıyor.
-
- WordPress ağındaki birden çok siteden biri artık kendi başına yedeklenip geri yüklenebiliyor. Ağın tamamı tek bir veritabanını ve tek bir içerik klasörünü paylaştığı için, bir siteden alınan yedek sessizce ağdaki diğer bütün siteleri de içinde taşıyordu — ve onu geri yüklemek hepsini birden geriye almış olurdu. Yedek artık yalnızca alındığı siteyi ve o sitenin kendi uploads klasörünü kapsıyor.
- Hesaplar ve ağın kendi kayıtları tek bir sitenin geri yüklemesinin dışında tutuluyor; böylece bir siteyi geri getirmek diğerlerinde kimsenin oturumunu kapatmıyor, ağın onlar hakkında bildiklerini de değiştirmiyor. Yedek ayrıca hangi siteden geldiğini söylüyor ve başka hiçbir yerde kabul edilmiyor, gerekçesiyle — ağdaki her site aynı adreste cevap verdiği için adres tek başına onları birbirinden ayıramıyordu.
- Geri yüklemeden sonraki gün içinde alınan yedekler artık gereksizce iki katı büyüklükte olmuyor. Geri yükleme, geri alınabilmesi için yerine geçtiği her şeyin bir kopyasını 24 saat tutuyor ve bu kopyalar bir sonraki yedeğe süpürülüyordu — bu da o yedeğin sonradan geri yüklenmesini imkânsız kılıyordu.
-
- WordPress ağları (multisite) artık sıradan tek siteler gibi ele alınmıyor, ne oldukları anlaşılıyor. Panel bir ağdaki siteleri listeleyebiliyor, her birini kendi başına bağlayabiliyor ve hangi eklentilerin tek bir site için değil ağın tamamı için açık olduğunu görebiliyor.
- Ağın tamamı için etkin olan bir eklentiyi kapatmak artık kazayla olmuyor. WordPress böyle bir isteği "her yerde kapat" olarak anladığı için, tek bir sitede istendiğinde eklenti hiçbir şey söylenmeden ağdaki bütün sitelerden kalkıyordu. İstek artık gerekçesiyle reddediliyor ve yalnızca ağın tamamı açıkça kastedildiğinde yürütülüyor.
- WordPress çekirdeğini güncellemek ya da bir eklentiyi veya temayı silmek artık yalnızca ağın ana sitesinden kabul ediliyor: bu dosyalar ağdaki her sitenin ortak dosyaları, yani değişiklik hiçbir zaman gerçekten istendiği tek siteyle ilgili değildi. Çekirdek güncellemesinden sonra panele, ağdaki her sitenin hâlâ kendi veritabanı adımına ihtiyacı olduğu bildiriliyor ve panel bu adımı çalıştırabiliyor.
- Temalar ilgili site için etkin olup olmadıklarını bildiriyor; etkin olmayan bir tema, site sessizce kullanamayacağı bir temaya geçirilmek yerine panelden ağ için etkinleştirilebiliyor.
-
- WordPress'teki ajan ekranındaki "WP Safer'a izin ver" düğmesi düzeltildi: önce "Bağlantıyı test et"e basmadıkça hiçbir şey yapmıyordu, ondan sonra da tek bir tık isteği birkaç kez gönderebiliyordu.
- Güvenlik eklentisi kartı artık eklenti adını tek harf genişliğinde bir sütuna sıkıştırmıyor; ad, durum rozetiyle düğmenin üstünde kendi satırında duruyor.
-
- Sitenizdeki bir güvenlik eklentisi paneli süzüyorsa ajan artık bunu size söylüyor ve tek düğmeyle düzeltmeyi öneriyor. Panelin bağlandığı adres Wordfence, Jetpack, Solid Security ya da Limit Login Attempts Reloaded'ın izin listesine ekleniyor — ama yalnızca "WP Safer'a izin ver" düğmesine bastıktan sonra. Başka bir eklentinin ayarlarına kendiliğinden hiçbir şey yazılmıyor.
- Her güvenlik eklentisi ayrı ayrı onaylanıyor ve geri alınabiliyor. Geri alma Solid Security, Limit Login Attempts Reloaded ve Jetpack'in kaba kuvvet korumasında anında etkili oluyor; girdi Jetpack'in güvenlik duvarı listesinden gerçekten kaldırılıyor.
-
- Dosya bütünlüğü taraması artık işaretlediği dosyaların içine de bakıp ikinci bir göz gerektiren kod desenlerini arayabiliyor. Kontrol varsayılan olarak kapalı, panelden site bazında açılıyor. Hiçbir dosyaya zararlı demiyor: bulduğu deseni ve geçtiği satırı söylüyor, karar sizde kalıyor. Hiçbir şey karantinaya alınmıyor ya da silinmiyor.
- Yalnızca zaten dikkat çekmiş dosyalar açılıyor: resmî sürümüyle eşleşmeyen dosyalar, bulunduğu yere ait olmayan dosyalar, sürümü değişmediği hâlde içeriği değişmiş bir eklenti ya da temaya ait dosyalar ve uploads altındaki çalıştırılabilir dosyalar. Kontrol kapalıyken tek bir fazladan dosya bile okunmuyor.
- Desen listesi ajanla birlikte geliyor ve onunla güncelleniyor. Panel yalnızca kontrolün açık olup olmadığını gönderiyor; sitenize desen gönderemiyor.
-
- Dosya bütünlüğü taraması, diskteki paket iddia ettiği sürüm değilse artık o eklenti ya da temayı dosya dosya listelemiyor. Klasör tek satır olarak, arkasındaki dosya sayısıyla birlikte bildiriliyor; gerçekten oraya ait olmayan dosyalar yine tek tek listeleniyor.
- Barındırmanın kendi oluşturduğu dosyalar — nerede olursa olsun PHP'nin error_log'u, cPanel'in .ftpquota'sı — ve uploads altındaki derlenmiş şablon önbellekleri artık raporu doldurmuyor. Tek başına duran bir dosya, ne kadar kısa olursa olsun yine bildiriliyor.
- WordPress 6.5 ve sonrasının eklentinin kendi languages klasörüne yazdığı derlenmiş çeviri dosyaları artık beklenmedik dosya olarak bildirilmiyor.
-
- Tarama, barındırmanın okumasına izin vermediği tek bir klasör yüzünden yarıda kalmıyor. O girdi atlanıyor, sitenin geri kalanı normal şekilde taranıyor ve raporda kaç girdiye bakılamadığı yazıyor — bakılmamış bir klasör temiz sayılmaz.
- Aynı noktada takılan bir tarama artık birkaç denemeden sonra duruyor ve asıl hatanın ne olduğunu bildiriyor; dakikalarca deneyip bir sınır mesajıyla bitmiyor.
-
- Panelden bir temayı silmek artık siteden gerçekten kaldırıyor. İstek çoğu sitede daha ilk adımda düşüyordu ve panel bunu başarılı sayıyordu.
- Silme isteği artık temalar dizininin kendisine ya da etkin temaya (ve dayandığı ana temaya) yöneltilemiyor.
-
- Paneldeki tahmini yedek boyutu artık yedeğin gerçekten topladığı dosyaları ölçüyor. Sitede kalmış eski arşivler, önbellekler, günlük dosyaları ve node_modules klasörleri, hiçbirinin girmediği bir yedeği anlatan rakama ekleniyordu.
-
- Ajan artık yayınlandığı adla aynı addaki dizine kuruluyor; klasörü ile taşıdığı kimlik örtüşüyor. Bir sitede yalnızca tek bir kopyası bulunabiliyor.
-
- Bir sitede ajanın iki kopyası birden bulunursa ilk yüklenen çalışıyor, diğeri onunla yarışmak yerine kendini devre dışı bırakıyor. Yönetim ekranı hangi dizinin fazladan olduğunu söylüyor; iki kopya aynı site anahtarını paylaştığı için site her hâlükârda bağlı kalıyor.
-
- WordPress yönetim alanı için IP izin listesi güvenlik duvarı panelden site bazında yönetiliyor: tek adresler (IPv4 ve IPv6), CIDR aralıkları, 192.168.1.* gibi joker adresler ve 1.2.3.10-50 gibi aralıklar. Listenin okuyamadığı her giriş sessizce atılmak yerine geri bildiriliyor.
- admin-ajax.php ve admin-post.php varsayılan olarak filtrelenmiyor (siteyi ziyaret edenler de bunları kullanıyor); adresi belirlenemeyen bir istek de kimseyi dışarıda bırakmamak için geçiriliyor.
Güncellemeler kendiliğinden geliyor
Panel, siz istediğinizde ya da otomatik güncellemeyi açtıysanız yeni ajan sürümünü sitelerinize kendiliğinden kuruyor. Buradaki hiçbir şey için FTP gerekmiyor.