🚀 Lançada Gato GraphQL v18.0: cache de queries parsadas, segurança reforçada e novo provider de tradução Gemini
Gato GraphQL v18.0 foi lançada 🎉
Esta versão é visivelmente mais rápida e usa consideravelmente menos memória, permite armazenar em cache as queries GraphQL parsadas em disco para evitar o trabalho repetido de parsing e compilação, reforça as verificações de capability padrão para os campos Email Sender, HTTP Client e Environment Variable, inclui várias correções de bugs e alguns patches de segurança, e adiciona um novo provider de tradução Gemini além de timeouts de Request e Connection configuráveis para traduções.
Continue lendo para conferir os destaques.
⚡ Cache de queries GraphQL parsadas em disco
Cada requisição precisa fazer o parsing da query GraphQL, validá-la contra o schema e construir o plano de execução. O v18 agora pode persistir a query preparada em disco e recarregá-la em execuções posteriores — ignorando completamente o trabalho repetido de parsing e compilação.
Ative na página de Settings, em Server Configuration > Caching > Cache parsed GraphQL queries?:

Isso armazena em cache a preparação da query (parsing e compilação), não os dados da resposta. Para cache HTTP de respostas, consulte Adicionando cache HTTP.
Os arquivos ficam no diretório de cache do plugin. Se a pasta do plugin não tiver permissão de escrita, você pode apontar o cache para outro local — consulte Substituindo a pasta de cache.
➡️ Todos os detalhes em Cache das queries GraphQL parsadas.
⚡ Mais rápido e mais leve — em geral
Além do cache de queries parsadas, os componentes internos do plugin foram reformulados no v18: cada requisição GraphQL é visivelmente mais rápida e consome consideravelmente menos memória.
Os ganhos são globais — aplicam-se a cada query, cada directive, cada queries persistidas — e são especialmente visíveis em schemas grandes, queries longas e sites que executam muitas requisições GraphQL por página (por exemplo, WordPress headless, APIs internas).
Sites grandes que anteriormente atingiam os limites de memória do PHP ou apresentavam tempos de resposta lentos devem perceber uma diferença real, sem necessidade de alterações de configuração — basta atualizar o plugin.
🔒 Configurações de segurança padrão reforçadas
Três áreas receberam configurações padrão mais rígidas para que o plugin seja mais seguro desde o início.
Email Sender — Capability obrigatória
A mutation _sendEmail agora pode ser restrita a usuários com uma capability WordPress específica, configurada em Plugin Configuration > Email Sender.

O padrão é manage_options para que assinantes não possam usar a mutation para enviar spam a destinatários arbitrários. Selecione (any logged-in user) para desativar a verificação.
HTTP Client — Capability obrigatória para acessar URLs internas
Algumas URLs resolvem para endereços internos (127.0.0.1, faixas link-local, endpoints cloud-metadata, etc.) que podem expor serviços internos se acessados. Uma nova configuração em Plugin Configuration > HTTP Client restringe o acesso a esses endereços a usuários com uma capability WordPress específica.

O padrão é manage_options para que usuários não-admin não possam acessar serviços internos pelos campos do HTTP Client. Selecione (any logged-in user) para desativar a verificação.
Environment Variables — denylist para usuários não-admin
O campo _env já exigia uma allow-list explícita, e essa lista está vazia por padrão. O v18 adiciona uma camada extra de segurança para usuários não-admin: mesmo que esses nomes estejam na allow-list da configuração, o acesso lhes é negado.
Sempre negados (segredos do 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.
Também negados — qualquer variável cujo nome contenha: PASSWORD, PASSWD, SECRET, PRIVATE_KEY, API_KEY, APIKEY, ACCESS_KEY, ACCESS_TOKEN, AUTH_TOKEN, BEARER, CREDENTIAL, SALT.
Usuários admin continuam com acesso total.
➡️ Consulte a seção Security da documentação para a lista completa.
🌐 Tradução: novo provider Gemini
A directive @strTranslate agora suporta Google Gemini como provider de tradução, ao lado de ChatGPT, Claude, DeepL, DeepSeek, Google Translate, Mistral, OpenRouter e LLMs self-hosted.
Traduza qualquer campo String para o idioma desejado:
{
posts {
title @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
content @strTranslate(
from: "en",
to: "fr",
provider: gemini
)
}
}Os seguintes modelos Gemini são suportados:
- 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)
Configure sua chave de API do Google (via Settings, wp-config.php ou variável de ambiente), escolha um modelo e você estará pronto para traduzir.
➡️ Consulte a documentação de referência do Gemini Translation.
⏱️ Tradução: timeouts de Request e Connection
Traduzir um documento longo por meio de um provider terceiro pode ser lento, e um upstream travado manteria um worker PHP ocupado até o próprio PHP encerrar a requisição — resultando em um genérico HTTP 502 / 504 ou uma página em branco "Maximum execution time exceeded".
O v18 expõe duas configurações de timeout em Plugin Configuration > Translation:
- Request timeout: tempo máximo (em segundos) para aguardar a resposta completa do provider de tradução.
- Connection timeout: tempo máximo (em segundos) para aguardar ao estabelecer a conexão.

Mantenha ambos os valores ligeiramente abaixo do max_execution_time do seu servidor para que uma tradução travada falhe de forma controlada com um erro nos logs em vez de acionar o timeout genérico do servidor. Se suas traduções frequentemente esgotam o tempo, aumente ambos esses valores e o max_execution_time do seu servidor em conjunto.
🐛 Correções de bugs e patches de segurança
Além das novas funcionalidades acima, o v18.0 também inclui várias correções de bugs e corrige algumas vulnerabilidades de segurança. Recomendamos fortemente atualizar para o v18 o quanto antes.
Atualização
A versão está sendo disponibilizada agora pelo diretório de plugins do WordPress e pelo seu painel de cliente. Atualize pelo administrador do WordPress (Plugins → Updates), ou baixe a versão mais recente da sua conta.
Consulte o changelog para a lista completa de alterações.
Aproveite o v18! 🎉