Repository navigation
v0.7.0
Transparent browser reuse, streaming ingestion, and proxy recency windows
Summary
v0.7.0 adds transparent browser reuse across quarry run invocations — Chromium now persists as a self-managing detached process, eliminating cold-start latency for sequential runs. This release also introduces the streaming ingestion policy for long-running workloads and recency_window proxy pool selection to reduce endpoint reuse.
Highlights
- Browser reuse: First
quarry runlaunches a persistent Chromium process; subsequent runs reuse it via discovery file, saving ~1.5–3s per invocation. Auto-terminates after idle timeout (default 60s, configurable viaQUARRY_BROWSER_IDLE_TIMEOUT). Opt out with--no-browser-reuse. - Streaming policy: New
streamingingestion policy combines strict's no-drop guarantee with buffered's batched write efficiency. Configurable via--flush-countand--flush-interval, with capacity-triggered emergency flush and backpressure-based flow control. - Proxy recency window:
recency_windowpool option maintains a ring buffer of recently-used endpoint indices, reducing consecutive reuse. LRU fallback when window ≥ endpoint count. - Executor
--browser-servermode: Self-managing browser server with idle monitoring via/json/listpolling,SIGTERM/SIGINTgraceful shutdown, and discovery file cleanup. - Metrics:
flush_triggerscounter with per-trigger-type flush counts for streaming policy observability. - Performance:
statsRecorderconverted tosync/atomiccounters — 3.7x improvement in 8-goroutine contention benchmarks.
References
Full Changelog: v0.6.3...v0.7.0
What's Changed
- docs(contracts): 📝 add streaming policy contract sketch by @justapithecus in #139
- feat(policy): ✨ add streaming ingestion policy by @justapithecus in #140
- feat(proxy): ✨ add recency window for random selection by @justapithecus in #143
- test(policy): ✅ add performance benchmarks for all ingestion policies by @justapithecus in #144
- docs(contracts): 📝 documentation sweep for v0.7.0 features by @justapithecus in #145
- chore: 🔖 bump lockstep version to 0.7.0 by @justapithecus in #146
- fix(docs): 🩹 move v0.7.0 changelog from Unreleased to dated section by @justapithecus in #147
- chore(agents): 🦺 add changelog and golden fixtures to release checklist by @justapithecus in #148
- feat(runtime): ✨ add transparent browser reuse across quarry run invocations by @justapithecus in #149
- docs(changelog): 📝 add browser reuse and release checklist to v0.7.0 by @justapithecus in #150
Full Changelog: v0.6.3...v0.7.0