Repository navigation
Releases
v1.2.0 · Binarios verificables
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 faltagh2.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
¡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 valecalabaza). 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: pumpkinen 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 pumpkinycommitling 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
¡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-usuarioescribe 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.0o 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
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(conreflect) pesaba 1,6 MB yfmt0,45 MB, así que los campos de los eventos se leen a mano (internal/events/scan.go, comparado conencoding/jsonpor un test diferencial) yrenderygenerateusanstrconvy 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.Payloadpasa dejson.RawMessagea[]byte. El CI compila con-trimpath, falla si el wasm pasa de 3 MB y un test impide que vuelvanencoding/json,fmt,reflect,regexp,net/http,oso 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 ensessionStorage(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 queevents.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 deencoding/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.mdlo dicen. - Versión de la CLI:
0.7.0.action.ymlno 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,sessionStoragey wasm simulados.
Corregido
- Los tests de CSS (#49): el lector de reglas ignora los comentarios
/* */, entiende@supportsy no se traga la regla que sigue a un@charseto@import;favicon.svgentra en las huellas de compatibilidad (la de v0.5.0).
v0.6.0 · tarjeta compacta
Añadido
- Tarjeta compacta opcional (#37 y #38): entrada
sizeen la Action (fullpor defecto ocompact) y--sizeen 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. Sinsize, el SVG es byte a byte el de v0.5.0:testdata/golden/full-sha256.txtguarda el SHA-256 de las 96 tarjetas de la galería de v0.5.0 y un test las compara. render.Size(Fulles el valor cero),generate.Options.Size(también enChecky en el workflow relleno, que solo escribesize: compactsi no es el predeterminado) y argumentosize, siempre el último, encommitling.render,workflow,checkydemodel 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ícitaauto) y las tablas con la primera columna ennowrap. Ahora el código en línea parte (overflow-wrap:anywhere), toda rejilla usaminmax(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 conwasm_exec.jsen lugar de esperar a que cargue, reutilizando esa misma petición eninstantiateStreaming(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
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
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
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
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
What's Changed
- feat: MVP de commitling by @BertMarti in #1
- test: revisión QA de commitling by @BertMarti in #2
- docs: guía de uso y guía de contribución de commitling by @BertMarti in #3
New Contributors
- @BertMarti made their first contribution in #1
Full Changelog: https://github.com/BertMarti/commitling/commits/v0.1.0