v2026.9.0
·
6 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
- Content-addressed durable storage with principal-owned KV and file trees,
content-defined chunking, deduplication, atomic root publication, and journal
recovery. Bounded range writes avoid whole-file buffers. - Governed FSKit mounts on macOS and FUSE mounts on Linux, with principal views
and a writable administrative runtime view. Volume branding is configurable;
usage describes the hosted volume rather than the backing disk's other data. - Native Linux musl archive targets for x86_64 and ARM64 alongside GNU Linux
and macOS. GNU compatibility builds support glibc 2.34 enterprise hosts. - Signed Distro manifests with relative capsule archives, selected inventory
verification, and caller-scoped resumable installation and grants. - Restricted throwaway agent sessions, stable principal identities, and full
principal-state reclamation on deletion. - Capability-controlled loopback TCP listeners and concurrent capsule workers.
- Pre-mount client configuration for run and administrative timeouts.
ASTRID_ADMIN_TIMEOUT_SECSsupplies the administrative fallback; explicit
client configuration takes precedence. - Bounded conditional KV batches published through one durable root transition,
with journal recovery and opt-in governed read caching. - Durable human and fleet ownership identities, independent of principal names.
- Foreground daemon logging to stderr through
ASTRID_DAEMON_LOG_TARGET=stderr.
Changed
- Stopped runtime state is consolidated into
astrid.volume. Startup restores
its working projection and clean shutdown retires it. Migration preserves
existing durable state and supports subsequent restarts. - Capsule activation uses verified durable package identities; matching
completed installations resume without repeating daemon install requests. - Principal runtimes isolate guest memory, run tasks, subscriptions, processes,
and lifecycle generations while sharing compiled code where appropriate. - MCP supports protocol 2026-07-28 and shared, session-scoped gateway
attachments. Quiet connected sessions remain attached; automatic gateway
and daemon lifetime follows their connections. Run-loop capsule tools
participate in discovery. RMCP is updated from 2.2.0 to 3.1.4. - Capsule archives are reproducible for identical inputs; capsule builds honor
Cargo's resolved target configuration. - Durable writes and journal recovery reuse verified immutable map subtrees
without weakening missing-descendant detection or crash recovery. - Mounted appends reuse verified prefix chunks, extent mutations scan only
affected ranges, and unchanged volumes avoid redundant device flushes.
Canonical content identity, quota checks, atomic publication, and failed-flush
retries are preserved; the volume format is unchanged. - The Astrid workspace and versioned runtime crates advance from 0.10.4 to
2026.9.0 using the documented calendar version convention. - Wasmtime advances from 46.0.1 to 48.0.1; older compiled caches are rebuilt.
Direct WASM tooling advances from the 0.253 family to 0.257.1, Syn from 2 to
3, TOML from 0.9 to 1.1, and Base64 from 0.22 to 0.23. - Tokio advances from 1.52.3 to 1.53.1, UUID from 1.23.4 to 1.25.0, and
SurrealKV from 0.21.2 to 0.21.3. The complete dependency inventory
itemizes all lockfile version changes, additions, and removals since 0.10.4. - See the upgrade notes and limitations
before migrating from 0.10.4.
Removed
- The unused SurrealDB wrapper. Provider execution belongs to capsules,
not host-level LLM configuration.
Fixed
- Release publication supports supervised, exact-archive macOS certification
through protected operator approval when a dedicated FSKit runner is absent. - Authoritative stop waits for the daemon and MCP gateway to exit and clears
coordination state. Failed MCP launches clean up children; ephemeral daemons
shut down after their final client disconnects. Cancelling the host that
started a shared gateway no longer disconnects its other attached hosts.
Explicitastrid startremains persistent; automatic host startup uses
connection-owned lifetime and retires the stopped projection. - Principal-specific discovery, configuration, secrets, and lifecycle hooks no
longer fall back to another principal's state. - Restart budgets survive runtime replacement, lazy WASM pools handle epoch
changes, and retirement waits for outstanding work. - macOS discovery, sandbox callback transport, Finder directory handling,
volume metadata, and administrative configuration write-through. - Linux FUSE reports the configured volume name, backing-volume capacity,
and root timestamps instead of placeholder filesystem statistics. - Mounted files can exceed the 4 MiB callback payload limit without buffering
the complete file. - Component-level capsule capabilities are merged completely during discovery,
rather than silently dropping network, identity, or persistence declarations.
Security
- Host-process injection limits, approved-executable identity, shared
environment authorization, uplink key-method enforcement, WASM resource
limits, and durable device revocation. - Capsule provenance and Distro checks preserve signed identities; generic
first-use trust remains distinct from product-pinned trust.
Install
From source (requires Rust 1.95+):
cargo install astrid
Linux pre-built archive:
tar xzf astrid-*-$(uname -m)-unknown-linux-*.tar.gz
sudo install -m 0755 astrid-*/astrid astrid-*/astrid-daemon \
astrid-*/astrid-build astrid-*/astrid-emit \
astrid-*/astrid-storage-provider-fuse /usr/local/bin/
macOS pre-built archive and signed AstridFS app:
ARCH=$(uname -m); [[ "$ARCH" == arm64 ]] && ARCH=aarch64
tar xzf astrid-*-${ARCH}-apple-darwin.tar.gz
sudo install -m 0755 astrid-*/astrid astrid-*/astrid-daemon \
astrid-*/astrid-build astrid-*/astrid-emit /usr/local/bin/
astrid-*/macos/manage-macos-fskit.sh install
astrid-*/macos/manage-macos-fskit.sh enable
Astrid Runtime does not bundle a product distro. To compose it with a
distro you trust, run:
astrid init --distro <name, @org/repo, path, or .shuttle>
With many thanks from the following Astrinauts 🚀
- Copilot
- Jamie Steiner
- Joshua J. Bouw
- cursor[bot]
- dependabot[bot]