Skip to content

v0.9.0a12 — preview alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jun 05:26
9357514

Published artifacts:

  • PyPI: pip install --pre stigmem-py==0.9.0a12 (also: stigmem, stigmem-node, stigmem-openclaw)
  • npm: npm install @eidetic-labs/stigmem-ts@0.9.0-alpha.12
  • GHCR: docker pull ghcr.io/eidetic-labs/stigmem-node:0.9.0a12 (also :0.9.0-alpha.12)
  • Supply-chain evidence: GHCR image is keyless-signed with Sigstore/cosign; SBOM and BuildKit provenance are attached as OCI referrers. Verification instructions: https://docs.stigmem.dev/operators/release-verification
  • GPG signatures: The release tag is maintainer-signed. Detached artifact signatures may be uploaded manually after publication.

[0.9.0a12] — 2026-06-17

Added

  • Federation DNSSEC origin trust (Phase 3), default-OFF behind
    federation_dnssec_trust_enabled (and only meaningful when
    federation_relay_enabled is also on). A relayed fact whose origin node is
    unreachable and otherwise unanchored can now have its key re-derived from a
    DNSSEC-signed binding record at _stigmem-fed._key.<host>, so revocation and
    recency stay enforceable while the origin node is offline (its DNS is
    independent of its node). The first-trust ladder is operator-pin → DNSSEC →
    operator-confirm → fail-closed; a trusted DNSSEC key is honored only after a
    relay-path recency/revocation re-check (cadence clamp(TTL, floor, cap)
    anchored on the last genuine DNS validation), which hard-rejects a positive
    withdrawal (status=revoked tombstone) or an epoch rollback, time-boxes an
    unreachable/suppressed binding, and reconciles key rotation via the record's
    prev_fpr grace. Unsigned, absent, or slow-resigning origins fall through to a
    bounded operator-confirm queue (stigmem federation dnssec pending|confirm|reject
    • GET/POST /v1/federation/dnssec/pending[/confirm|/reject]). The carried v2.2
      envelope dnssec_binding is re-validated on ingest (never trusted as bytes).
      Completes the Phase-3 3a (DNSSEC chain validator) / 3b (first-trust ladder +
      pin store + operator-confirm) / 3c (relay-path re-check + 4-node proof) arc.
      The feature is inert and the relay path is byte-identical to before unless the
      flag is explicitly enabled. See the
      Federation DNSSEC Trust runbook.

Security

  • Dependency advisory sweep — cleared the open Dependabot dependency alerts
    across all four lockfiles (38 of 41 resolved by version bumps/overrides; 3
    no-upstream-patch residuals documented as unreachable or build-time-only).
    Python runtime (uv.lock): starlette→1.3.1, aiohttp→3.14.1,
    cryptography→49.0.0, python-multipart→0.0.32. SDK/MCP workspace:
    hono→4.12.25, vite→6.4.3, ws→8.21.0, js-yaml→4.2.0. Docs toolchain:
    ws/dompurify/js-yaml/launch-editor/@babel/core. Obsidian plugin:
    vite→6.4.3. Residuals (nltk, dompurify#83 by ceiling, gray-matter's
    js-yaml 3.x) are dispositioned in SECURITY.md.