TodosNovoMelhoriaCorrigido
Melhoria

Atualização do Playground, Reset e transporte sob demanda

Atualizar o Playground não pisca mais o estado estático antes que o seu reapareça. Um novo botão Reset (após confirmação) limpa todas as três abas de request, cookies e proxies transportados de uma só vez. Uma response agora também pode transportar seu ID de proxy ou User-Agent para a próxima request quando você solicitar, em vez de aplicar automaticamente por baixo dos panos.

Novo

Veja quanto cada request custa em créditos

Cada response de API agora inclui um header x-foura-credits mostrando quanto essa chamada custou. Uma nova view de Budget no Dashboard detalha o consumo de créditos por API key, domínio e IP do cliente com um gráfico de linha do tempo, e o Playground mostra o mesmo em cada response para que você possa dimensionar o workload antes de escalá-lo.

Novo

Blog da FourA agora em sete idiomas

Cada post no blog agora é renderizado em inglês, búlgaro, alemão, polonês, vietnamita, chinês e árabe. Blocos de código, markdown e links são preservados, e a busca retorna títulos localizados.

Melhoria

As respostas refletem o proxy que as processou

Cada Single response agora inclui o ID do proxy que processou a request, e as Browser responses fazem o mesmo. Útil para chamadas encadeadas que precisam manter o mesmo proxy.

Novo

Árabe entra no ar (com RTL)

O site principal agora é renderizado em árabe com layout completo da direita para a esquerda, elevando a lista de locales para sete. Se o idioma do seu navegador não corresponder à página de destino, um banner fino oferece a opção de alternar.

Melhoria

Colunas ordenáveis e barra lateral retrátil

Clique no cabeçalho de uma coluna no Dashboard para ordená-la. Funciona em Activity, API Keys e sessões, persiste ao auto-refresh, e Ctrl-clique (Cmd no Mac) limpa a seleção. A barra lateral também colapsa para uma barra de ícones quando quiser que a tabela respire.

Novo

Browser resolve Turnstile interativo de ponta a ponta

Sites que barram requests atrás de um widget de desafio interativo (o padrão Turnstile gerenciado é o mais comum) agora retornam HTML renderizado quando você chama o Browser com unblocker: true. Verificado de ponta a ponta contra sites sabidamente protegidos que antes retornavam a página de desafio.

Novo

Site e Playground em seis idiomas

Escolha seu idioma no globo no header. O site e o Playground agora estão disponíveis em búlgaro, chinês, alemão, polonês, vietnamita e inglês, com URLs com suporte a locale que você pode salvar nos favoritos ou compartilhar.

Corrigido

Acesso cross-origin restrito na API

Restringimos o acesso cross-origin para que apenas foura.ai possa chamar a API com credenciais. Também reforçamos um filtro de entrada no endpoint de métricas e removemos um segredo de fallback exclusivo de desenvolvimento. As integrações existentes não mudam.

Corrigido

Regras de validação personalizadas contam como sucesso

Se você definiu validate.status.accept em um request, o mecanismo trata um não-200 aceito como um sucesso limpo. O Activity ainda estava rotulando esses casos como falhas, o que distorcia suas estatísticas de uso. Os resultados agora seguem o seu veredito de validação, de modo que um 403 aceito por você aparece como sucesso, e não como App Fail.

Melhoria

Rótulos do Activity correspondem ao Overview

O Activity costumava exibir strings de resultado brutas como Application_fail, enquanto o Overview usava rótulos amigáveis (App Fail) com as cores corretas. Agora, o Activity usa os mesmos rótulos e cores, de modo que as duas visualizações sejam lidas da mesma forma.

Corrigido

Páginas não UTF-8 agora decodificam corretamente

Se você estava fazendo scraping de páginas em cirílico, chinês, japonês ou outras páginas não UTF-8 via Single, o corpo costumava retornar como mojibake. Nós forçávamos a decodificação de cada response como UTF-8 antes de você ver os bytes brutos. Agora lemos o charset do response (Content-Type, depois <meta charset>, depois fallback para UTF-8) e o decodificamos corretamente. Obrigado, Alexandar Kanchev (Sensika), por reportar isso.

Corrigido

Detectamos proxies falsos que ecoam seu request de volta

Alguns proxies em circulação não encaminham de fato o seu request. Eles o ecoam de volta como um dump de servidor em plaintext e tentam capturar o que está dentro. Agora detectamos esse padrão antes que o response chegue ao seu código, de modo que o Single, o Browser e o Proxy Finder retornam uma falha real (ou retry) em vez de lixo.

Novo

Reproduzir qualquer linha de Atividade no Playground

Cada linha de Atividade com um payload armazenado agora é clicável: o diálogo mostra o request e a response completos (pretty-printed, com botões para copiar e mensagens claras para requests que falharam antes de produzir um corpo). Clique em 'Open in Playground' para carregar essa chamada exata de volta no formulário com sua response arquivada já renderizada, permitindo que você ajuste os parâmetros e reexecute sem precisar reconstruí-la. Os payloads armazenados permanecem disponíveis por 24 horas, limitados aos últimos 200 por chave.

Melhoria

Cada response de API contém um ID de request

Chamadas autenticadas agora retornam com um header X-Foura-Request-Id. Armazene-o em seus próprios logs e você poderá associar qualquer request à sua linha em Activity, ou envie-o ao suporte para que possamos verificar exatamente o que aconteceu do nosso lado.