v0.3.4-rc.1
Pre-release
Pre-release
What's Changed
- feat(pty): native terminal support for interactive shells by @NathanFlurry in #137
- feat(python): Pyodide python/python3 CLI + whole-VM-root filesystem + VFS-persistent pip by @NathanFlurry in #138
- fix(ci): stop boundary lint false-positive on fixtures; guard escaping local deps by @NathanFlurry in #139
- feat(python): outbound raw TCP/UDP sockets + complete the Pyodide FS hooks by @NathanFlurry in #142
- Migrate docs to @rivet-dev/docs-theme (de-Starlight) + Typesense search by @NathanFlurry in #147
- Basic Secure Exec footer (replace rivet-branded footer) by @NathanFlurry in #148
- fix(docker): don't leak FA Pro token into build logs by @NathanFlurry in #149
- docs: document the docs-embed rule in CLAUDE.md by @NathanFlurry in #151
- feat(bench): add native-baseline host-timing crate by @NathanFlurry in #153
- feat(sidecar): add GetResourceSnapshot resource-introspection wire hook by @NathanFlurry in #154
- perf(kernel): reuse a persistent DNS resolver instead of per-lookup runtime by @NathanFlurry in #155
- perf(sidecar): streamline execution/filesystem/service hot paths by @NathanFlurry in #157
- perf(v8): faster bridge dispatch and direct js-start Execute path by @NathanFlurry in #158
- fix(build): resolve url/qs in the v8-bridge build script by @NathanFlurry in #159
- test: repair and update secure-exec test suites for current APIs by @NathanFlurry in #160
- perf(kernel): chunked socket recv buffers and bounded oversized TCP write flushes by @NathanFlurry in #156
- feat: browser-converged runtime + real terminal client by @NathanFlurry in #161
- refactor(v8-bridge): split the bridge bundle into a documented multi-file TypeScript package by @NathanFlurry in #164
- feat(packages): sidecar package projection + agentos-toolchain + { packageDir } registry by @NathanFlurry in #150
- refactor(v8-bridge): modularize the bridge into a per-subsystem TypeScript package by @NathanFlurry in #165
- feat(pty): canonical-mode line editing (VKILL/VWERASE) + ECHOCTL caret echo by @NathanFlurry in #166
- fix(execution): provide host_tty.isatty/get_size + real set_raw_mode for wasm-c TTY guests by @NathanFlurry in #167
- docs(CLAUDE): add Performance hot-path rules by @NathanFlurry in #168
- perf(v8-runtime): pass V8-serialized args through without double copy by @NathanFlurry in #169
- perf(sidecar): move stdio write buffers into execution events instead of cloning by @NathanFlurry in #170
- perf(sidecar): bulk-copy loopback TLS reads instead of per-byte pop_front by @NathanFlurry in #171
- perf(sidecar): wait for fd readiness instead of 10ms sleep polls in socket accept/recv loops by @NathanFlurry in #172
- perf(sidecar): exponential backoff for loopback peer-socket pairing wait by @NathanFlurry in #173
- perf(sidecar): event-driven HTTP/2 event-queue and backpressure waits by @NathanFlurry in #174
- perf(execution): build the Python wait-loop runtime once instead of per poll tick by @NathanFlurry in #175
- perf(sidecar): reuse one runtime for blocking dispatch instead of per call by @NathanFlurry in #176
- perf(execution): map runtime events to frames directly instead of encode/decode by @NathanFlurry in #177
- fix(pty): cooked-mode echo/signal discipline + kernel-PTY stdin for TTY guests by @NathanFlurry in #179
- perf(v8-runtime): drain setImmediate in-isolate instead of kernel-timer round trips by @NathanFlurry in #180
- perf(v8-runtime): same-isolate wake parity for unix-domain sockets and dgram by @NathanFlurry in #181
- perf(sidecar): raw-byte fast path for guest fs reads and writes by @NathanFlurry in #182
- perf(v8-runtime): wake loopback peer on FIN/close by @NathanFlurry in #184
- perf(execution): single timer-wheel thread instead of thread-per-timer by @NathanFlurry in #185
- feat(v8-runtime): opt-in high-resolution guest clock for benchmarking by @NathanFlurry in #186
- feat(native-baseline): wasm32-wasi build for in-VM rust benchmark lane by @NathanFlurry in #187
- test(benchmarks): migrate differential matrix from agent-os onto NodeRuntime by @NathanFlurry in #188
- test(benchmarks): port focused lanes and add ecosystem command family by @NathanFlurry in #189
- docs(claude): agent-os docs are canonical for agentOS-visible behavior by @NathanFlurry in #183
- fix(runtime): native poll(2) for guest stdio + event-driven kernel waits by @NathanFlurry in #192
- fix(bridge): poll http2 server/session retain instead of monopolizing sync-RPC wait by @NathanFlurry in #193
- fix(execution): create-parent-aware WASI path resolution so wasm commands can create files by @NathanFlurry in #195
- fix(sidecar): buffer loopback TLS writes while the handshake is pending by @NathanFlurry in #190
- style: cargo fmt by @NathanFlurry in #191
- fix(execution): resolve guest module imports against the live guest filesystem by @NathanFlurry in #194
- fix(sidecar): release kernel socket slots when guest sockets close by @NathanFlurry in #196
- fix(browser): cover raw fs bridge globals and regenerate the wasi polyfill by @NathanFlurry in #197
- fix(v8-runtime): create snapshot blobs in a helper subprocess to contain a V8 isolate-lifecycle crash by @NathanFlurry in #198
- feat(runtime): push external socket events host-to-guest by @NathanFlurry in #199
- test(benchmarks): dedicated prewarmed sidecar per bench op by @NathanFlurry in #200
- test(benchmarks): automatic peak-memory-vs-native column by @NathanFlurry in #201
- test(benchmarks): module-resolution family by @NathanFlurry in #202
- test(benchmarks): permission-policy overhead family by @NathanFlurry in #203
- test(benchmarks): two-tier sizes for payload-sensitive ops by @NathanFlurry in #204
- test(benchmarks): concurrency and interference lanes by @NathanFlurry in #205
- test(benchmarks): canonical baseline and CI bench gate by @NathanFlurry in #206
- feat(native-baseline): full matrix op parity — zero borrowed stand-ins by @NathanFlurry in #207
- perf(kernel): cache filesystem usage for quota checks; fix WASI hot paths by @NathanFlurry in #208
- fix(sidecar): route shared-terminal child output through the PTY master only by @NathanFlurry in #209
- fix(sidecar): stop wasm stdin stream-event flood; tolerate shadow-sync races by @NathanFlurry in #210
- fix(registry): un-stub brush tab completion on wasi by @NathanFlurry in #211
- fix(core): drop the fixed 10ms trailing-output drain when exit arrives via event by @NathanFlurry in #212
- feat(execution): snapshot-baked wasm runner userland by @NathanFlurry in #213
- fix(ci): install build-tools workspace deps in the bench workflow by @NathanFlurry in #214
- perf(v8-runtime): parked warm session workers by @NathanFlurry in #215
- perf(execution): raw wasm module bytes + eager userland compile by @NathanFlurry in #216
- fix(sidecar): JS-lane reads see kernel-VFS state by @NathanFlurry in #217
- perf(fs): readdir raw fast path + stream writev coalescing (JS lane) by @NathanFlurry in #218
- feat(benchmarks): full ecosystem command rows (spec 4.1) by @NathanFlurry in #219
- test(sidecar): fs.promises metadata semantics coverage by @NathanFlurry in #220
- perf(net): event-driven loopback socket wakes by @NathanFlurry in #221
- perf(http2): retain loop rides the net_socket event push by @NathanFlurry in #223
- fix(website): pin docs-theme to the published v0.3.1 tag by @NathanFlurry in #224
- perf(wasi): cut the shim's path_filestat_get cost 10x by @NathanFlurry in #226
- fix(wasm): external-command shell redirects write through to their targets by @NathanFlurry in #227
- fix(ci): VCS-agnostic generated-artifacts check; regenerate browser wasi polyfill by @NathanFlurry in #228
- test(publish): track the vfs -> secure-exec-vfs-core crate rename by @NathanFlurry in #229
- chore: burn down the workspace clippy backlog (-D warnings now passes) by @NathanFlurry in #230
- fix(bench): tolerate pnpm's forwarded -- separator in baseline.ts args by @NathanFlurry in #231
- test(execution): track the wasi-module preopen restructure in bootstrap assertions by @NathanFlurry in #232
- fix(execution): resolve adapter entrypoint symlink for module-mode detection by @NathanFlurry in #225
- test(execution): quarantine live-stdin/tty cases in the standalone V8 harness by @NathanFlurry in #233
- fix(ci): resolve nightly baseline --from path relative to the benchmarks package by @NathanFlurry in #234
- test(execution): allow dead_code on quarantined live-stdin/tty test fns by @NathanFlurry in #235
- test(sidecar): sanction perf-stack env/fs/process boundaries in architecture guards by @NathanFlurry in #236
- fix(bench): derive the baseline completeness check from the op registry by @NathanFlurry in #237
- fix(runtime): restore undici keepalive pooling and drop late socket wake hints by @NathanFlurry in #238
- test(benchmarks): commit the CI bench-gate baseline from the nightly matrix by @NathanFlurry in #239
- fix(ci): build guest WASM commands in the bench gate job and regenerate the bridge asset by @NathanFlurry in #241
- test(sidecar): classify the wasm module-bytes cache cap in the limits inventory by @NathanFlurry in #242
- fix(sidecar): skip unreadable entries in the host shadow sync by @NathanFlurry in #244
- test(sidecar): track auto-mount and deny-path drift in audit/browser tests by @NathanFlurry in #245
- fix(wasm): only precreate-and-retry path_open on NOENT by @NathanFlurry in #243
- fix(ci): build guest WASM commands before the workspace cargo tests by @NathanFlurry in #246
- test(sidecar): accept either denial-surface code in the fs audit test by @NathanFlurry in #247
- refactor(registry): unify package build/publish lifecycle in agentos-toolchain by @NathanFlurry in #222
- feat(registry): vim and vix packages with runtime provides by @NathanFlurry in #248
- feat(registry): uniform per-binary build entry point (make cmd/) by @NathanFlurry in #249
- chore(registry): delete dead native Makefile targets, make patch-vendor failure-idempotent by @NathanFlurry in #250
- fix(sidecar): never tree-sync a host root of "/" into the kernel by @NathanFlurry in #251
- test(sidecar): register the js-promises fake process with a real host cwd by @NathanFlurry in #252
- fix(toolchain): commit a bin shim so pnpm links agentos-toolchain on fresh installs by @NathanFlurry in #253
- fix(ci): exempt in-repo package names from the secure-exec boundary check by @NathanFlurry in #254
- feat(registry): compile vim from source; audit fixes (http_get wired, make package deleted) by @NathanFlurry in #255
- test(registry): track the codex package's delegated export shape by @NathanFlurry in #256
- test(core): run vitest files sequentially by @NathanFlurry in #258
- fix(ci): pin SECURE_EXEC_SIDECAR_BIN for the turbo test step by @NathanFlurry in #260
- fix(registry): vim isatty via host_tty, sigprocmask decl, termios force-include by @NathanFlurry in #262
- fix(registry): wasm vim raw-mode input as a shell child by @NathanFlurry in #263
Full Changelog: v0.3.3...v0.3.4-rc.1