[0.8.0] - 2026-04-08
Added
- Added a configurable watcher backend with non-breaking
native
default behavior plus apollfallback mode for environments where
native filesystem notifications are unreliable. - Added a Rust repeated-edit watch flake smoke test that can be run
locally withDEVLOOP_RUN_WATCH_FLAKE_SMOKE=1 cargo test --test watch_flake_smoke -- --nocapture. - Added explicit trailing-slash syntax for literal directory watch
targets, for examplecontent/, so recursive directory intent is
preserved even when the directory does not yet exist at startup. - Added a development guide under
docs/development.md
and exposed it in the CLI asdevloop docs development.
Changed
devloopnow derives concrete watch targets from configured watch
patterns and asks the backend to watch only those files or
directories instead of always watching the whole repository root.- The watch flake smoke test is now opt-in instead of running during
every defaultcargo testor CI run. The existing runtime smoke test
remains in CI.
Fixed
- Native watch registration now resolves file and directory targets at
runtime, so startup no longer depends on those paths already existing
when config is parsed. - Fixed a real watch flake where the debounce batch could be dropped if
anothertokio::select!branch won the race while filesystem events
were already buffered. - Test-only environment mutation now lives behind locked helpers with
documented safety rationale instead of scattered raw unsafe blocks.
Full Changelog: v0.7.0...v0.8.0