TodosNovoMelhoriaCorrigido
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.

Melhoria

Cancelar requests do playground em andamento

Clique no novo botão Cancelar enquanto um request do playground está carregando e nós o abortamos de forma limpa. O painel volta ao estado ocioso com uma nota 'Request cancelado' em vez de um erro de rede assustador.

Novo

Revelar chaves de API após a criação

As chaves que você criar a partir de hoje podem ser reveladas a qualquer momento, tanto na página de API Keys quanto dentro do reprodutor curl do playground. Clique no olho, confirme, e a chave completa será exibida por 15 segundos antes de desaparecer (cada revelação é registrada no log de auditoria). Chaves mais antigas continuam com visualização única; regenere qualquer chave antiga para torná-la revelável.

Melhoria

Proxy Finder reverifica o pool mais rápido

A fila de reverificação agora esvazia em dias em vez de semanas. Reduzimos o tempo para escolher cada proxy a ser testado de cerca de 2 segundos para cerca de 10 ms, para que o pool permaneça mais atualizado sob carga. Menos IPs inativos em rotação, e cada chamada do Single e do Proxy Finder trabalha com um conjunto mais saudável.

Melhoria

Pool de proxies atualiza mais rápido

Após remover o limite por execução de ontem, a atualização continuava travando sempre que um grande bloco de proxies dominava a fila. Agora distribuímos cada lote entre sub-redes distintas, para que cada execução use todo o orçamento de concorrência. O pool do Proxy Finder renova 5-10x mais rápido e as entradas obsoletas são limpas em poucas horas.

Corrigido

Proxies recém-descobertos chegam mais rápido ao pool

Corrigimos uma lentidão que deixava proxies recém-descobertos aguardando antes de serem validados. O Proxy Finder agora os verifica imediatamente, de modo que o pool permanece mais atualizado, com mais proxies ativos e funcionais em rotação.

Melhoria

Playground agora funciona em celulares

Abaixo de 768px, a linha de URL se reorganiza em duas linhas, as abas de response rolam horizontalmente e a tabela de cookie se torna um grid de cards. Tooltips de dica abrem ao tocar em vez de hover; o iPhone SE (abaixo de 374px) recebe redução extra. O botão Send está centralizado corretamente e uma URL longa não empurra mais a página para a rolagem horizontal.

Melhoria

O expand do Playground agora é um overlay em tela cheia real

O expand costumava esticar o card de response dentro do fluxo da página, de modo que painéis altos adicionavam scroll ao body e deslocavam o layout. Agora ele é um overlay fixo entre a sidebar e a borda da viewport, com painéis que crescem para preencher a viewport. Escape o fecha; um único helper gerencia os caminhos de clique e de teclas.

Corrigido

Cookies do Playground seguem as regras host-only da RFC 6265

Cookies host-only estavam vazando para subdomínios. Rastreamos o atributo Domain corretamente agora e adicionamos um badge HO na visualização Parsed para o caso (incomum) host-only. A visualização Raw corresponde ao que o upstream enviou: Domain=.example.com para cookies de domínio, sem linha Domain= para host-only.