Skip to content

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 14:32

DFOS v0.12.0 completes the proof-layer bounds refactor and closes the remaining cross-implementation validity forks. Every protocol-surface change is a pre-v1 breaking wire change — adopting it requires a corpus re-mint, not an automatic update.

Protocol — @metalabel/dfos-protocol, dfos-protocol-go

  • [BREAKING] (#90) — keys-per-role (authKeys/assertKeys/controllerKeys) and services cardinality caps raised 16 → 256; canonical services byte cap 8192 → 32768. Enforced identically in TS and Go.
  • [BREAKING] (#87) — per-field string-length caps (did≤256, key.id≤64, multibase≤128, prevCID≤256, documentCID≤256, note≤256) collapsed into a single 65536-byte op-size bound, measured over the exact CID-committed bytes → identical-by-construction across TS/Go. Credentials exempt (depth-bounded).
  • [BREAKING] (#86) — delegation-chain depth pinned to ≤16 (the 17th is rejected); the Go guard moved > 16>= 16 so both verifiers agree. Validity-determining.
  • [BREAKING] (#92) — removed the TS-only 256-char artifact $schema cap; artifacts are bounded solely by the 16384-byte payload cap.

See the package changelog for detail.

Relay — @metalabel/dfos-web-relay, dfos-web-relay-go

  • [BREAKING] (#88) — proof-plane routes namespaced under /proof/v1 (/proof/v1/operations, /proof/v1/log, /proof/v1/identities, /proof/v1/content, …). Clients must update to the namespaced paths. The content plane keeps its own paths.
  • (#89) — lite pull-only proof node mode (write: false): gossips and pulls, rejects external writes.
  • (#97)publicGrants surfaced on the content-state response (GET /proof/v1/content/:id): the live re-verified public read grants, so split-gateway / zero-trust callers can re-derive authorization.

Install / upgrade

  • npm: @metalabel/dfos-protocol@0.12.0, @metalabel/dfos-web-relay@0.12.0 (published with provenance)
  • CLI: `curl -sSL https://protocol.dfos.com/install.sh | sh` · `brew upgrade dfos`
  • Docker: `ghcr.io/metalabel/dfos:0.12.0` (multi-arch)

Full diff: v0.11.0...v0.12.0