diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ce8739..c2a13df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,11 @@ Cambios notables de la librería TypeScript y de la página. El proyecto usa versionado semántico; mientras sea 0.x, no hay promesa de estabilidad. La sección «Versiones» del [README](README.md) explica qué cubre cada número. -## 0.5.0 — sin publicar +## 0.5.0 — 7 de octubre de 2026 -### El borrador de la especificación 0.16 (07-10-2026) +La especificación 0.16, el tag `spec-v0.16` de `datekeys-go`: la revisión de Astra de la v0.15, con el sello sin `accuracy` y el JSON de drand estricto; y las palabras al azar de la llave de palabras, de una lista inglesa y una española, con el ordenador o con dados, y lo que dice el SDK oficial al sellar. El autor la cerró el 7 de octubre de 2026, con el tag `v0.5.0`. + +### La especificación 0.16 (07-10-2026) La v0.16 de `datekeys-go`, aprobada el 7 de octubre de 2026 con el tag `spec-v0.16` (`b6ff17a`): lo que encontró la revisión de Astra de la v0.15. No cambia ningún formato; cambian el veredicto de un sello sin `accuracy` y la lectura del JSON de drand (§76, «Cambios normativos de la v0.16»). diff --git a/README.md b/README.md index a7a815d..ca32d51 100644 --- a/README.md +++ b/README.md @@ -26,17 +26,19 @@ Hay tres números de versión, cada uno con su significado, como en la referenci `version.test.ts` comprueba que `VERSION` coincide con `package.json` y con su lockfile, y que `SPEC_VERSION` es la versión que nombran los vectores y fixtures compartidos; `vectors.test.ts` exige esa versión a cada fichero. El pie de la página muestra las dos. -La versión en desarrollo es `0.5.0-dev`, que sigue la v0.16: el sello sin `accuracy` no prueba nada antes de la fecha de apertura, y el JSON de drand se lee estricto. La última publicada es la `0.4.0`, del 7 de octubre de 2026, con el tag `v0.4.0`, que cubre: -- la especificación 0.15 (el tag `spec-v0.15` de `datekeys-go`): lee los formatos de cápsula 1 a 3 y escribe el 3, y el 2 solo como generador de vectores (§62.1, regla 1); -- el objeto release y el release en la mano (§47.1, §49, §50, §63 pasos 9.c y 10): lee el objeto release y el JSON de drand con los textos de Go, busca la ronda en un archivo de releases local y abre con un release en la mano aunque el reloj vaya atrasado; `/inspect` acepta el release pegado o en un fichero; +La versión actual es la `0.5.0`, del 7 de octubre de 2026, con el tag `v0.5.0`. Cubre: +- la especificación 0.16 (el tag `spec-v0.16` de `datekeys-go`): lee los formatos de cápsula 1 a 3 y escribe el 3, y el 2 solo como generador de vectores (§62.1, regla 1); +- un sello sin `accuracy` no prueba nada antes de la fecha de apertura: los veredictos dicen por qué, y el escritor devuelve los del área que escribe (§29.7, §29.11, §62.1 regla 19); +- el objeto release y el release en la mano (§47.1, §49, §50, §63 pasos 9.c y 10): lee el objeto release, y el JSON de drand de forma estricta y con los textos de Go, busca la ronda en un archivo de releases local y abre con un release en la mano aunque el reloj vaya atrasado; - la firma de autor de `alg` 1, con las claves `dkauthor1…`, y la de `alg` 2 con certificados, y el sello RFC 3161: las evalúa al abrir con los veredictos de Go y las escribe con los enganches del escritor; -- la llave de palabras, la nota pública y el localizador de `datekeys.capsule`, con su sellado, su sobre y la comprobación de la IP a la que resuelve una dirección, NAT64 incluido; +- la llave de palabras, con palabras al azar de la lista inglesa de la EFF o de la española, sorteadas en el dispositivo o con dados; la nota pública y el localizador de `datekeys.capsule`, con su sellado, su sobre y la comprobación de la IP a la que resuelve una dirección, NAT64 incluido; +- lo que dice el SDK oficial al sellar: el anexo de recuperación junto a la cápsula, lo que hará falta para abrirla y el estado del perfil (§7.6, §62.1 reglas 26 y 27, §71); - solo el scheme de Quicknet (`bls-unchained-g1-rfc9380`), el único que admite §12.1: un perfil de otro scheme da `ERR_UNKNOWN_PROFILE`; - la inspección de los pasos 1 a 8 y la apertura de los pasos 9 a 18, desde un `Uint8Array` o un `Blob` y hacia memoria o hacia un stream de salida, y las páginas `/inspect` y `/create`; -- todos los vectores y fixtures compartidos de `datekeys-go` en `fe50885` (`spec-v0.15`); +- todos los vectores y fixtures compartidos de `datekeys-go` en `b6ff17a` (`spec-v0.16`); - navegadores con Web Crypto y Node 20 o posterior. -La `0.3.0`, del 6 de octubre de 2026, con el tag `v0.3.0`, cubría la especificación 0.14 sin el objeto release. La `0.2.0`, del mismo día, con el tag `v0.2.0`, cubría lo mismo para la especificación 0.13. La anterior es `0.1.0`, del 29 de septiembre de 2026, con el tag `v0.1.0`: la especificación 0.9, leer los formatos 1 y 2, y la página `/inspect`. +La `0.4.0`, del 7 de octubre de 2026, con el tag `v0.4.0`, cubría la especificación 0.15, sin las palabras al azar. La `0.3.0`, del 6 de octubre de 2026, con el tag `v0.3.0`, cubría la especificación 0.14 sin el objeto release. La `0.2.0`, del mismo día, con el tag `v0.2.0`, cubría lo mismo para la especificación 0.13. La anterior es `0.1.0`, del 29 de septiembre de 2026, con el tag `v0.1.0`: la especificación 0.9, leer los formatos 1 y 2, y la página `/inspect`. [CHANGELOG.md](CHANGELOG.md) recoge los cambios de cada versión. diff --git a/package-lock.json b/package-lock.json index 829ef42..b9d9ec2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "datekeys-ts", - "version": "0.5.0-dev", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "datekeys-ts", - "version": "0.5.0-dev", + "version": "0.5.0", "license": "Apache-2.0", "dependencies": { "@noble/ciphers": "2.4.0", diff --git a/package.json b/package.json index 5182abc..3d9ba1c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "datekeys-ts", - "version": "0.5.0-dev", + "version": "0.5.0", "private": true, "description": "DateKeys in TypeScript: canonical CBOR codec, DKC1/DKK1 parsers, capsule inspector library and its static inspector page; later, browser encryption and decryption.", "license": "Apache-2.0", diff --git a/src/lib/dkc/version.ts b/src/lib/dkc/version.ts index c4ed9d9..dbac856 100644 --- a/src/lib/dkc/version.ts +++ b/src/lib/dkc/version.ts @@ -10,9 +10,11 @@ * of words, the public note and the locator of datekeys.capsule; 0.3.0 * implements spec 0.14: one drand scheme and the root of trust byte for byte; * 0.4.0 implements spec 0.15: the release object and a release in hand; - * 0.5.0-dev is what comes after it, on the draft 0.16. + * 0.5.0 implements spec 0.16: a seal without accuracy proves nothing before + * the opening date and drand's JSON is read strictly; it also draws the + * random words of a key of words, from a computer or from dice. */ -export const VERSION = '0.5.0-dev'; +export const VERSION = '0.5.0'; /** * The version of the DateKeys Protocol Specification that this library