Skip to content

Releases: pasunboneleve/devloop

v0.8.0

08 Apr 08:04
9bf1573

Choose a tag to compare

[0.8.0] - 2026-04-08

Added

  • Added a configurable watcher backend with non-breaking native
    default behavior plus a poll fallback mode for environments where
    native filesystem notifications are unreliable.
  • Added a Rust repeated-edit watch flake smoke test that can be run
    locally with DEVLOOP_RUN_WATCH_FLAKE_SMOKE=1 cargo test --test watch_flake_smoke -- --nocapture.
  • Added explicit trailing-slash syntax for literal directory watch
    targets, for example content/, 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 as devloop docs development.

Changed

  • devloop now 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 default cargo test or 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
    another tokio::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

27 Mar 09:31

Choose a tag to compare

[0.7.0] - 2026-03-27

Added

  • Added a browser reload event server and a notify_reload workflow
    action so workflows can explicitly tell downstream browser listeners
    to refresh after successful rebuild/restart steps.
  • Added declarative workflow triggers so 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 terminate devloop, 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 via run_workflow.
  • Config validation now rejects ambiguous trigger graphs where a direct
    trigger target is also reachable through run_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 inline run_workflow path.
  • 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

26 Mar 07:09

Choose a tag to compare

[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 503 if 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 notify event 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