Skip to content

v1.2.1 — Bug Fixes & Polish

Choose a tag to compare

@h13 h13 released this 01 Mar 01:43
· 76 commits to main since this release

Bug Fixes

  • Guard snapshot against stat failure — If stat failed for a file during snapshot, the files and mtimes lists went out of sync, causing all subsequent change detection to produce wrong results. Now both entries are added atomically after verifying mtime is non-empty.
  • Apply autoreload_exclude to config.fish — Previously, autoreload_exclude only applied to conf.d/*.fish files. Setting it to config.fish was silently ignored. Now the exclude check covers config.fish in both snapshot and change detection.
  • Join multiple deleted filenames in debug message — When multiple files were deleted simultaneously, the debug log only showed the first filename. Now all names are joined into a single message.
  • Use string escape --style=var for collision-free keys (v1.2.0 regression fix)
  • Use builtin realpath consistently for self-detection in both snapshot and new-file detection loops
  • Always compute tracking diff regardless of source exit code — A syntax error in a sourced file no longer leaves stale tracking data
  • Skip change detection when mtime check fails — Avoids false-positive change detection on stat errors
  • Soften source error to warning — Source failures now print a yellow "warning" to stderr and list the file as "failed" on stdout

Improvements

  • autoreload status shows per-key cleanup details (e.g., vars=2, funcs=1)
  • Diff computation loop-ified for maintainability; cleanup check cached per call
  • Orphan tracking variables cleaned up when diff is empty
  • Removed dead __autoreload_self_glob variable and empty _autoreload_install handler

Tests

  • 80 test assertions across 36 sections (up from 59/28 in v1.2.0)
  • Added tests for: config.fish exclude, source failure warning/failed output, status detail, re-source after uninstall verification, __autoreload_basename, __autoreload_is_excluded, key collision avoidance

CI

  • Added fish_indent --check for all fish files
  • Added fish --no-execute syntax check for test file
  • Documented minimum supported Fish version (3.1+) in CI matrix

Documentation

  • README Requirements: added string escape --style=var alongside builtin realpath
  • README Limitations: updated to reflect warning/failed behavior instead of error/skipped

Full Changelog

v1.2.0...v1.2.1