ONOXSOFT sürüm geçmişi
Her panel sürümünde neler değişti — otomatik güncellemeyle sunucularınıza gelir. Toplam 23 sürüm, sol menüden gruba göre inceleyin.
🖥️ Sistem/panel güncellemesi: güncelleme sırasında panel düşmesi + yarıda kalma düzeltmesi
Sistem (dnf) güncellemesi panelin kendi PHP-FPM'ini (php82) güncelleyip yeniden başlattığında, güncelleme işlemi panelin FPM cgroup'unda çalıştığı için systemd tarafından öldürülüyordu ("Operation aborted") — güncelleme yarıda kalıyor ve panel kısa süre düşüyordu. Güncelleme işi artık systemd-run ile ayrı bir sistem cgroup'unda (system.slice) çalışır; panelin FPM'i yeniden başlasa bile güncelleme kesintisiz tamamlanır. Aynı koruma panel kendi kendini güncellerken de uygulandı.
Onoxsoft Panel 2026.7.9 — Sürüm Notları
Yayın: 2026-07-02
Bu sürüm, lisans sisteminin sıfır-kırılganlık hedefine yönelik kapsamlı bir sağlamlaştırma turudur. Çok-ajanlı adversarial denetimde bulunan tüm istismar edilebilir açıklar (bypass, tier-escalation, replay yüzeyleri, fail-open yolları) kapatıldı. Lisanslı sunucularda davranış aynıdır; yalnızca kötüye kullanım yolları kapanır.
🔒 Lisans yaptırımı bypass'ları kapatıldı
REST API artık lisans yaptırımı taşıyor. Önceden /api/v1/* uçları (hesap, DNS, SSL, yedek, bayi…) lisans kapısı taşımıyordu; lisans iptal/expire/killswitch sonrası bir API token'ı ile premium işlemler sürdürülebiliyordu. Artık API grubu da lisansı zorunlu kılar (geçersizse 402).
"Geliştirici modu" bypass'ı kaldırıldı. APP_URL=127.0.0.1 gibi bir ayarla, üretim sunucusunda bile tüm özellik kapıları açılabiliyordu. Artık geliştirici modu yalnızca APP_ENV=local/testing ile açılır (deployer kararı), gizli bir bypass yüzeyi değil.
Özellik "override" artık lisansı aşamaz. Yönetici bir özelliği geçici kapatabilir (bakım), ama veritabanına doğrudan satır yazarak lisansta olmayan bir premium özelliği açamaz. Override yalnızca "kapat" yönünde etkilidir.
Bayi (reseller) API'si özellik kapısı kazandı (feature:reseller) — reseller-özelliği içermeyen bir lisansta REST'ten bayi oluşturulamaz.
🎫 Lisans token'ı (JWT) sağlamlaştırma
JWT artık sunucuya bağlı (makine-pinli). Bir sunucudan alınan geçerli JWT, başka bir sunucuya kopyalanıp kullanılamaz — panel, token'ın bound_machine_id'sini yerel makine kimliğiyle karşılaştırır; eşleşmezse reddeder. Cross-tier korsanlık kapandı.
Kitle (audience) kontrolü — panel yalnız kendisi için basılmış (aud=onoxsoft-panel) token'ları kabul eder.
KillSwitch yalnız bu sunucuya ait yeni token ile temizlenir ve integrity_mismatch killswitch'i yalnız gerçek bütünlük düzelmesiyle kalkar (yabancı/ucuz bir lisansın token'ı yapıştırılarak temizlenemez).
🛡️ Bütünlük (integrity) ve kotalar
Boş/silinmiş bütünlük manifesti artık üretimde fail-closed. Önceden manifest boşsa bütünlük kontrolü "geçti" sayılıyordu (fail-open) — yazma yetkisi olan biri manifesti silerek tüm korumayı kapatabiliyordu. Artık üretimde boş manifest = kurcalama şüphesi.
Hesap kota (seat-cap) fail-open'ı kapatıldı. Lisans geçici olarak geçersiz çözüldüğünde (kuyruk işçisi/CLI'da ağ/bütünlük hatası), hesap oluşturma limiti "son-bilinen-iyi" değerle zorlanır — göç/toplu işlemler dahil.
🔁 Dayanıklılık
Grace (heartbeat) sayacı artık cache:clear/redis yeniden başlatmaya dayanıklı — duruma ek olarak diske de yazılır ve kill kararı hem sayaç hem de geçen-süre ile verilir; önbelleği temizleyerek kill saatini sonsuz erteleme sömürüsü kapanır.
KillSwitch tüm mail yığınını durdurur (Postfix/Exim/Dovecot/Rspamd/OpenDKIM…), yalnız Postfix+Dovecot değil; yeniden başlatmada yalnız etkin (enabled) MTA başlatılır (port-25 çakışması yok).
🩹 Bütünlük self-brick koruması (deploy güvenliği)
Lisans sunucusu bir sürüm (release) manifesti döndürdüğünde (panel dosya listesi değil), panel bunu artık bir kurcalama gibi değil, "bu panele uygulanamayan manifest" olarak tanır ve yerel manifeste düşer. Önceden bu durum, geçerli lisanslı bir panelde bile her dosyayı "eksik" sayıp integrity_mismatch killswitch'ini tetikleyebiliyordu (deploy'da self-brick / mail kesintisi). Ayrıca bütünlük yeniden üretildiğinde (integrity:rebuild) integrity_mismatch killswitch'i otomatik temizlenir ve mail servisleri geri gelir.
🔁 İmza tekrar-oynatma (replay) koruması
İmzalı lisans istekleri (heartbeat / IP-transfer / crack-report / kurtarma) artık her isteğe taze zaman damgası + tek-kullanımlık nonce ekler. Ağ üzerinde yakalanan bir istek bir daha oynatılamaz (lisans sunucusu tazelik + nonce-tekilliğini zorlar). Eski panellerle tam geriye uyumlu; acil durumda .env ONOXSOFT_LICENSE_REPLAY=false ile kapatılabilir.
🖥️ Makine kimliği değişiminde kalıcı kilit çözüldü
Panelin lisans token'ı ve imza sırrı, önceden sunucunun makine kimliğine bağlı bir yolda/şifreyle saklanıyordu; bulut göçü veya makine kimliğinin yenilenmesi durumunda panel kendi token'ını okuyamaz hale gelip kilitleniyordu. Artık depolama, makine kimliğinden bağımsız kararlı bir yerel anahtarla yapılır — makine kimliği değişse bile panel token'ını çözebilir ve kurtulabilir. Lisans güvenliği korunur (token yine makineye pinlidir). Mevcut kurulumlar sorunsuz geçer: ilk açılışta token eski konumdan yeni konuma sessizce taşınır (canlı test sunucusunda kanıtlandı, kesinti/kayıp yok).
🔒 Ek yaptırım sağlamlaştırmaları
Bayilik (reseller) WHMCS uçları artık feature:reseller (Enterprise) kapısı taşır.
IP-transfer yalnız yöneticiye açık; lisans sunucusu tarafında günlük transfer sınırı eklendi (rebind-war/hijack freni).
İptal/askı/bitiş durumları artık anında devreye girer (ağ hatası gibi 7 gün beklemez).
Tier düşürme sonrası eski (yüksek-tier) token'ın geri-yazılması engellenir (iat high-water-mark).
🧵 Eşzamanlılık (race) sağlamlaştırması
Lisans token'ı ve imza sırrı artık atomik yazılır (geçici dosya + yeniden adlandırma). Aynı anda çalışan iki işlem (ör. heartbeat + kurtarma) artık token dosyasını yarım yazamaz — okuyan taraf ya tam eski ya tam yeni dosyayı görür, asla bozuk. İlk açılışta üretilen kararlı yerel anahtar da yarış-güvenli üretilir (tüm işlemler tek anahtarda buluşur), böylece eşzamanlı ilk isteklerde token kaybı olmaz.
🩹 Sistem güncellemesi: LiteSpeed/Remi PHP paket çakışması düzeltmesi
LiteSpeed (lsphp) kurulu sunucularda, Remi'nin sürümsüz php- paketleri (php-fpm, php-opcache…) /var/lib/php/opcache dosyasını lsphp ile paylaşıp dnf güncellemesini file ... conflicts hatasıyla %80'de patlatıyordu. Sistem güncellemesi artık lsphp kuruluyken bu çakışan sürümsüz php- paketlerini hariç tutar; panelin php82- FPM'i ve LiteSpeed lsphp paketleri etkilenmez. Güncelleme bu çakışmaya artık takılmaz.
⏱️ Panel güncelleme akışı — ilerleme çubuğu artık anında açılıyor
Panel güncellemesinde "Şimdi Güncelle"ye basınca, istek lisans sunucusuna senkron bir sürüm kontrolü (10 sn'ye kadar bekleme) yapıp ilerleme çubuğunu geciktiriyordu. Bu senkron kontrol kaldırıldı (sürüm zaten biliniyor); güncelleme artık sistem güncellemesi gibi anında başlar ve ilerleme çubuğu hemen görünür. Sürüm listesi tazeliği arka planda (asenkron) korunur.
Yükseltme
Güncelleme otomatik uygulanır; kalıcı bir müdahale gerekmez. Lisanslı sunucular etkilenmez; mevcut token'lar ilk açılışta yeni kararlı depolamaya sorunsuz taşınır.
Not: Bu sürümdeki bazı sağlamlaştırmalar lisans sunucusu (LCS) tarafında da güncelleme gerektirir (transfer rate-limit). Panel tarafı bu güncelleme olmadan da güvenli çalışır (geriye uyumlu).
Onoxsoft Panel 2026.7.8 — Sürüm Notları
Yayın: 2026-07-02
Bu sürüm lisans yaptırım (enforcement) katmanını tamamlar: lisans bittiğinde/geçersiz olduğunda premium servisler artık gerçekten durur, bütünlük (integrity) uyuşmazlığından doğan kısır döngü çözülür ve bozuk/lisanssız bir panel kendini güncelleme ile onarabilir.
⏱️ Lisans bitince premium gerçekten kapanır
Önceden lisansın bitiş tarihi (expires_at) panel tarafında hiç kontrol edilmiyordu; yalnız JWT'nin imza/süre alanına bakılıyordu. JWT 7 gün geçerli olduğundan, lisans bittikten sonra bile panel 7 güne kadar tüm premium özellikleri açık tutuyordu.
Artık panel her kontrolde expires_at + tolerans süresini değerlendirir; süre dolduysa lisansı geçersiz sayar (premium kapanır, arka plan servisleri durur). Kısa ödeme gecikmeleri için varsayılan 2 günlük tolerans vardır (ONOXSOFT_LICENSE_EXPIRY_GRACE ile ayarlanır; 0 = bitiş anında kapat).
🛑 Lisans yaptırım servisi (onoxd) düzeltmeleri
KillSwitch'e saygı: Lisans denetleyici (onoxd), bütünlük/heartbeat sorununda bilerek durdurulmuş Postfix/Dovecot'u artık 30 saniye sonra geri açmıyor. Önceden KillSwitch mail'i durduruyor, onoxd hemen diriltiyordu — yaptırım fiilen etkisizdi.
Lisans yokken servis durdurma: Lisans tamamen geçersiz/bittiğinde (enforce modunda) onoxd artık premium servisleri durdurup mask'lar. Önceden bu durumda hiçbir şey yapmadan geçiyordu — "lisans bitti ama servisler kapanmıyor" sorunu buydu. (Kritik altyapı — httpd, mariadb, sshd, firewalld — asla etkilenmez.)
Yaptırım anahtarı çalışır hâlde: Servis-başlangıç kapısı (onox-license-check) artık /opt/onoxsoft/.onox-enforce bayrağını okur — onoxd ile aynı tek anahtar. Varsayılan hâlâ advisory (yalnız raporlar); yaptırımı açmak için tek dosya yeterli.
Not: Yaptırım (enforce) modunu yalnız bütünlük ve lisans-sunucusu bağlantısı kararlıyken açın; aksi halde geçici bir sorun mail servislerini gereksiz durdurabilir.
🔁 Bozuk panel artık kendini güncelleyebilir (kısır döngü çözüldü)
Lisans geçersizken (ör. güncelleme sonrası bütünlük manifesti bayatladığında) panel her sayfayı "Lisans Satın Al" ekranına yönlendiriyordu — güncelleme sayfası dâhil. Bu, bozuk bir panelin kendini güncelleme ile onarmasını imkânsız kılan bir kısır döngüydü.
Artık Güncellemeler sayfası (ve güncelleme çalıştırma) lisans geçersiz olsa bile erişilebilir (yönetici girişi hâlâ zorunlu; güncelleme Ed25519 imzasıyla doğrulanır — güvenli).
🩹 Self-update: bütünlük manifesti yenileme düzeltmesi
Kurulum ve panel kendi-kendini-güncelleme (self-update) akışında, ionCube ile şifrelenmiş dosyalar değiştikten sonra bütünlük manifestini yeniden üreten adım fiilen çalışmıyordu (komut varlık kontrolü hiçbir zaman eşleşmiyordu). Sonuç: her güncellemeden sonra integrity_mismatch KillSwitch tetiklenip mail servislerini durduran bir döngü oluşabiliyordu.
Manifest yenileme artık doğrudan ve doğru şekilde çalışır.
KillSwitch temizliği artık servisleri de geri başlatır (önceden yalnız veritabanı kaydını kapatıyor, durdurulan mail servislerini açmıyordu).
Güncelleme sonrası kuyruk işçileri (queue:restart) yenilenir — eski kodla çalışan işçilerin yol açtığı sinsi hatalar önlenir.
Yükseltme
Kalıcı bir müdahale gerekmez; güncelleme otomatik uygulanır. Enforce modunu açmayı planlıyorsanız, önce sunucunun lisans-sunucusu bağlantısının ve bütünlük durumunun kararlı olduğunu doğrulayın.
🔒 Premium özellikler artık lisanssız çalışmaz (fail-closed)
Önceden, premium özelliklerin arka plan motorları (zamanlanmış görevler) lisans olsa da olmasa da çalışıyordu — panel arayüzü kilitliyken bile Turbo Cache ve Harp Odası/Yavaşlık Kalkanı işlemleri arka planda dönmeye devam ediyordu. Artık her premium arka plan görevi, çalışmadan önce lisansı kontrol eder:
Turbo Cache motoru (ısıtma, ölçüm, otopilot, self-heal, IndexNow, SEO ve edge-besleme görevleri) lisans yoksa/düştüyse çalışmaz (sessizce atlanır). Ayrıca Turbo Cache lisanssız etkinleştirilemez (doğrudan servis çağrısı da kapılıdır).
Harp Odası / Yavaşlık Kalkanı ingest ve senkron görevleri lisans yoksa çalışmaz.
Lisanslı sunucularda (uygun paket/tier) hiçbir değişiklik yok — her şey aynen çalışır. Bu, "kapalı gel, lisans açsın" ilkesini arka plan katmanına taşır.
🦠 Antivirüs: Aç / Duraklat / Kapat kontrolü (yeni)
Antivirüs panelinde artık tek bir master kontrol var. Önceden kapat/aç düğmesi yoktu ve Servisler sayfasından ClamAV servisini durdurmak taramayı gerçekten durdurmuyordu — çünkü panelin zamanlanmış tarama motoru servis durumundan bağımsız çalışmaya devam ediyordu (daemon kapalıyken bile tarama yapıyordu). Düzeltildi:
Aktif: tam koruma (bugünkü davranış).
Duraklat: tüm zamanlanmış/elle taramalar durur; imza güncellemesi ve daemon çalışmaya devam eder (geçici duraklatma).
Kapat: taramalar durur ve ClamAV daemon + imza güncelleyici (freshclam) durdurulur + gerçek-zamanlı tarama kapatılır (tam kapatma).
Artık tüm katmanlar (zamanlanmış görevler, kuyruk işleri, elle tarama) tek master bayrağa uyar — "durdurdum ama durmuyor" sorunu ortadan kalktı. Motor rozeti de durumu dürüst gösterir ("Duraklatıldı (panel)" / "Kapalı (panel)").
🔧 install.sh düzeltmesi (2026.7.6'dan devam)
Sıfır kurulumda ModSecurity artık engelleme (On) modunda köprülenir — canlı müşteri sitesi henüz olmadığından ilk günden korur. (İzleme/DetectionOnly modu, canlı sitesi olan mevcut sunucuda panelden manuel yeniden-köprüleme içindir.)
📝 Not
Turbo Cache ve Harp Odası'nın hangi pakete ait olduğu lisans sunucusundan dinamik yönetilir; panel, lisansın verdiği yetkiye uyar.
⚡ Turbo Önbellek paneli hız düzeltmesi
/admin/turbo-cache sayfası her açılışta filodaki tüm siteleri (644 vhost) tek tek tarayan bir sistem komutu çalıştırıyordu → soğukta ~10 saniye. Bu tarama artık arka plana (SystemProbe) alındı; sayfa yalnızca hazır veriyi okur.
Ölçüm (prime, canlı): sayfa render 8.765 ms → 19 ms.
🛡️ ModSecurity: motor açık ama kural yüklü değildi (kritik)
ModSecurity "aktif" görünüyordu ama hiçbir tespit kuralı yüklü değildi — Apache sürücüsünde CRS (OWASP Core Rule Set) kuralları hiç köprülenmiyordu, dolayısıyla saldırılar engellenmiyordu. Kanıt: ?q=<script>alert(1)</script> gibi bir XSS isteği hiçbir kurala takılmadan geçiyordu.
Düzeltmeler:
CRS artık doğru sırayla köprüleniyor (engine → crs-setup → 639 CRS kuralı → onox istisnaları). Kurulum httpd -t doğrulamasından geçmeden devreye alınmaz (yanlış config siteyi düşürmez); başarısızlıkta otomatik geri alınır.
İzleme (DetectionOnly) modu eklendi. CRS canlı sitelerde önce yalnız-logla modunda devreye alınabilir: saldırılar audit'e kaydedilir ama meşru trafik 403 yemez. Yanlış-pozitifler ayıklandıktan sonra Ayarlar'dan engelleme (On) moduna geçilir. Kurulum varsayılanı güvenli taraf = DetectionOnly.
Panel göstergesi artık dürüst: motor açık ama 0 kural durumunda "koruma yok" uyarısı türetilir (eskiden yanıltıcı biçimde "aktif" diyordu). Yüklü kural sayısı gerçek veriden okunur.
Prime kanıtı: 639 kural yüklü; XSS/SQLi test istekleri CRS kurallarına (941110, 942100, 949110) takıldı ve audit'e kaydedildi; DetectionOnly'de 200 döndü (izleme), engelleme moduna geçince 403 verecek.
🧹 WordPress araç (wp-cli) eksikliği + denetim kaydı spam'i
Sunucuda wp-cli (/usr/local/bin/wp) kurulu değildi; saatlik WordPress durum yenilemesi her site için başarısız olup denetim kaydını dolduruyordu (24 saatte 1219 hatalı kayıt).
wp-cli kurulumu install.sh'e eklendi (idempotent, indirilen binary doğrulanır).
Spam önleme (çift katman): WordPress yenileme komutu, wp-cli yoksa siteleri hiç işlemeden bir kez uyarı verip çıkar; ayrıca "komut bulunamadı" hataları için dar kapsamlı denetim-kaydı muafiyeti eklendi. wp-cli kurulunca ikisi de kendiliğinden devre dışı kalır.
Prime kanıtı: wp-cli 2.12.0 kuruldu; sonraki yenilemede 0 hata, 14 başarılı.
🗂️ Denetim Kaydı akıllı saklama (iki kademeli + parçalı silme)
Denetim tablosu 1,2 milyon satıra ulaşmıştı ve %99,9'u arka plan telemetrisiydi (servis durumu, disk/CPU okumaları), yalnızca ~600 satır gerçek insan eylemiydi. Eski temizlik tüm satırları aynı 90 günle ve tek seferde siliyordu (milyonlarca satırlık tek DELETE = tablo kilidi riski).
İki kademeli saklama: arka plan telemetrisi kısa süre (varsayılan 14 gün, ayarlanabilir), insan eylemleri uzun süre (varsayılan 90 gün) tutulur. Telemetri sınıflandırması, güvenlik/işlem eylemlerini yanlışlıkla budamayacak şekilde beyaz-liste ile yapılır.
Parçalı silme: tek dev DELETE yerine 5000'lik parçalarla, aralarda kısa nefeslerle silinir — tablo kilidi ve replikasyon gecikmesi riski ortadan kalkar.
Yeni ayar: Ayarlar → Telemetri Saklama Günü.
Prime kanıtı: 100.423 telemetri satırı 39 saniyede parçalı silindi; silme sırasında tablo yazılabilir kaldı (yeni kayıtlar geldi), insan eylemleri korundu.
🔧 Not
ModSecurity CRS köprüleme ve wp-cli kurulumu sunucu-tarafı adımlardır; yeni kurulumlarda install.sh otomatik uygular, mevcut sunucularda panelden (ModSecurity → Sürücü Kur) veya güncelleme sonrası tek sefer tetiklenir.
⚡ Panel Geneli Hız Devrimi (SystemProbe)
Sayfa geçişlerindeki bekleme/hantallık kökten çözüldü. Yavaşlığın kaynağı ölçümle kanıtlandı: ağır sayfalar her açılışta senkron sistem komutları (sysapi/subprocess) ve milyonluk tabloda cache'siz agregasyonlar çalıştırıyordu. Yeni SystemProbe katmanı ile bu maliyetlerin tamamı arka plana (dakikalık zamanlayıcı + kuyruk) taşındı — sayfalar artık yalnızca hazır veriyi okur, hiçbir tıklama sistem komutu beklemez.
Ölçülmüş kazanımlar (canlı sunucu, 1.1M denetim kaydıyla):
Sayfa Önce Sonra
Denetim Kaydı 6.5–11.5 sn 33 ms
Pano 3.1 sn 19 ms
Güncellemeler (soğuk) 6.6 sn 28 ms
Kurulum Sihirbazı (/admin/setup) ~2.1 sn/adım 35 ms
Aynı mekanizmaya bağlanan diğer sayfalar (tamamı artık ~30–115 ms): Servisler, ModSecurity, Güvenlik Duvarı, Ağ, Cron Denetimi, Terminal, Antivirüs Komuta Merkezi, Apache Yapılandırması, MySQL Yöneticisi / Sunucu Ayarları / Yavaş Sorgular, Mail Teslimat Raporları, Dovecot, SSL Yöneticisi, Web Sunucusu Yönetimi, PHP Eklentileri, Kaynak Kullanımı, Sunucu Yapılandırması, Genel Ayarlar, fail2ban.
Öne çıkan teknik düzeltmeler:
Kurulum sihirbazı hantallığı bitti: her sihirbaz adımında koşan çoklu sysapi tespit seti + tüm admin sayfalarında istek yolunda çalışan panel-SSL sağlık kontrolü (sertifika okuma/kurma denemesi dahil) arka plana alındı. İlk kurulum deneyimi artık akıcı.
Denetim Kaydı: 1.1M satırlık tabloda her açılışta koşan 5 tam-tablo agregasyon artık 15 dk'lık arka plan döngüsünde; liste satırları her zaman canlı. Filtrelerde action prefix, hedef tipi tam eşleşme ile indeks kullanır (tam-tablo taraması yok). Hiçbir veri silinmedi.
fail2ban: 17-18 sn sürebilen istatistik betiğinin bedelini artık hiçbir ziyaretçi ödemiyor (eskiden cache süresi dolduğunda ilk açan bekliyordu).
Güncellemeler: dnf kontrol zinciri (soğukta 6-75 sn) zamanlayıcıyla ısıtılıyor; "Şimdi Kontrol Et" davranışı değişmedi.
Panel SSL self-heal artık Let's Encrypt oran sınırına karşı eskalasyonlu geri-çekilme (5→10→20→40→60 dk) ile korunuyor.
Ölü maliyet temizlikleri: ClamAV durumu tek komutta (aynı betik 3 kez çağrılıyordu), var olmayan clamav-daemon unit yoklaması kaldırıldı, MySQL ayar sayfasındaki koşulsuz-boş dönen doğrulama çağrısı silindi, web/mail sunucu durum sorguları çağrı-birleştirme ile tekilleştirildi.
Aksiyonlardan sonra (servis restart, kural ekleme, ban/unban, sertifika işlemi…) ilgili görünüm arka planda otomatik tazelenir. Veriler en fazla kendi tazelik penceresi kadar (30 sn – 15 dk, sayfaya göre) gecikmeli olabilir — sayfa hızı karşılığında bilinçli tasarım.
🧭 Akıllı DNS Taşıma (yeni)
Göçte DNS kayıtları artık akıllı yeniden yazılır: yalnız kaynak sunucunun IP'sini gösteren A kayıtları yeni sunucuya çevrilir. Müşterinin harici bir hedefe yönlendirdiği kayıtlar (dış mail sunucusu, kamera/ERP, CDN, başka VPS, özel CNAME kurulumları) olduğu gibi korunur — göç sonrası harici hizmetler kırılmaz.
Kaynak IP tespiti çift sinyalli: zone'un kendi apex/www/mail/ftp kayıtları + çekim yapılan sunucunun DNS çözümü. Sinyal yoksa eski davranışa düşülür (tümü yeni sunucuya).
SPF kayıtlarındaki eski sunucu IP'si (ip4:...) otomatik yeni sunucu IP'siyle değiştirilir — taşınan hesabın giden maili SPF'den düşmez.
Harici AAAA (IPv6) kayıtları artık korunur; yalnız kaynak sunucuya işaret edenler atlanır.
Korunan her harici kayıt, transfer detayında uyarı notu olarak listelenir.
🔧 Diğer
ModSecurity saatlik istatistik sorguları veritabanı-sürücüsü uyumlu hale getirildi.
Test altyapısı: 100+ yeni otomatik test (probe katmanı + sayfa şekil/regresyon güvenceleri).
v2026.7.4 — Toplu Transfer Güvenilirlik Sürümü
cPanel/DirectAdmin/Plesk Transfer Tool toplu göç hattı uçtan uca sağlamlaştırıldı:
Kuyruğa alınan transferler artık "Kuyrukta" durumunda izlenir; göç watchdog'u sırasını bekleyen işleri yanlışlıkla başarısız sayamaz (2026-07-01 toplu düşüş kök nedeni kapatıldı).
Göç canlılık probu artık pull (yedek indirme) sürecini de sayar — saatler süren indirme sırasında yanlış-pozitif kurtarma yok.
Watchdog faz-ayrımlı: pull fazına asla restore göndermez; tamamlanmış göçler asla geriye "başarısız" çevrilmez.
Göç işleri kendi migrations kuyruğunda seri çalışır — gece yedeği/antivirüs/keşif toplu göçün arkasında açlıktan ölmez.
Başarısız transferin arşivi "Tekrar Dene" için korunur; 7 günden eski arşivleri günlük temizleyici siler.
"Kaynak paketini kullan" cPanel planlarını gerçek kotalarıyla (WHM listpkgs) klonlar; limiti okunamayan plan sınırsız paket olarak klonlanmaz.
Kaynak panelde askıda olan hesap, hedefte restore sonrası otomatik askıya alınır.
Bildirim tekilleştirme (aynı transfer için mükerrer bildirim yok), atomik arşiv indirme (yarım dosya guard'ı), iptal edilen işin dirilme yarışları kapatıldı.
v2026.7.2 - Self-Update PHP/ionCube Hotfix
Duzeltmeler
- Panel self-update artik `php` PATH sonucuna guvenmez; panelin PHP 8.2 binary'sini tespit edip `artisan`, `migrate`, `optimize:clear` ve composer adimlarini onunla calistirir.
- PHP 8.5 gibi sistem PHP'si kurulu sunucularda, PHP 8.2 ionCube loader'inin yanlis binary tarafindan yuklenmesiyle olusan `undefined symbol` hatasi engellendi.
- RHEL/AlmaLinux kurulumlarinda eski `/etc/php.d/00-ioncube.ini` kalintisi temizlenir; ionCube versioned panel PHP uzerinden yuklenir.
Not
- Bu surum 2026.7.1 paketini geri alan `migrate --force basarisiz` hatasinin kok nedenini duzeltir.
v2026.7.1 - Panel Hizlandirma ve Saat Dilimi Dogrulama
One Cikanlar
- Admin panel sayfa gecisleri hizlandirildi.
- Sunucu Yapilandirmasi saat dilimi kaydi gercek sistem degeriyle dogrulanir hale getirildi.
Iyilestirmeler
- Global Vite prefetch kapatildi; admin ekranlarinda gereksiz arka plan JS indirmeleri azaltildi.
- Topbar sistem bilgisi ilk Inertia cevabindan ayrildi ve arka planda yenilenir hale getirildi.
- Bildirim okunmamis sayaci kisa sureli cache ile gereksiz sorgulari azaltir.
Duzeltmeler
- Saat dilimi degistirme isleminde sysapi `time-status` sonucu esas alinir.
- `onx-timezone-set`, `timedatectl set-timezone` sonrasi gercek timezone'u tekrar okur ve uyusmazlikta hata dondurur.
- Canli saat gosterimi timezone degisince eski formatter'da kalmaz.