Skip to content

Pullrun

v0.4.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Adds DAG store garbage collection with crash‑atomic writes and operation locks.

Changes in this release

Feature Medium

Adds crash‑atomic writes using write‑then‑rename with parent fsync.

Adds crash‑atomic writes using write‑then‑rename with parent fsync.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds operation locks to protect in‑flight pull/build/commit/import from GC.

Adds operation locks to protect in‑flight pull/build/commit/import from GC.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds kernel_image_digest pinning to preserve stopped VMs' kernel layers.

Adds kernel_image_digest pinning to preserve stopped VMs' kernel layers.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds DAG store garbage collection with mark-and-sweep and CLI integration.

Adds DAG store garbage collection with mark-and-sweep and CLI integration.

Source: llm_adapter@2026-07-15

Confidence: low

Feature Medium

Factors walk_reachable into pullrun‑store for shared use by dag_export.rs and GC crate.

Factors walk_reachable into pullrun‑store for shared use by dag_export.rs and GC crate.

Source: llm_adapter@2026-07-15

Confidence: low

Feature Low

Adds 25 new tests, increasing total test count from 134 to 159.

Adds 25 new tests, increasing total test count from 134 to 159.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Low

Adds DAG store garbage collection with mark-and-sweep, BFS reachability walk, op-lock protection, and CLI commands `pullrun gc`/`pullrun gc --apply`.

Adds DAG store garbage collection with mark-and-sweep, BFS reachability walk, op-lock protection, and CLI commands `pullrun gc`/`pullrun gc --apply`.

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Medium

Fixes enumerate_gc_roots data‑loss bug by using blocking read().await.

Fixes enumerate_gc_roots data‑loss bug by using blocking read().await.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Causes BFS to abort on corrupted nodes, preventing silent subtree deletion.

Causes BFS to abort on corrupted nodes, preventing silent subtree deletion.

Source: llm_adapter@2026-07-15

Confidence: high

Bugfix Medium

Updates 90% safety guard to measure unreachable bytes instead of node count.

Updates 90% safety guard to measure unreachable bytes instead of node count.

Source: llm_adapter@2026-07-15

Confidence: high

Full changelog

v0.4.0 — DAG Store Garbage Collection

Features

  • DAG store garbage collection (pullrun gc, pullrun gc --apply).
    Mark-and-sweep GC with BFS reachability walk, 90% safety guard, op-lock
    protection, and CLI integration.
  • Crash-atomic writes (write-then-rename with parent fsync).
  • Operation locks protect in-flight pull/build/commit/import from GC.
  • kernel_image_digest pinning — stopped VMs' kernel layers preserved.
  • walk_reachable factored into pullrun-store and shared by
    dag_export.rs and the GC crate.

Fixes

  • enumerate_gc_roots data-loss bug fixed. Changed try_read() to
    blocking read().await to guarantee root set completeness.
  • BFS aborts on corrupted nodes (prevents silent subtree deletion).
  • 90% safety guard measures unreachable bytes, not node count.

Tests

  • 25 new tests across PRs 1–5 (134 → 159 total).

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Pullrun

Get notified when new releases ship.

Sign up free

About Pullrun

All releases →

Related context

Beta — feedback welcome: [email protected]