|
|
# Changelog
|
|
|
|
|
|
All notable changes to this module are documented here. The project follows
|
|
|
semantic versioning; `v0.x` versions make no API stability promise.
|
|
|
|
|
|
## Unreleased — v0.1.0
|
|
|
|
|
|
First implementation of the DateKeys Protocol Specification v0.8.1.
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- `datekey`: local date → round resolution at full precision (§15), canonical
|
|
|
`dk1_` encoding and strict parsing (§18, §19).
|
|
|
- `profile`: Provider Profile Deterministic CBOR and `profile_hash` (§11), the
|
|
|
pinned Quicknet profile with its chain-hash self-check (§12), and pinned
|
|
|
registries (§13).
|
|
|
- `provider`: release sources and local BLS verification (§51);
|
|
|
`provider/drand`: racing public relays, verifying every answer (§48, §49, §52).
|
|
|
- `codec`: Deterministic CBOR with a re-encoding canonicality check (§58, §58.1).
|
|
|
- `extension`: the generic extension mechanism (§54).
|
|
|
- `agewrap`: strict tlock and X25519 age identities that enforce the stanza
|
|
|
rules (§27, §29, §32, §33, §35), and a secret-free header probe.
|
|
|
- `capsule`: `.dkc` framing, `Encrypt` for `time_only` and `time_and_key`
|
|
|
(§61, §62), `Inspect` (§63 steps 1–8) and `Open` (§63 steps 9–18).
|
|
|
- `accesskey`: `.dkk` encoding and decoding (§40–§44).
|
|
|
- `cmd/datekeys`: `encrypt`, `decrypt`, `inspect`, `datekey resolve`,
|
|
|
`profile hash`, with atomic, non-overwriting outputs.
|
|
|
- Official vectors (§65, §66), `.dkc`/`.dkk` fixtures (§67, §68), the mutation
|
|
|
corpus (§64), fuzz targets for every parser, interoperability tests with the
|
|
|
official `age` and `tle` CLIs, and live Quicknet integration tests.
|
|
|
- `spec/datekeys.cddl` and `docs/traceability.md`.
|