Skip to content

Releases

v1.2.0 · Binarios verificables

Choose a tag to compare

@BertMarti BertMarti released this 10 Nov 10:34
d78fdc7

Binarios que puedes comprobar tú y una galería más fácil de recorrer.

Si ya usas commitling no tienes que hacer nada: con BertMarti/commitling@v1 tu criatura sale exactamente igual (todas las tarjetas son las de la 1.1.0, byte a byte) y la Action mantiene las mismas opciones.

Añadido

  • Atestaciones de procedencia. Cada binario de esta release (Linux, macOS y Windows; amd64 y arm64) lleva una atestación firmada por GitHub que dice de qué commit y de qué workflow salió. Si te bajas uno para usar la línea de órdenes sin instalar Go, compruébalo con la CLI de GitHub (2.49 o posterior, con la sesión iniciada: gh auth login):

    gh attestation verify commitling_1.2.0_linux_amd64 --repo BertMarti/commitling

    Cambia el nombre por el del archivo que te hayas bajado. Si dice «Verification succeeded», el archivo no ha cambiado ni un byte desde que lo compiló y firmó un workflow de este repositorio; para exigir además que fuera el workflow «Release», añade --signer-workflow BertMarti/commitling/.github/workflows/release.yml. Hace falta gh 2.49 o posterior. La Action no necesita nada de esto: antes de usar su binario comprueba su huella SHA-256 con la lista que viaja dentro de ella y, si no coincide, compila el código con Go.

  • Filtro «Ver en la galería» en la web (https://bertmarti.github.io/commitling/#galeria): con un clic ves una sola especie (sus fases, ánimos, accesorios y tarjeta compacta) en vez de más de 200 tarjetas seguidas; «Todas» vuelve a enseñarlas. Funciona con teclado y lector de pantalla y no guarda nada en tu navegador.

  • La web explica cómo verificar los binarios en la sección nueva «Binarios verificables» (enlace «Verificar» en la cabecera).

Cambiado

  • La Action vuelve a usar el binario precompilado y verificado de esta versión (sin compilar en cada ejecución), como en la 1.1.0.

v1.1.0 · Llega la calabaza

Choose a tag to compare

@BertMarti BertMarti released this 02 Nov 15:36
e7776c6

¡Una especie nueva para tu perfil! commitling estrena su cuarta criatura: la calabaza, una calabaza de huerto con ojos, dibujada píxel a píxel como las demás.

Si ya usas commitling no tienes que hacer nada: con BertMarti/commitling@v1 tu criatura sigue igual (el brote de musgo, el hongo y el cactus se dibujan exactamente como antes) y la Action mantiene las mismas opciones.

Añadido

  • Cuarta especie: la calabaza (species: pumpkin; también vale calabaza). Crece con tu actividad pasando por cinco fases:

    • Pepita: una pepita con un brote enroscado.
    • Plántula: dos hojas redondas que aún llevan puesta la cáscara de la pepita.
    • Calabacita: una calabaza pequeña, verde y rayada.
    • Calabaza: naranja, con sus gajos, una hoja y un zarcillo.
    • Calabaza gigante: la más grande del huerto.

    Tiene las mismas reglas que las demás especies: la misma experiencia por fase, los cuatro ánimos (durmiendo, aburrido, contento y radiante) y los tres accesorios (gorro, bufanda y flor). Funciona con el tema claro y el oscuro y con la tarjeta compacta.

  • Para elegirla, añade species: pumpkin en el paso de la Action:

          - uses: BertMarti/commitling@v1
            with:
              species: pumpkin

    o elige «Calabaza» en el generador de la web (https://bertmarti.github.io/commitling/#instalar), que te da el workflow ya relleno. En la terminal: commitling render --species pumpkin y commitling workflow --species pumpkin.

  • La web enseña la calabaza en la galería (todas sus fases y ánimos, en claro, oscuro y compacta), en «Pruébalo con tu usuario» y en la demo «Míralo crecer».

Cambiado

  • La imagen de vista previa que sale al compartir el enlace de la web muestra ya las cuatro especies (dos por fila).
  • La web describía la primera fase del cactus como «una semilla»; es la yema.
  • La Action vuelve a usar el binario precompilado y verificado de esta versión (sin compilar en cada ejecución), como en la 1.0.0.

v1.0.0 · Primera versión estable

Choose a tag to compare

@BertMarti BertMarti released this 27 Oct 20:13
0a58ff2

¡Ya está aquí la versión 1.0! Es la primera versión estable de commitling y reúne todo lo hecho desde la v0.7.0: seguridad, una instalación guiada, una tercera especie y una Action más rápida. No rompe nada: tu workflow sigue igual (mismas opciones, mismo archivo) y las tarjetas del brote de musgo y del hongo son idénticas a las de antes.

Novedades ✨

  • Tercera especie: el cactus: ya puedes elegir al cactus (species: cactus) como compañero, con sus propias fases de crecimiento desde yema hasta cactus centenario.
  • Instalación guiada paso a paso: el nuevo generador de la web te guía por 6 sencillos pasos para configurar tu perfil, incluso si nunca has usado GitHub Actions.
  • Tema automático: el generador de la web prepara un workflow con tema «automático», que cambia entre claro y oscuro según la preferencia de quien visite tu perfil.
  • Mensajes claros en español: si algo falla (un nombre de usuario mal escrito o el límite de la API), la Action te explicará exactamente qué ha pasado y cómo arreglarlo.
  • Action mucho más rápida: la Action descarga un programa ya compilado (Linux, macOS y Windows) en vez de instalar Go y compilar en cada ejecución. Si por lo que sea no puede descargarlo, compila como antes: nunca falla por esto.
  • Selector de tema en la web: elige Sistema, Claro u Oscuro en la cabecera de la web y la página y todas las criaturas cambian al momento.
  • Nuevo comando commitling workflow: si tienes Go instalado, go run github.com/BertMarti/commitling/cmd/commitling@latest workflow --user tu-usuario escribe el workflow de tu perfil desde la terminal.
  • Tarjetas siempre perfectas: la escritura atómica del archivo asegura que nunca te quedes con un SVG cortado o corrupto si la ejecución se interrumpe.

Seguridad 🛡️

  • Go al día: se compila con Go 1.27.3, que corrige 11 vulnerabilidades de seguridad de la biblioteca estándar.
  • Privacidad protegida: la Action enmascara automáticamente tu token en los registros de ejecución para evitar filtraciones accidentales.
  • Web blindada: el sitio oficial cuenta con políticas estrictas de seguridad (CSP y Trusted Types) para evitar ataques y proteger tus datos.
  • Dependencias fijadas: las acciones de terceros que usa commitling van fijadas a una versión exacta (por su huella), para que nadie pueda colarlas cambiadas.
  • Verificación de integridad: cada binario descargado por la Action se verifica mediante su huella SHA-256 para asegurar que no ha sido alterado.

Cómo actualizar 🚀

  • Si ya usas BertMarti/commitling@v1, no tienes que hacer nada: recibirás la versión 1.0.0 automáticamente en tu próxima ejecución.
  • Si fijaste una versión exacta (como @v0.7.0), te recomendamos cambiarla a @v1.0.0 o simplemente a @v1.
  • Si aún no tienes a tu criatura, pásate por el nuevo instalador: https://bertmarti.github.io/commitling/#instalar

Registro de cambios completo: https://github.com/BertMarti/commitling/blob/v1.0.0/CHANGELOG.md

v0.7.0 · ligero

Choose a tag to compare

@BertMarti BertMarti released this 01 Oct 20:25
64b3df3

Cambiado

  • WebAssembly un 44 % más pequeño (#47): de 4.624.571 a 2.569.892 bytes (de 1.261.906 a 735.538 con gzip; unos 6,3 s a unos 3,7 s en Slow-4G). encoding/json (con reflect) pesaba 1,6 MB y fmt 0,45 MB, así que los campos de los eventos se leen a mano (internal/events/scan.go, comparado con encoding/json por un test diferencial) y render y generate usan strconv y concatenación. Las tarjetas siguen siendo idénticas byte a byte: las 96 huellas SHA-256 de v0.5.0 pasan y la galería entera y la CLI coinciden con las de v0.6.0. Event.Payload pasa de json.RawMessage a []byte. El CI compila con -trimpath, falla si el wasm pasa de 3 MB y un test impide que vuelvan encoding/json, fmt, reflect, regexp, net/http, os o las plantillas a lo que entra en el wasm.
  • Límite de la API de GitHub en el generador (#48): con las 60 peticiones por hora agotadas, el aviso dice a qué hora se restablece (cabecera X-RateLimit-Reset, en la hora local del navegador) y la web ofrece «Ver demo». Los eventos de un usuario se guardan 10 minutos en sessionStorage (por pestaña), de modo que redibujar, cambiar tamaño, especie o tema o recargar no gasta peticiones, y el nombre de usuario se valida en JavaScript antes de cargar el wasm o pedir nada (misma regla que events.ValidLogin, comprobada por un test).
  • El texto de error ante unos eventos que no son JSON válido cambia (por ejemplo, un fixture roto en --fixture): ahora dice «no se pudieron leer los eventos: JSON no válido en el byte N: …» en lugar del mensaje de encoding/json. Los códigos de salida son los mismos.
  • Los datos de cada usuario se guardan 10 minutos en la pestaña: un commit muy reciente puede tardar en verse (abre la web en otra pestaña para empezar de cero). La pista del formulario y docs/USO.md lo dicen.
  • Versión de la CLI: 0.7.0. action.yml no cambia.

Añadido

  • docs/specs/v0.7.md, con la medición por paquete del wasm, qué se aplicó y qué se descartó.
  • Test de comportamiento del generador en Node (internal/gallery/testdata/generator.test.js) con un DOM, fetch, sessionStorage y wasm simulados.

Corregido

  • Los tests de CSS (#49): el lector de reglas ignora los comentarios /* */, entiende @supports y no se traga la regla que sigue a un @charset o @import; favicon.svg entra en las huellas de compatibilidad (la de v0.5.0).

v0.6.0 · tarjeta compacta

Choose a tag to compare

@BertMarti BertMarti released this 01 Oct 15:26
6c1e066

Añadido

  • Tarjeta compacta opcional (#37 y #38): entrada size en la Action (full por defecto o compact) y --size en la CLI. La compacta es una insignia de 200x60 con la criatura, la fase, el ánimo («Contento · fase 3/5») y una barra de progreso, para firmas, barras laterales o la cabecera de un repositorio; misma paleta, mismos sprites y misma animación a escala (sin zzz ni destellos). Un valor desconocido falla con un mensaje claro. Sin size, el SVG es byte a byte el de v0.5.0: testdata/golden/full-sha256.txt guarda el SHA-256 de las 96 tarjetas de la galería de v0.5.0 y un test las compara.
  • render.Size (Full es el valor cero), generate.Options.Size (también en Check y en el workflow relleno, que solo escribe size: compact si no es el predeterminado) y argumento size, siempre el último, en commitling.render, workflow, check y demo del wasm.
  • La galería enseña la compacta en las cinco fases de las dos especies (#compacta, claro y oscuro) y el generador de la web tiene un selector «Tamaño» que redibuja en vivo, se aplica a la demo y al workflow relleno y adapta la vista previa.
  • docs/specs/v0.6.md, con la causa del desborde medida antes y después.

Corregido

  • Desborde lateral a 320 px (#39): el documento medía 338 px (a 360 y 375 px no se veía). La causa real era un <code> sin puntos de corte (.github/workflows/commitling.yml) en un paso de «Instálalo»; además las rejillas del generador sin columnas declaradas (columna implícita auto) y las tablas con la primera columna en nowrap. Ahora el código en línea parte (overflow-wrap:anywhere), toda rejilla usa minmax(0,1fr) y las tablas envuelven en móvil. Medido después: 320 px.

Cambiado

  • Los tests de CSS de la galería comprueban intenciones (lector de reglas css_test.go) en lugar de cadenas exactas de CSS.
  • Versión de la CLI: 0.6.0.
  • Generador más rápido de arrancar (#45): la descarga del wasm empieza también al tocar el formulario (pointerdown; tabular no cuenta) y se lanza en paralelo con wasm_exec.js en lugar de esperar a que cargue, reutilizando esa misma petición en instantiateStreaming (y su copia en el fallback, sin pedirlo dos veces). La criatura en vivo de la galería carga en diferido (loading="lazy").

v0.5.0 · demo en tiempo real

Choose a tag to compare

@BertMarti BertMarti released this 01 Oct 10:14
b8c41db

What's Changed

  • feat: generate.Demo y commitling.demo, el timelapse sintético de 90 días by @BertMarti in #32
  • feat: demo «Míralo crecer» en la galería by @BertMarti in #33
  • feat: cabecera animada, galería sin desborde en móvil y escenario del generador by @BertMarti in #34
  • docs: versión 0.5.0, CHANGELOG y documentación de la demo y la estética by @BertMarti in #35
  • fix: pulido de v0.5.0 tras la revisión by @BertMarti in #36

Full Changelog: v0.4.0...v0.5.0

v0.4.0 · generador en vivo

Choose a tag to compare

@BertMarti BertMarti released this 01 Oct 05:17
add5742

What's Changed

  • feat: función compartida generate.Render (v0.4.0, 1/4) by @BertMarti in #23
  • feat: paquete wasm, CI y despliegue (v0.4.0, 2/4) by @BertMarti in #24
  • feat: generador en vivo en la galería (v0.4.0, 3/4) by @BertMarti in #25
  • feat: descarga del SVG, workflow relleno y documentación (v0.4.0, 4/4) by @BertMarti in #26
  • fix: pulido de v0.4.0 y versión 0.4.0 by @BertMarti in #27

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@BertMarti BertMarti released this 30 Sep 20:09
9c3d8b5

What's Changed

  • feat: conservar el último SVG válido ante caídas largas de la API by @BertMarti in #17
  • chore: prepara la release 0.3.0 by @BertMarti in #18

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@BertMarti BertMarti released this 30 Sep 19:37
b55095d

What's Changed

  • feat(github): reintentos ante 5xx y límite de peticiones by @BertMarti in #10
  • feat(og): imagen PNG 1200x630 para Open Graph by @BertMarti in #11
  • feat(creature): segunda especie, el hongo, seleccionable con species by @BertMarti in #12
  • feat(action): prepara la Action para v1 y el Marketplace by @BertMarti in #13
  • test: revisión QA de v0.2.0 by @BertMarti in #14
  • docs: documentación de v0.2.0 by @BertMarti in #15

Full Changelog: v0.1.0...v0.2.0

v0.1.0 · MVP

Choose a tag to compare

@BertMarti BertMarti released this 30 Sep 05:50
8b2d204

What's Changed

New Contributors

Full Changelog: https://github.com/BertMarti/commitling/commits/v0.1.0