v0.9.6
Release date: 2026-11-04
Execuções confiáveis da CLI no CI
Section titled “Execuções confiáveis da CLI no CI”A interface de linha de comando passa a ser confiável na integração contínua, e o app desktop recebe as mudanças de motor que tornam isso possível. Várias delas mudam o comportamento de propósito; estão marcadas como Mudança de comportamento.
Corrigido
Section titled “Corrigido”- Valores definidos por um script agora chegam à próxima requisição de uma execução. Um token que
uma requisição de login guarda com
fp.environment.seté usado pela chamada autenticada seguinte;fp.environment.removeé propagado da mesma forma. Antes ele era descartado, e a chamada falhava com um 401. - Segredos não vazam mais por meio de scripts. O que um script registra, o nome de um teste, a
mensagem de uma asserção que falhou e um erro de script agora mostram um segredo como
{secret:<name>}no terminal, em todos os relatórios, no histórico de execuções e no console de scripts do desktop — incluindo um valor que o próprio script escreve sob o nome de uma variável secreta. - Bodies binários de requisições são enviados pela linha de comando. Uma requisição cujo body é um arquivo anexado saía com o body vazio. Um arquivo ausente, ou uma referência inválida no arquivo da requisição, agora faz essa requisição falhar como “not run” em vez de enviá-la vazia. (Mudança de comportamento)
- Respostas comprimidas são decodificadas (
gzip,deflate,br) tanto no desktop quanto na linha de comando, então as asserções e o visualizador leem o body real. Um body que não pode ser decodificado é mantido como recebido, com um aviso, efp.response.json()falha com essa causa. O log de atividade registra como texto uma resposta de texto comprimida que foi decodificada. - Execuções que não fizeram nada não passam mais. Uma pasta de destino sem nenhuma requisição para a
execução com o código de saída
19(Mudança de comportamento). - Valores que a linha de comando não podia respeitar são recusados.
--timeoute--delayaceitam números inteiros de0a2147483647; qualquer outro valor é um erro de uso (saída3) em vez de ser ignorado. (Mudança de comportamento) - Uma configuração ilegível interrompe a execução. Um
.fetchpier/settings.jsonque não pode ser parseado, ou umconfig.jsonque não pode ser parseado do ambiente selecionado, sai com o código4nomeando o arquivo, em vez de executar com os padrões (o que descartava as configurações de TLS) ou de reportar o ambiente como ausente.fp env listavisa sobre ambientes ilegíveis. Um arquivo de ambiente que é parseado mas não temnameouid(ou cujovariablesnão é um objeto) também conta como ilegível: antes ele derrubava todofp runefp env listdo workspace com um erro interno, mesmo quando outro ambiente estava selecionado. (Mudança de comportamento) - O terminal mostra o ambiente pelo nome da pasta em vez do identificador interno,
-v/-vv/-vvvagora acrescentam detalhes, e a saída de scripts (fp.log) é mostrada em execuções de vários arquivos. - Um timeout expirado é reportado como
timed out after <limit>nas duas superfícies, e não como um cancelamento. - Nenhuma linha de diagnóstico interno (
[execute] …,[parser] …) chega à saída; agora são avisos, também no relatório JSON, com um código estável. - O
User-Agentpadrão não anuncia mais a versão 0.1.0. - A dica “Did you mean …?” para um path ausente está correta quando o diretório atual ou o workspace é alcançado por meio de um link simbólico (como as pastas temporárias do macOS); antes ela sugeria um path que subia até a raiz.
Adicionado
Section titled “Adicionado”- Suporte a proxy na linha de comando:
HTTPS_PROXY/HTTP_PROXY/NO_PROXY,--proxy <url>e--no-proxy. O cabeçalho nomeia o proxy e a lista de exclusões; em-v, cada requisição informa se passou pelo proxy ou foi direta. Uma URL de proxy inutilizável para a execução (saída3). --persist-envsalva as mudanças de variáveis feitas por scripts nos valores locais exatamente como o desktop. Sem ela, uma execução não escreve nada no workspace.- Redação de credenciais e cookies na saída do terminal e nos relatórios da linha de comando: a
credencial de auth por API key (query ou cabeçalho) e os valores de
Cookie/Set-Cookie, além deAuthorization.--show-secretsos revela. O histórico de execuções (--save-history) não muda. - Um aviso quando uma variável usada por uma requisição vem de um
{{$env.NAME}}que não está definido em lugar nenhum, e por isso foi enviada vazia. - Avisos que antes eram linhas de log agora são mostrados: um cookie jar ou material TLS que não pôde ser
usado, um downgrade de HTTP/2, um
Content-Typemultipart substituído, uma escrita de script que não pôde ser salva — nos avisos da linha de comando e, no desktop, em um aviso descartável acima da resposta. - O relatório JSON ganha campos opcionais:
environmentNamee, por resposta,compressedBytes,decompressedBytesedecodingStatus; por requisição,notRunevia. Sua versão continua1.0. Os scripts ganhamfp.response.decodingStatus. - O visualizador de respostas mostra tanto o tamanho recebido quanto o decodificado de uma resposta comprimida, e sinaliza um body que não pôde ser decodificado.
Alterado
Section titled “Alterado”- Timeout padrão de 30 segundos por requisição na linha de comando (o padrão do desktop).
--timeout 0é a única forma de desativá-lo. (Mudança de comportamento) Accept-Encoding: gzip, deflate, bré enviado por padrão nas duas superfícies quando uma requisição não o define. (Mudança de comportamento)User-Agentpadrão:Fetchpier/<app version>a partir do desktop eFetchpier-CLI/<CLI version>a partir da linha de comando, aplicado no momento do envio e nunca escrito nos arquivos de requisição; ambos os padrões aparecem no editor de cabeçalhos como linhas somente leitura. Um valor já salvo em um arquivo continua sendo enviado como foi escrito. (Mudança de comportamento)- Uma requisição que não obteve resposta aparece como
no response: <reason>quando houve uma tentativa de envio e comonot run: <reason>quando não houve; o caso de teste JUnit antes chamadorequest not senté renomeado de acordo. (Mudança de comportamento) - Um valor que um script define prevalece sobre
--env-vara partir desse ponto. - A referência da CLI documenta a configuração de TLS, o comportamento com variáveis ausentes, os limites do mascaramento de segredos, que o histórico mantém os valores de cookies e que a CLI pode alinhar o nome de exibição de um ambiente com sua pasta.
Release completa: v0.9.6 no GitHub.