# Changelog

## 1.3.0

- `cord listen` ya no deja despierta la base de Cord: mientras no llegan eventos, la consulta se responde sin tocarla. Consulta cada segundo después de un evento y cada 4 mientras no llega nada.
- `cord listen` confirma cada reenvío: si tu servidor no responde, el evento vuelve a la cola y se reintenta a los 5, 15, 30 y 60 segundos. Antes se daba por entregado al recogerlo.
- El secreto de firma de `cord listen` es el mismo en cada sesión de la llave: reiniciar no obliga a cambiar el `.env`.
- `cord listen` cierra su sesión también al cerrar la terminal, corta el reenvío a los 15 segundos y acepta `--skip-verify`, `--print-secret` y `--close-all`. Abrir más de 5 sesiones con una llave cierra la más vieja en lugar de fallar.
- Un nombre de evento que no está en el catálogo es un error con sugerencia (antes escuchaba todos).
- `cord init` en Astro crea una ruta que funciona (antes respondía 500) y el proxy de Elements; Next.js Pages Router recibe su propia ruta con el cuerpo crudo; Laravel y Python reciben un verificador que no truena con una firma mal formada.
- `cord login` espera los 10 minutos completos, guarda la llave antes de verificarla e identifica el equipo con un id propio. La llave del CLI no cuenta en el tope de llaves del plan.
- `cord logout` revoca la llave en Cord. Nuevo `cord status` con permisos, vencimiento y perfil; `--profile` y `CORD_PROFILE` para varias cuentas.
- Nuevos `cord logs tail`, `cord api`, `cord open`, `cord completion` y `cord trigger --list`. `events tail` muestra también los eventos que disparas.
- `--json` en todos los comandos, `--yes`, `--debug` y `--no-color`; `cord init --framework --no-install` y `cord setup --no-wait` para CI. Errores a stderr y códigos de salida 0, 1, 2 y 130.
- Los errores se clasifican por código: una llave vencida pide `cord login` y deja de reintentar; sin red, reintenta sin cerrar tu sesión.
- Opciones desconocidas o que no aplican al comando se rechazan con sugerencia, y cada comando tiene su ayuda (`cord <comando> --help`).
- El CLI habla español, inglés, portugués, francés y alemán según tu sistema o `CORD_LANG`.
- Avisa una vez al día si hay una versión nueva (`CORD_NO_UPDATE_CHECK=1` lo apaga). En Windows, la configuración vive en `%APPDATA%`.

## 1.2.1

- `cord init` en Laravel, Django, Flask y FastAPI deja un verificador de firma sin dependencias en lugar de sugerir los SDK de PHP y Python, que todavía no están publicados.

## 1.2.0

- `npx @flouviahq/cli` sin comando abre el asistente: conecta la terminal, configura la cuenta con IA, integra el proyecto (instala el SDK con tu gestor de paquetes, crea las rutas y escribe el `.env`) y deja los webhooks escuchando, con menús, indicadores de progreso y un resumen final.
- Al autorizar desde el asistente, Cord puede crear también una Secret Key de prueba para el proyecto y el asistente la guarda en tu archivo de entorno ignorado por git.
- `cord listen` guarda el secreto de la sesión con `--env-file .env.local`.
- Reconectar el mismo equipo revoca su llave anterior del CLI.
- Todos los comandos con la nueva interfaz; sigue sin dependencias en tiempo de ejecución.

## 1.1.0

- `cord login` inicia sesión desde el navegador con un código de confirmación: la terminal recibe una llave restringida de prueba (90 días) sin copiar nada. `--no-browser` imprime la dirección; `--api-key` sigue aceptando una llave pegada.
- Nuevo `cord setup`: propone la configuración de la cuenta (perfil, marca, impuestos, catálogo y plantillas) a partir de tu sitio, una descripción y tu lista de precios. Se aprueba en el navegador y la terminal muestra el resultado.
- `cord init` sugiere `cord setup` cuando la cuenta todavía está vacía.
- El navegador solo se abre con direcciones del mismo origen que la API.

## 1.0.0

- `cord init`, `login`, `listen`, `trigger`, `simulate` y `events tail`.
