🚀 Gato GraphQL v18.0 Yayınlandı: İşlenmiş sorgu önbellekleme, güçlendirilmiş güvenlik ve yeni Gemini çeviri sağlayıcısı
Gato GraphQL v18.0 yayında 🎉
Bu sürüm belirgin biçimde daha hızlı ve önemli ölçüde daha az bellek kullanıyor; işlenmiş GraphQL queries'ni diske önbelleklemenize olanak tanıyarak tekrarlayan ayrıştırma ve derleme işlemlerini tamamen atlıyor. Email Sender, HTTP Client ve Environment Variable alanları için varsayılan yetenek kontrollerini sıkılaştırıyor, çeşitli hata düzeltmeleri ve birkaç güvenlik yaması içeriyor, yeni bir Gemini çeviri sağlayıcısı ekliyor ve çeviriler için yapılandırılabilir Request ile Connection zaman aşımları sunuyor.
Öne çıkanları okumaya devam edin.
⚡ İşlenmiş GraphQL queries'ni diske önbellekleme
Her istek, GraphQL sorgusunu ayrıştırmak, şemaya göre doğrulamak ve yürütme planını oluşturmak zorundadır. v18 artık hazırlanan sorguyu diske kalıcı olarak kaydedebilir ve sonraki çalıştırmalarda yeniden yükleyebilir — böylece tekrarlayan ayrıştırma ve derleme işlemlerini tamamen atlayabilirsiniz.
Settings sayfasında Server Configuration > Caching > Cache parsed GraphQL queries? altından etkinleştirin:

Bu işlem sorgunun hazırlığını (ayrıştırma ve derleme) önbelleğe alır, yanıt verilerini değil. Yanıtların HTTP önbelleklemesi için bkz. HTTP önbellekleme ekleme.
Dosyalar eklenti önbellek dizinine yerleştirilir. Eklenti klasörü yazılabilir değilse önbelleği başka bir yere yönlendirebilirsiniz — bkz. Önbellek klasörünü geçersiz kılma.
➡️ Tüm ayrıntılar için bkz. İşlenmiş GraphQL queries'ni önbellekleme.
⚡ Daha hızlı ve daha hafif — her alanda
İşlenmiş sorgu önbelleğinin ötesinde, eklentinin iç yapısı v18'de köklü biçimde yenilendi: her GraphQL isteği belirgin biçimde daha hızlı ve önemli ölçüde daha az bellek tüketiyor.
Kazanımlar geneldir — her sorguya, her directive'e, her persisted query'e uygulanır — ve özellikle büyük şemalarda, uzun queries'de ve sayfa başına çok sayıda GraphQL isteği çalıştıran sitelerde (örneğin headless WordPress, dahili API'ler) belirgin şekilde hissedilir.
Daha önce PHP bellek sınırlarına takılan veya yavaş yanıt süreleriyle karşılaşan büyük siteler, herhangi bir yapılandırma değişikliği gerektirmeden gerçek bir fark hissedecektir — eklentiyi güncelleyin, yeter.
🔒 Güçlendirilmiş güvenlik varsayılanları
Eklentinin kullanıma hazır halde daha güvenli olması için üç alanda varsayılanlar sıkılaştırıldı.
Email Sender — Gerekli yetenek
_sendEmail mutation artık Plugin Configuration > Email Sender altında yapılandırılan belirli bir WordPress yeteneğine sahip kullanıcılarla kısıtlanabilir.

Abonelerin mutation'ı rastgele alıcılara spam göndermek için kullanamaması amacıyla varsayılan olarak manage_options seçilidir. Kontrolü devre dışı bırakmak için (any logged-in user) seçeneğini seçin.
HTTP Client — Dahili URL'lere erişim için gerekli yetenek
Bazı URL'ler dahili adreslere çözümlenir (127.0.0.1, link-local aralıklar, cloud-metadata uç noktaları vb.) ve bu adreslere ulaşıldığında dahili servisleri açığa çıkarabilir. Plugin Configuration > HTTP Client altındaki yeni bir ayar, bu adresleri hedeflemeyi belirli bir WordPress yeteneğine sahip kullanıcılarla kısıtlar.

Yönetici olmayan kullanıcıların HTTP Client alanları aracılığıyla dahili servislere ulaşamaması için varsayılan olarak manage_options seçilidir. Kontrolü devre dışı bırakmak için (any logged-in user) seçeneğini seçin.
Environment Variables — Yönetici olmayan kullanıcılar için denylist
_env alanı zaten açık bir allow-list gerektiriyordu ve bu liste varsayılan olarak boştur. v18, yönetici olmayan kullanıcılar için ek bir güvenlik ağı ekliyor: bu isimler yapılandırmada allow-list'e alınmış olsa bile erişimleri reddedilir.
Her zaman reddedilir (WordPress gizli anahtarları):
AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT, DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_CHARSET, DB_COLLATE.
Ayrıca reddedilir — adı şunları içeren herhangi bir değişken: PASSWORD, PASSWD, SECRET, PRIVATE_KEY, API_KEY, APIKEY, ACCESS_KEY, ACCESS_TOKEN, AUTH_TOKEN, BEARER, CREDENTIAL, SALT.
Yönetici kullanıcılar tam erişime sahip olmaya devam eder.
➡️ Tam liste için belgelerin Güvenlik bölümüne bakın.
🌐 Çeviri: yeni Gemini sağlayıcısı
@strTranslate directive artık ChatGPT, Claude, DeepL, DeepSeek, Google Translate, Mistral, OpenRouter ve self-hosted LLM'lerin yanı sıra Google Gemini'yi de çeviri sağlayıcısı olarak destekliyor.
Herhangi bir String alanını istenen dile çevirin:
{
posts {
title @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
content @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
}
}Aşağıdaki Gemini modelleri desteklenmektedir:
- Gemini 2.0 Flash (
gemini-2.0-flash) - Gemini 2.0 Flash-Lite (
gemini-2.0-flash-lite) - Gemini 2.5 Flash (
gemini-2.5-flash) - Gemini 2.5 Flash-Lite (
gemini-2.5-flash-lite) - Gemini 2.5 Pro (
gemini-2.5-pro) - Gemini 3.1 Flash-Lite (
gemini-3.1-flash-lite)
Google API anahtarınızı yapılandırın (Settings, wp-config.php veya ortam değişkeni aracılığıyla), bir model seçin ve çeviriye hazırsınız.
➡️ Bkz. Gemini Translation referans belgeleri.
⏱️ Çeviri: Request ve Connection zaman aşımları
Uzun bir belgeyi üçüncü taraf bir sağlayıcı aracılığıyla çevirmek yavaş olabilir; takılı kalan bir upstream, PHP'nin isteği kendisi sonlandırana kadar bir PHP worker'ını bloke edebilir — bu da genel bir HTTP 502 / 504 veya boş bir "Maximum execution time exceeded" sayfasına yol açar.
v18, Plugin Configuration > Translation altında iki zaman aşımı ayarı sunuyor:
- Request timeout: Çeviri sağlayıcısından tam yanıt için beklenecek maksimum süre (saniye cinsinden).
- Connection timeout: Bağlantı kurulurken beklenecek maksimum süre (saniye cinsinden).

Takılı kalan bir çevirinin genel sunucu zaman aşımını tetiklemek yerine günlüklerde kontrollü bir hatayla temiz biçimde başarısız olması için her iki değeri de sunucunuzun max_execution_time değerinin biraz altında tutun. Çevirileriniz düzenli olarak zaman aşımına uğruyorsa her iki değeri ve sunucunuzun max_execution_time değerini birlikte artırın.
🐛 Hata düzeltmeleri ve güvenlik yamaları
Yukarıdaki yeni özelliklere ek olarak v18.0, çeşitli hata düzeltmeleri ve birkaç güvenlik açığı için yamalar da içeriyor. En kısa sürede v18'e güncellemenizi şiddetle tavsiye ediyoruz.
Güncelleme
Sürüm, WordPress eklenti dizini ve müşteri paneliniz aracılığıyla kullanıma sunuluyor. WordPress yönetim panelinizden (Plugins → Updates) güncelleyin veya hesabınızdan en son sürümü indirin.
Değişikliklerin tam listesi için changelog sayfasına bakın.
v18'in keyfini çıkarın! 🎉