Releases: pasunboneleve/devloop
Releases · pasunboneleve/devloop
v0.8.0
[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
v0.7.0
[0.7.0] - 2026-03-27
Added
- Added a browser reload event server and a
notify_reloadworkflow
action so workflows can explicitly tell downstream browser listeners
to refresh after successful rebuild/restart steps. - Added declarative workflow
triggersso downstream orchestration can
be expressed directly in config instead of being inferred through
secondary file watches.
Fixed
- Workflow failures such as process-readiness timeouts now log loudly
but do not terminatedevloop, so the watcher stays alive and the
next successful edit can recover a broken local build. - Triggered workflows now run as part of the same execution tree,
including when their parent workflow was reached viarun_workflow. - Config validation now rejects ambiguous trigger graphs where a direct
trigger target is also reachable throughrun_workflow, and
triggered workflows are documented as single-run deduplicated within
one execution. - Trigger-overlap validation now walks the full execution tree, so
nested trigger graphs cannot schedule the same workflow once as a
trigger target and again through an inlinerun_workflowpath. - Fixed a false positive in that validator so inline workflows with
independent trigger targets are allowed. - Added regression coverage for both the allowed independent-trigger
case and the rejected case where a parent workflow and an inline child
share the same trigger target. - Platform-specific release workflows no longer duplicate GitHub release notes when both assets are published to the same tag.
Full Changelog: v0.6.2...v0.7.0
v0.6.2
[0.6.2] - 2026-03-26
Fixed
- Runtime requests for missing workflows now fail explicitly instead of being logged and skipped, and external events return
503if their workflow trigger cannot be dispatched. - Watcher callback delivery failures are now surfaced as errors instead of being dropped silently.
- Unexpected watcher and external-event channel disconnects now fail the engine explicitly instead of silently disabling those input paths.
- Accepted macOS
notifyevent paths reported under/private/...for watched roots configured under/var/..., so file changes in temp directories are no longer dropped by the watch classifier. - Made the CI smoke test wait for file watching to start before editing the watched fixture file, and retry the watched write until the state change is observed, avoiding startup races on macOS runners.
- Added a hard wall-clock timeout and bounded shutdown to the CI smoke harness so failed runs die loudly instead of hanging in CI.
Changed
- Split Linux and macOS CI into separate badgeable workflows backed by one reusable workflow definition, and limited release archives to the supported Linux x86_64 and macOS Apple Silicon targets.
- Split release publishing into separate Linux and macOS workflows backed by one reusable workflow definition so each platform publishes its asset independently.
Full Changelog: v0.6.1...v0.6.2