Skip to content

v0.1.0

Pre-release
Pre-release

Choose a tag to compare

[0.1.0] — 2026-07-03

Release inaugural. Al ser la primera versión publicada, no hay base previa
respecto de la cual registrar cambios o correcciones: esta sección describe el
estado con el que nace el producto.

Añadido

  • Motor de síntesis offline con Chatterbox Multilingual (alias
    es-mx-latam, español latinoamericano): voz por defecto empaquetada
    (default, de fábrica) y clonación de voz vía voice add con modelo
    dual-audio (reference.wav para timbre + speech.wav para conditioning).
    El audio generado no lleva marca de agua (watermark de PerthNet desactivado
    por diseño; ver «Uso ético y responsable»).
  • CLI multiplataforma (Windows/Linux/macOS, idéntica en los tres SO) con
    los comandos speak, voice (add/list/remove), daemon
    (start/stop/restart/status/serve), devices, doctor, setup,
    cleanup y version; salidas de usuario en español.
  • Contrato programático para orquestadores (consumo vía subprocess):
    stdout reservado para datos y diagnóstico/progreso por stderr (UTF-8 forzado);
    mapa de códigos de salida congelado — 0 éxito, 1 error genérico, 2
    modelo no provisionado, 3 voz/audio no encontrado, 4 entrada inválida,
    5 daemon inalcanzable, 130 interrupción (Ctrl+C, sin traceback) —;
    --json con schema_version en los comandos de lectura (version,
    doctor, devices, voice list, daemon status).
  • Progreso real en vivo durante speak: eventos de etapa (conditionals →
    T3 → S3Gen → encoding → guardado) y conteo de tokens del T3 alimentan un
    indicador sobre stderr (solo en TTY), en modo directo y daemon.
  • Modo daemon: servidor HTTP persistente en loopback (puerto fijo 8765,
    sin autenticación — control de acceso delegado al SO) que mantiene el modelo
    en memoria entre invocaciones; /synthesize responde un stream NDJSON
    (progressresult/error, modelos Pydantic en daemon/protocol.py);
    sandbox de rutas de audio (solo directorios de voces) con degradación
    automática a modo directo o error accionable según el despacho; auto-reinicio
    opcional (--autorestart, --max-retries).
  • Validación de entrada en speak: --text acotado a 5000 caracteres
    (exit 4 en ambas rutas, directa y daemon) con advertencia no bloqueante por
    encima de 2000; --compute-backend (auto/cpu/cuda/mps) con aviso
    cuando el daemon lo ignora; --output crea los directorios padres.
  • Ciclo de vida de provisión completo: setup idempotente (chequeos de
    entorno + descarga ligera vía snapshot_download, sin cargar el modelo en
    RAM; incluye ve.safetensors para que ningún speak posterior necesite
    red), pre-chequeo de espacio en disco, --force-update para re-descarga
    limpia, e integración de PATH en Linux/AppImage (--remove-path la
    revierte); speak/daemon start fallan rápido remitiendo a setup sin
    descargas silenciosas; cleanup desaprovisiona quirúrgicamente
    (--model/--voices/--all/--dry-run, confirmación interactiva, --yes
    y EOF tratado como cancelación limpia para uso programático).
  • Distribución por SO: instalador de Windows (Inno Setup, PATH + casilla de
    setup), AppImages de Linux x86_64/aarch64 (runtime estático, sin libfuse2;
    requiere glibc ≥ 2.35, documentado con troubleshooting) y .dmg de macOS
    arm64 con scripts de instalación/desinstalación y LSMinimumSystemVersion
    derivada dinámicamente del toolchain.
  • Cadena de suministro y CI: lockfile universal con hashes
    (requirements-lock.txt, instalado con --require-hashes) y lock CPU-only
    de Linux x86_64 (sin el stack nvidia-*-cu12, AppImage de cientos de MB en
    vez de GB); triple puerta de tests en CI (Linux/Windows/macOS nativos) que
    bloquea los 4 builds; smoke test del binario congelado en cada build; SHA-256
    de cada artefacto emitido en el log y SHA256SUMS.txt en el Release; runbook
    de publicación en docs/RELEASING.md.
  • Documentación y gobernanza: USAGE.md (guía por caso de uso),
    docs/DESIGN.md, docs/ARCHITECTURE.md, docs/DAEMON-MODE.md,
    docs/BUILD.md, docs/RELEASING.md, sección de uso ético y responsable
    (README/USAGE), CONTRIBUTING.md, SECURITY.md, este CHANGELOG.md y
    THIRD-PARTY-LICENSES.md (inventario de licencias generado del lockfile).
    Código propio bajo GPL-3.0-or-later; modelo MIT.