🚀 Phát hành Gato GraphQL v18.0: Bộ nhớ đệm queries đã phân tích, bảo mật tăng cường và nhà cung cấp dịch thuật Gemini mới
Gato GraphQL v18.0 đã ra mắt 🎉
Phiên bản này nhanh hơn rõ rệt và sử dụng ít bộ nhớ hơn đáng kể, cho phép bạn lưu trữ các queries GraphQL đã phân tích trên đĩa để bỏ qua công việc phân tích và biên dịch lặp lại, siết chặt các kiểm tra quyền mặc định cho các trường Email Sender, HTTP Client và Environment Variable, bao gồm nhiều sửa lỗi và một số bản vá bảo mật, và thêm nhà cung cấp dịch thuật Gemini mới cùng thời gian chờ Request và Connection có thể cấu hình cho bản dịch.
Tiếp tục đọc để xem những điểm nổi bật.
⚡ Lưu trữ queries GraphQL đã phân tích trên đĩa
Mỗi yêu cầu phải phân tích queries GraphQL, xác thực chúng so với schema và xây dựng kế hoạch thực thi. v18 hiện có thể lưu trữ queries đã chuẩn bị lên đĩa và tải lại chúng trong các lần chạy tiếp theo — bỏ qua hoàn toàn công việc phân tích và biên dịch lặp lại.
Bật tính năng này trên trang Settings, trong Server Configuration > Caching > Cache parsed GraphQL queries?:

Tính năng này lưu bộ nhớ đệm cho phần chuẩn bị của queries (phân tích và biên dịch), không phải dữ liệu phản hồi. Để lưu bộ nhớ đệm HTTP cho các phản hồi, xem Thêm bộ nhớ đệm HTTP.
Các tệp sẽ nằm trong thư mục bộ nhớ đệm của plugin. Nếu thư mục plugin không thể ghi, bạn có thể trỏ bộ nhớ đệm đến nơi khác — xem Ghi đè thư mục bộ nhớ đệm.
➡️ Chi tiết đầy đủ trong Lưu bộ nhớ đệm queries GraphQL đã phân tích.
⚡ Nhanh hơn và gọn hơn — trên toàn diện
Ngoài bộ nhớ đệm queries đã phân tích, các thành phần nội bộ của plugin đã được cải tiến toàn diện trong v18: mỗi yêu cầu GraphQL nhanh hơn rõ rệt và tiêu thụ ít bộ nhớ hơn đáng kể.
Những cải tiến này có tính toàn cục — chúng áp dụng cho mọi queries, mọi directive, mọi persisted query — và đặc biệt rõ ràng trên các schema lớn, queries dài và các trang web chạy nhiều yêu cầu GraphQL mỗi trang (ví dụ: WordPress headless, API nội bộ).
Các trang web lớn trước đây gặp phải giới hạn bộ nhớ PHP hoặc thấy thời gian phản hồi chậm sẽ cảm nhận được sự khác biệt thực sự, mà không cần thay đổi cấu hình — chỉ cần cập nhật plugin.
🔒 Mặc định bảo mật tăng cường
Ba lĩnh vực đã được siết chặt mặc định để plugin an toàn hơn ngay từ đầu.
Email Sender — Quyền bắt buộc
Mutation _sendEmail hiện có thể bị hạn chế đối với người dùng có quyền WordPress cụ thể, được cấu hình trong Plugin Configuration > Email Sender.

Mặc định là manage_options để người đăng ký không thể sử dụng mutation để gửi thư rác đến người nhận tùy ý. Chọn (any logged-in user) để tắt kiểm tra.
HTTP Client — Quyền bắt buộc để truy cập URL nội bộ
Một số URL phân giải thành địa chỉ nội bộ (127.0.0.1, dải link-local, điểm cuối cloud-metadata, v.v.) có thể để lộ các dịch vụ nội bộ nếu bị truy cập. Một cài đặt mới trong Plugin Configuration > HTTP Client hạn chế việc nhắm mục tiêu các địa chỉ đó đối với người dùng có quyền WordPress cụ thể.

Mặc định là manage_options để người dùng không phải admin không thể tiếp cận các dịch vụ nội bộ thông qua các trường HTTP Client. Chọn (any logged-in user) để tắt kiểm tra.
Environment Variables — danh sách từ chối cho người dùng không phải admin
Trường _env đã yêu cầu danh sách cho phép rõ ràng, và danh sách đó trống theo mặc định. v18 thêm một lớp bảo vệ bổ sung cho người dùng không phải admin: ngay cả khi các tên này được thêm vào danh sách cho phép trong cấu hình, họ vẫn bị từ chối truy cập.
Luôn bị từ chối (bí mật 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.
Cũng bị từ chối — bất kỳ biến nào có tên chứa: PASSWORD, PASSWD, SECRET, PRIVATE_KEY, API_KEY, APIKEY, ACCESS_KEY, ACCESS_TOKEN, AUTH_TOKEN, BEARER, CREDENTIAL, SALT.
Người dùng admin vẫn có toàn quyền truy cập.
➡️ Xem phần Bảo mật trong tài liệu để biết danh sách đầy đủ.
🌐 Dịch thuật: nhà cung cấp Gemini mới
Directive @strTranslate hiện hỗ trợ Google Gemini như một nhà cung cấp dịch thuật, bên cạnh ChatGPT, Claude, DeepL, DeepSeek, Google Translate, Mistral, OpenRouter và các LLM tự lưu trữ.
Dịch bất kỳ trường String nào sang ngôn ngữ mong muốn:
{
posts {
title @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
content @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
}
}Các mô hình Gemini sau đây được hỗ trợ:
- 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)
Cấu hình khóa Google API của bạn (qua Settings, wp-config.php, hoặc biến môi trường), chọn một mô hình và bạn đã sẵn sàng dịch.
➡️ Xem tài liệu tham khảo Gemini Translation.
⏱️ Dịch thuật: Thời gian chờ Request và Connection
Dịch một tài liệu dài thông qua nhà cung cấp bên thứ ba có thể chậm, và một upstream bị treo sẽ giữ một worker PHP cho đến khi PHP tự kết thúc yêu cầu — dẫn đến lỗi HTTP 502 / 504 chung chung hoặc trang trắng "Maximum execution time exceeded".
v18 cung cấp hai cài đặt thời gian chờ trong Plugin Configuration > Translation:
- Request timeout: thời gian tối đa (tính bằng giây) để chờ phản hồi đầy đủ từ nhà cung cấp dịch thuật.
- Connection timeout: thời gian tối đa (tính bằng giây) để chờ khi thiết lập kết nối.

Giữ cả hai giá trị thấp hơn một chút so với max_execution_time của máy chủ để một bản dịch bị treo thất bại một cách kiểm soát được với lỗi được ghi lại trong nhật ký thay vì kích hoạt thời gian chờ máy chủ chung chung. Nếu các bản dịch của bạn thường xuyên hết thời gian, hãy tăng cả hai giá trị này và max_execution_time của máy chủ của bạn cùng một lúc.
🐛 Sửa lỗi và vá bảo mật
Ngoài các tính năng mới ở trên, v18.0 cũng bao gồm nhiều sửa lỗi và vá một số lỗ hổng bảo mật. Chúng tôi khuyến nghị cập nhật lên v18 càng sớm càng tốt.
Nâng cấp
Phiên bản đang được triển khai qua thư mục plugin WordPress và bảng điều khiển khách hàng của bạn. Cập nhật từ trang quản trị WordPress (Plugins → Updates), hoặc tải xuống phiên bản mới nhất từ tài khoản của bạn.
Xem changelog để biết danh sách đầy đủ các thay đổi.
Tận hưởng v18! 🎉