v0.9.1
Added
astrid:process@1.1.0host interface. Additive successor to the frozenastrid:process@1.0.0, carrying the host-verified, read-only per-spawn file-injection surface (thefile-injectionrecord, theinjection-placementvariant, and thespawn-request.file-injectionsfield). The kernel serves both versions off one implementation; capsules opt into injection by importing@1.1.0, while@1.0.0behaves as spawn-with-no-injections. Refs #1107, wit#19, #881.
Fixed
- Shipped capsules that import
astrid:process@1.0.0instantiate again — no rebuild required. The per-spawn file-injection extension originally landed in-place on the frozenastrid:process@1.0.0WIT (wit#15), changing the shape ofspawn-request. The component-model linker matches host imports structurally by package version, so every capsule compiled against the published pre-extension contract (all shipped capsules, built on astrid-sys 0.7.x) failed to instantiate on 0.9.0 withcomponent imports instance astrid:process/host@1.0.0, but a matching implementation was not found in the linker— the sage supervisor could notastrid initandastrid-capsule-shellv0.2.0 failed to load. The kernel now restores@1.0.0to its published shape and serves it alongside the additive@1.1.0(dual-version host, mirroring theastrid:http@1.0.0/@1.1.0precedent), so existing capsules load unchanged. Refs #1107, wit#19, #881, #890.
Install
From source (requires Rust 1.95+):
cargo install astrid
Pre-built binaries:
Download the archive for your platform, extract, and add to PATH:
tar xzf astrid-*-$(uname -m)-*.tar.gz
sudo mv astrid-*/astrid astrid-*/astrid-daemon astrid-*/astrid-build astrid-*/astrid-emit /usr/local/bin/
Then run astrid init to set up capsules.
With many thanks from the following Astrinauts 🚀
- Joshua J. Bouw