v0.9.6
Release date: 2026-11-04
Ejecuciones confiables de la CLI en CI
Section titled “Ejecuciones confiables de la CLI en CI”La interfaz de línea de comandos se vuelve confiable en integración continua, y la app de escritorio incorpora los cambios del motor que lo hacen posible. Varios de estos cambios modifican el comportamiento a propósito; están marcados como Cambio de comportamiento.
Corregido
Section titled “Corregido”- Los valores que define un script ahora llegan a la siguiente solicitud de una ejecución. Un token
que una solicitud de login guarda con
fp.environment.setlo usa la llamada autenticada que sigue;fp.environment.removese propaga de la misma forma. Antes se descartaba, así que la llamada fallaba con un 401. - Los secretos ya no se filtran a través de los scripts. Lo que un script registra en el log, el
nombre de un test, el mensaje de una aserción fallida y un error de script ahora muestran un secreto
como
{secret:<name>}en la terminal, en todos los reportes, en el historial de ejecuciones y en la consola de scripts del escritorio — incluido un valor que el propio script escribe con el nombre de una variable secreta. - La línea de comandos envía los bodies binarios de las solicitudes. Una solicitud cuyo body es un archivo adjunto antes salía con el body vacío. Un archivo faltante, o una referencia no válida en el archivo de la solicitud, ahora hace fallar esa solicitud como “not run” en lugar de enviarla vacía. (Cambio de comportamiento)
- Las respuestas comprimidas se decodifican (
gzip,deflate,br) tanto en el escritorio como en la línea de comandos, así las aserciones y el visor leen el body real. Un body que no se puede decodificar se conserva tal como se recibió, con una advertencia, yfp.response.json()falla con esa causa. El registro de actividad guarda como texto una respuesta de texto comprimida que se decodificó. - Las ejecuciones que no hicieron nada ya no pasan. Una carpeta de destino sin ninguna solicitud
detiene la ejecución con el código de salida
19(Cambio de comportamiento). - Se rechazan los valores que la línea de comandos no podía respetar.
--timeouty--delayaceptan números enteros de0a2147483647; cualquier otro valor es un error de uso (salida3) en lugar de ignorarse. (Cambio de comportamiento) - Una configuración ilegible detiene la ejecución. Un
.fetchpier/settings.jsonque no se puede parsear, o unconfig.jsonque no se puede parsear para el entorno seleccionado, sale con el código4nombrando el archivo, en lugar de ejecutarse con los valores por defecto (lo que descartaba la configuración TLS) o de reportar el entorno como inexistente.fp env listadvierte sobre los entornos ilegibles. Un archivo de entorno que se puede parsear pero no tienenameoid(o cuyovariablesno es un objeto) también cuenta como ilegible: antes hacía fallar con un error interno cadafp runyfp env listdel workspace, aunque estuviera seleccionado otro entorno. (Cambio de comportamiento) - La terminal muestra el entorno por su nombre de carpeta en lugar de su identificador interno,
-v/-vv/-vvvahora agregan detalle, y la salida de los scripts (fp.log) se muestra en ejecuciones de varios archivos. - Un timeout vencido se reporta como
timed out after <limit>en ambas superficies, no como una cancelación. - Ninguna línea de diagnóstico interno (
[execute] …,[parser] …) llega a la salida; ahora son advertencias, también en el reporte JSON con un código estable. - El
User-Agentpor defecto ya no anuncia la versión 0.1.0. - La sugerencia “Did you mean …?” para un path faltante es correcta cuando al directorio actual o al workspace se llega a través de un enlace simbólico (como ocurre con las carpetas temporales de macOS); antes sugería un path que subía hasta la raíz.
Agregado
Section titled “Agregado”- Soporte de proxy para la línea de comandos:
HTTPS_PROXY/HTTP_PROXY/NO_PROXY,--proxy <url>y--no-proxy. El encabezado nombra el proxy y la lista de exclusiones; con-v, cada solicitud indica si pasó por el proxy o salió directamente. Una URL de proxy inutilizable detiene la ejecución (salida3). --persist-envguarda los cambios de variables hechos por scripts en los valores locales, exactamente como lo hace el escritorio. Sin esta opción, una ejecución no escribe nada en el workspace.- Redacción de credenciales y cookies en la salida de la terminal y en los reportes de la línea de
comandos: la credencial de la auth por API key (en query o cabecera) y los valores de
Cookie/Set-Cookie, además deAuthorization.--show-secretslos revela. El historial de ejecuciones (--save-history) no cambia. - Una advertencia cuando una variable que usa una solicitud proviene de un
{{$env.NAME}}que no está definido en ningún lado, por lo que se envió vacía. - Los avisos que antes eran líneas de log ahora se muestran: un cookie jar o un material TLS que no se
pudo usar, un downgrade a HTTP/2, un
Content-Typede multipart reemplazado, una escritura de un script que no se pudo guardar — en las advertencias de la línea de comandos y, en el escritorio, en un aviso descartable arriba de la respuesta. - El reporte JSON incorpora campos opcionales:
environmentNamey, por respuesta,compressedBytes,decompressedBytesydecodingStatus; por solicitud,notRunyvia. Su versión sigue siendo1.0. Los scripts incorporanfp.response.decodingStatus. - El visor de respuestas muestra tanto el tamaño recibido como el decodificado de una respuesta comprimida, y marca un body que no se pudo decodificar.
Cambiado
Section titled “Cambiado”- Timeout por defecto de 30 segundos por solicitud en la línea de comandos (el valor por defecto
del escritorio).
--timeout 0es la única forma de desactivarlo. (Cambio de comportamiento) Accept-Encoding: gzip, deflate, brse envía por defecto en ambas superficies cuando una solicitud no lo define. (Cambio de comportamiento)User-Agentpor defecto:Fetchpier/<app version>desde el escritorio yFetchpier-CLI/<CLI version>desde la línea de comandos, aplicado en el momento del envío y nunca escrito en los archivos de solicitud; ambos valores por defecto aparecen en el editor de cabeceras como filas de solo lectura. Un valor ya guardado en un archivo se sigue enviando tal como está escrito. (Cambio de comportamiento)- Una solicitud que no obtuvo respuesta se muestra como
no response: <reason>cuando se intentó un envío y comonot run: <reason>cuando no; el caso de test de JUnit que antes se llamabarequest not sentse renombra en consecuencia. (Cambio de comportamiento) - Un valor que define un script prevalece sobre
--env-vara partir de ese momento. - La referencia de la CLI documenta la configuración TLS, el comportamiento ante variables faltantes, los límites del enmascarado de secretos, que el historial conserva los valores de las cookies, y que la CLI puede alinear el nombre visible de un entorno con su carpeta.
Release completa: v0.9.6 en GitHub.