Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
61e10a6
perf(proxy): raise smoltcp TCP buffers to 4 MiB
rsclarke May 4, 2026
c66dc57
perf(proxy): replace sleep-driven poll with AsyncFd select loop
rsclarke May 4, 2026
a8914ee
perf(proxy): raise host_fd ingress cap from 256 to 4096 frames
rsclarke May 4, 2026
d3d773c
test(proxy): cover VZDevice::drain_recv status semantics
rsclarke May 4, 2026
dfcbdbf
perf(proxy): set jumbo IP-MTU 65535 on VZ network attachment
rsclarke May 4, 2026
4bdc3ee
kernel: enable container runtime support and move to 6.12.114
harshdoesdev Oct 26, 2026
ae9d36d
guest: mount /run, /dev/shm and cgroup2 at boot
harshdoesdev Oct 26, 2026
fe2ef7b
vm: honour SHURU_DATA_DIR for the data directory
harshdoesdev Oct 26, 2026
58fb3e4
scripts: Docker checkpoint builder and HF Jobs kernel build
harshdoesdev Oct 26, 2026
1768034
docs: RFC 0003 Docker on Shuru with integration tests and evidence
harshdoesdev Oct 26, 2026
f7e09a5
guest: services and graceful shutdown (RFC 0004)
harshdoesdev Oct 26, 2026
3efb1c1
docker: run dockerd as a guest service
harshdoesdev Oct 26, 2026
e5f295f
chore: clear clippy warnings in guest, proto and cli
harshdoesdev Oct 26, 2026
73c8bad
www: Docker inside tab in the CLI section
harshdoesdev Oct 26, 2026
9197249
vm: skip the shutdown handshake when the VM is not running
harshdoesdev Oct 26, 2026
d813fdf
chore: clear the remaining clippy warnings in the cli
harshdoesdev Oct 26, 2026
c44bc35
cli: recipes (RFC 0005)
harshdoesdev Oct 26, 2026
0f75bf9
docker: build the checkpoint from the docker recipe
harshdoesdev Oct 26, 2026
9464cad
chore: bump versions for 0.8.0
harshdoesdev Oct 26, 2026
21bde58
cli: checkpoint update
harshdoesdev Oct 26, 2026
c714f83
docs: environment variables in the README
harshdoesdev Oct 26, 2026
415cda1
cli: --checkpoint names the checkpoint run --recipe builds
harshdoesdev Oct 26, 2026
150ba55
release: tags with a hyphen publish as pre-releases
harshdoesdev Oct 26, 2026
9f21252
recipes: a bare name never resolves from the working directory
harshdoesdev Oct 26, 2026
8349281
browser recipe: README, example and gated test
harshdoesdev Oct 26, 2026
f481a67
Merge pull request #45 from superhq-ai/docker-on-shuru
harshdoesdev Oct 26, 2026
ef75b2f
tests: the DevTools server ignores HTTP/1.0, ask with HTTP/1.1
harshdoesdev Oct 26, 2026
74aef5b
www: drop the Hero label and pull the heading up
harshdoesdev Oct 26, 2026
c5f348b
Merge pull request #46 from superhq-ai/browser-recipe
harshdoesdev Oct 26, 2026
8e74d7c
Merge pull request #47 from superhq-ai/www-hero-label
harshdoesdev Oct 26, 2026
28cc6ff
skill: recipes, guest services, checkpoint update, Docker and browser…
harshdoesdev Oct 26, 2026
80672bd
www: blog index, post layout, RSS feed and the 0.8.0 post
harshdoesdev Oct 26, 2026
6a981fa
Merge pull request #48 from superhq-ai/skill-0.8.0
harshdoesdev Oct 26, 2026
5ba5547
Merge pull request #49 from superhq-ai/blog
harshdoesdev Oct 26, 2026
effaa6d
linux: reflink the disk image instead of copying it
harshdoesdev Oct 26, 2026
9e2f273
release: 0.8.1
harshdoesdev Oct 26, 2026
439e2f5
Merge pull request #50 from superhq-ai/linux-reflink
harshdoesdev Oct 26, 2026
79fd668
Merge pull request #35 from rsclarke/perf/event-driven-proxy-netstack
harshdoesdev Oct 26, 2026
2bd7c5c
proxy: bound per-guest memory and verify socket buffers after #35
harshdoesdev Oct 26, 2026
aa60527
Merge pull request #51 from superhq-ai/proxy-followup
harshdoesdev Oct 26, 2026
3d85c27
ci: skip crate versions that are already uploaded
harshdoesdev Oct 26, 2026
29c24db
proxy: redact secrets out of responses; cli: trust the platform certi…
harshdoesdev Oct 26, 2026
fab7263
proxy: mask reflected secrets to the same length
harshdoesdev Oct 26, 2026
9292f5f
proxy: drop response redaction, state the bound host responsibility i…
harshdoesdev Oct 26, 2026
6fa049c
Merge pull request #53 from superhq-ai/secrets-redaction
harshdoesdev Oct 26, 2026
8efc4a2
Merge pull request #52 from superhq-ai/publish-race
harshdoesdev Oct 26, 2026
6e05d8c
cli, sdk, vm: hold the working disk by descriptor so it cannot outliv…
harshdoesdev Oct 26, 2026
400cb81
Merge pull request #54 from superhq-ai/workdisk
harshdoesdev Oct 26, 2026
0a1667f
linux, darwin, vm, sdk: memory balloon with free page reporting
harshdoesdev Oct 27, 2026
af0c963
linux: balloon queue layout follows the negotiated features
harshdoesdev Oct 27, 2026
004b364
Merge pull request #55 from superhq-ai/balloon
harshdoesdev Oct 27, 2026
1e2a826
linux, vm, guest, proto: per-VM userspace vsock and a connection hello
harshdoesdev Oct 27, 2026
6dd331f
linux: per-device virtio threads, ioeventfd kicks, vsock straight to …
harshdoesdev Oct 27, 2026
b322587
guest, vm, cli, linux, proto: fast boot and sealed checkpoints
harshdoesdev Oct 28, 2026
40817c8
proxy, linux, cli, sdk, vm, guest: host memory stays bounded whatever…
harshdoesdev Oct 28, 2026
3d18d52
proxy, store, sdk, linux: clear clippy warnings
harshdoesdev Oct 28, 2026
5787330
Merge pull request #56 from superhq-ai/vsock-identity
harshdoesdev Oct 28, 2026
5b80f02
guest: an exec answers as soon as its child exits
harshdoesdev Oct 28, 2026
b45f5dc
kernel, linux: the guest console works on Linux
harshdoesdev Oct 28, 2026
2610783
all: 0.11.0
harshdoesdev Oct 28, 2026
0e8350d
docs: RFC 0010 and RFC 0011 are implemented
harshdoesdev Oct 28, 2026
64b07fd
Merge pull request #58 from superhq-ai/fast-boot
harshdoesdev Oct 28, 2026
923217e
docs: RFC 0008 node runtime and RFC 0009 Linux VM snapshots
harshdoesdev Oct 28, 2026
4bfd3c9
docs: RFC 0009 snapshots survive an upgrade
harshdoesdev Oct 28, 2026
a736e7f
linux: build a VM from descriptors, serve vsock on a unix socket
harshdoesdev Oct 28, 2026
1f9c4e1
node: run each VM in a jailed shuru-vmm
harshdoesdev Oct 28, 2026
746b05a
proxy: hand a connection over once its handshake completes
harshdoesdev Oct 28, 2026
45d81e9
node: run the sandbox network in a jailed shuru-netd
harshdoesdev Oct 28, 2026
c7379cf
linux: read each vsock listener handshake on its own thread
harshdoesdev Oct 28, 2026
a68399e
node: build the jailed binaries as static PIE
harshdoesdev Oct 28, 2026
bdd756b
Merge pull request #60 from superhq-ai/jail
harshdoesdev Oct 28, 2026
bde4410
docs: RFC 0008 matches the jail built in PR #60
harshdoesdev Oct 28, 2026
362a5c2
Merge pull request #59 from superhq-ai/rfc-hosted
harshdoesdev Oct 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,12 @@ jobs:
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check -p shuru-cli

linux-test:
name: Linux tests
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo test -p shuru-proto -p shuru-linux -p shuru-node -p shuru-vm -p shuru-guest
6 changes: 3 additions & 3 deletions .github/workflows/publish-crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
echo "Published $crate"
echo "Waiting for crates.io to index..."
sleep 30
elif echo "$output" | grep -q "already exists"; then
elif echo "$output" | grep -qE "already (exists|uploaded)"; then
echo "$crate already published, skipping"
else
echo "$output" >&2
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
echo "Published $crate"
echo "Waiting for crates.io to index..."
sleep 30
elif echo "$output" | grep -q "already exists"; then
elif echo "$output" | grep -qE "already (exists|uploaded)"; then
echo "$crate already published, skipping"
else
echo "$output" >&2
Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
echo "Published $crate"
echo "Waiting for crates.io to index..."
sleep 30
elif echo "$output" | grep -q "already exists"; then
elif echo "$output" | grep -qE "already (exists|uploaded)"; then
echo "$crate already published, skipping"
else
echo "$output" >&2
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
DATA_DIR="${HOME}/.local/share/shuru"
tar czf "shuru-os-${VERSION}-aarch64.tar.gz" \
-C "${DATA_DIR}" \
Image initramfs.cpio.gz rootfs.ext4
Image initramfs.cpio rootfs.ext4

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -127,12 +127,16 @@ jobs:
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
# A tag with a hyphen (v0.8.0-rc.1) is a rehearsal: published as a
# pre-release, never marked latest, never pushed to Homebrew.
prerelease: ${{ contains(github.ref_name, '-') }}
files: artifacts/*

update-homebrew:
name: Update Homebrew tap
runs-on: ubuntu-latest
needs: release
if: ${{ !contains(github.ref_name, '-') }}
steps:
- uses: actions/checkout@v4
with:
Expand Down
369 changes: 369 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

Loading
Loading