Releases: seunggabi/cron-manager
Releases · seunggabi/cron-manager
Release list
v0.23.3
v0.23.2
v0.23.1
v0.23.0
v0.22.2
Bug Fixes
- fix: resolve run-now failure in packaged app (#100)
- Add
wslExegetter using absolute path (${SystemRoot}\System32\wsl.exe) — fixeswslnot found in packaged Electron app - Spread full
process.envasmergedEnvbase to preserveC:\Windows\System32in PATH - Fold WSL
workingDir(~/...,/home/...) into bashcdcommand instead of passing as Windowscwd
- Add
Chores
- Remove uninstall logic (UninstallDialog component, IPC handlers, Help menu item, preload API)
- Add
scripts/sync-version.tsto auto-syncpackage.jsonversion from git tag at build time
v0.22.1
Bug Fixes
- fix: make clearAllLocks synchronous to prevent run-now race condition (#98)
clearAllLocks()was async but called withoutawaitin the constructor- When the app force-exited while a job was running, the lock file was left on disk
- On next startup, the async cleanup could race with an immediate run-now click, causing "Job is already running" error
- Converting to synchronous ensures all stale locks are cleared before the constructor returns
Full Changelog: v0.22.0...v0.22.1
v0.22.0
What's Changed
✨ Features
- Windows Uninstaller: Help menu > Uninstall Cron Manager... (Windows only)
- 3-step dialog: confirm → data cleanup → launch NSIS uninstaller
- Option to remove all managed crontab jobs
- Embedded
uninstall.batcleans up Windows & WSL app data - NSIS
installer.nshruns cleanup on Control Panel uninstall
🐛 Bug Fixes
- Graceful shutdown: app now properly cleans up on exit
tail -flog-stream processes are killed before quit- Pending throttled crontab writes are flushed before quit
- Dev mode: Vite process now fully terminates when Electron closes
- Fixed
shell: true+.kill()leaving orphan processes - Replaced with
detached: true+process.kill(-pid, 'SIGTERM')(process group kill)
- Fixed
Full Changelog
v0.21.1 - Fix run-now blocking issues
Bug Fixes
-
fix: add HOME env var to run-now execution environment (#91)
- Commands using
~/paths (e.g.echo $(date) >> ~/logs/file.log) were silently failing with exit code 2 when clicked via Run Now - Root cause:
mergedEnvcompletely replacesprocess.env, strippingHOME— shell tilde expansion requiresHOMEto be set - Added
HOME: process.env.HOME || process.env.USERPROFILEtomergedEnv
- Commands using
-
fix: clear stale lock files on app startup to prevent run-now being blocked (#93)
- When the app exits unexpectedly while a Run Now job is in progress, the lock file at
~/.cron-manager/locks/{jobId}.lockis not cleaned up - On next app start, clicking Run Now throws 'Job is already running' until the 5-minute TTL expires
- Fixed by clearing all lock files during
CrontabServiceinitialization — safe since no jobs can be running on a fresh app start
- When the app exits unexpectedly while a Run Now job is in progress, the lock file at
v0.21.0
What's Changed
Features
- Run Now timestamp: Execution timestamp is now shown at the top of the result dialog when clicking Run Now
Full Changelog: v0.20.0...v0.21.0
v0.20.0
What's Changed
Features
- Run Now lock mechanism: Prevent duplicate executions when clicking the Run Now button
- In-memory
activeJobsSet tracks running jobs in real-time per session - File-based lock at
~/.cron-manager/locks/{jobId}.lockas fallback for app restarts - 5-minute TTL auto-clears stale locks from crashed sessions
- Button returns 'Job is already running' immediately on duplicate click
- In-memory
Full Changelog: v0.19.1...v0.20.0