๐ Rilis Gato GraphQL v18.0: Cache query yang sudah di-parse, keamanan diperkuat, dan penyedia terjemahan Gemini baru
Gato GraphQL v18.0 telah hadir ๐
Rilis ini jauh lebih cepat dan menggunakan jauh lebih sedikit memori, memungkinkan Anda men-cache query GraphQL yang sudah di-parse ke disk untuk melewati pekerjaan parse dan kompilasi berulang, memperketat pemeriksaan capability default untuk field Email Sender, HTTP Client, dan Environment Variable, menyertakan berbagai bug fix dan beberapa patch keamanan, serta menambahkan penyedia terjemahan Gemini baru ditambah timeout Request dan Connection yang dapat dikonfigurasi untuk terjemahan.
Baca terus untuk melihat sorotan-sorotannya.
โก Cache query GraphQL yang sudah di-parse ke disk
Setiap permintaan harus mem-parse query GraphQL, memvalidasinya terhadap skema, dan membangun rencana eksekusi. v18 kini dapat menyimpan query yang sudah disiapkan ke disk dan memuatnya kembali pada sesi berikutnya โ melewati sepenuhnya pekerjaan parse dan kompilasi berulang.
Aktifkan di halaman Settings, di bawah Server Configuration > Caching > Cache parsed GraphQL queries?:

Ini men-cache persiapan query (parse dan kompilasi), bukan data respons. Untuk HTTP caching dari respons, lihat Menambahkan HTTP caching.
File disimpan di direktori cache plugin. Jika folder plugin tidak dapat ditulis, Anda dapat mengarahkan cache ke tempat lain โ lihat Mengganti folder cache.
โก๏ธ Detail lengkap di Meng-cache query GraphQL yang sudah di-parse.
โก Lebih cepat dan lebih ringan โ secara menyeluruh
Di luar cache query yang sudah di-parse, internal plugin telah dirombak total di v18: setiap permintaan GraphQL jauh lebih cepat, dan mengonsumsi jauh lebih sedikit memori.
Peningkatannya bersifat global โ berlaku untuk setiap query, setiap directive, setiap persisted query โ dan sangat terlihat pada skema besar, query panjang, dan situs yang menjalankan banyak permintaan GraphQL per halaman (misalnya headless WordPress, API internal).
Situs-situs besar yang sebelumnya mengalami batasan memori PHP atau waktu respons yang lambat seharusnya merasakan perbedaan nyata, tanpa perubahan konfigurasi apa pun โ cukup perbarui pluginnya.
๐ Default keamanan yang diperkuat
Tiga area mendapatkan default yang lebih ketat sehingga plugin lebih aman secara bawaan.
Email Sender โ Capability yang diperlukan
Mutation _sendEmail kini dapat dibatasi hanya untuk pengguna dengan capability WordPress tertentu, dikonfigurasi di bawah Plugin Configuration > Email Sender.

Default ke manage_options agar subscriber tidak dapat menggunakan mutation untuk mengirim spam ke penerima sembarang. Pilih (any logged-in user) untuk menonaktifkan pemeriksaan.
HTTP Client โ Capability yang diperlukan untuk mengakses URL internal
Beberapa URL mengarah ke alamat internal (127.0.0.1, rentang link-local, endpoint cloud-metadata, dll.) yang dapat mengekspos layanan internal jika diakses. Pengaturan baru di bawah Plugin Configuration > HTTP Client membatasi penargetan alamat tersebut hanya untuk pengguna dengan capability WordPress tertentu.

Default ke manage_options agar pengguna non-admin tidak dapat menjangkau layanan internal melalui field HTTP Client. Pilih (any logged-in user) untuk menonaktifkan pemeriksaan.
Environment Variables โ denylist untuk pengguna non-admin
Field _env sudah memerlukan allow-list eksplisit, dan daftar tersebut kosong secara default. v18 menambahkan jaring pengaman tambahan untuk pengguna non-admin: meskipun nama-nama ini terdapat dalam allow-list di konfigurasi, akses mereka tetap ditolak.
Selalu ditolak (rahasia WordPress):
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.
Juga ditolak โ variabel apa pun yang namanya mengandung: PASSWORD, PASSWD, SECRET, PRIVATE_KEY, API_KEY, APIKEY, ACCESS_KEY, ACCESS_TOKEN, AUTH_TOKEN, BEARER, CREDENTIAL, SALT.
Pengguna admin tetap memiliki akses penuh.
โก๏ธ Lihat bagian Security di dokumentasi untuk daftar lengkapnya.
๐ Terjemahan: penyedia Gemini baru
Directive @strTranslate kini mendukung Google Gemini sebagai penyedia terjemahan, bersama ChatGPT, Claude, DeepL, DeepSeek, Google Translate, Mistral, OpenRouter, dan LLM yang di-host sendiri.
Terjemahkan field String apa pun ke bahasa yang diinginkan:
{
posts {
title @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
content @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
}
}Model Gemini berikut didukung:
- 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)
Konfigurasikan API key Google Anda (melalui Settings, wp-config.php, atau environment variable), pilih model, dan Anda siap untuk menerjemahkan.
โก๏ธ Lihat dokumentasi referensi Gemini Translation.
โฑ๏ธ Terjemahan: timeout Request dan Connection
Menerjemahkan dokumen panjang melalui penyedia pihak ketiga bisa memakan waktu lama, dan upstream yang macet akan menahan worker PHP hingga PHP sendiri mematikan permintaan โ menghasilkan HTTP 502 / 504 generik atau halaman kosong "Maximum execution time exceeded".
v18 mengekspos dua pengaturan timeout di bawah Plugin Configuration > Translation:
- Request timeout: waktu maksimum (dalam detik) untuk menunggu respons penuh dari penyedia terjemahan.
- Connection timeout: waktu maksimum (dalam detik) untuk menunggu saat membuat koneksi.

Pertahankan kedua nilai sedikit di bawah max_execution_time server Anda agar terjemahan yang macet gagal dengan bersih dengan error terkontrol di log alih-alih memicu timeout server generik. Jika terjemahan Anda secara rutin kehabisan waktu, naikkan kedua nilai ini dan max_execution_time server Anda secara bersamaan.
๐ Bug fix dan patch keamanan
Selain fitur-fitur baru di atas, v18.0 juga menyertakan berbagai bug fix dan menambal beberapa kerentanan keamanan. Kami sangat menyarankan untuk segera memperbarui ke v18.
Pembaruan
Rilis ini sedang diluncurkan sekarang melalui direktori plugin WordPress dan dashboard pelanggan Anda. Perbarui dari admin WordPress Anda (Plugins โ Updates), atau unduh versi terbaru dari akun Anda.
Lihat changelog untuk daftar lengkap perubahan.
Selamat menikmati v18! ๐