Skip to content

Releases: seunggabi/cron-manager

v0.23.3

Choose a tag to compare

@seunggabi seunggabi released this 30 Mar 06:02

What's Changed

Bug Fixes

  • fix: add @reboot support to Electron main services

Full Changelog: v0.23.2...v0.23.3

v0.23.2

Choose a tag to compare

@seunggabi seunggabi released this 30 Mar 05:34

What's Changed

Bug Fixes

  • fix: pass schedule prop to NextRunCell for @reboot display

Full Changelog: v0.23.1...v0.23.2

v0.23.1

Choose a tag to compare

@seunggabi seunggabi released this 29 Mar 04:38

What's Changed

Bug Fixes

  • fix: handle @reboot in schedule preset integration test

Full Changelog: v0.23.0...v0.23.1

v0.23.0

Choose a tag to compare

@seunggabi seunggabi released this 29 Mar 04:08

What's Changed

Features

  • feat: add @reboot schedule support

Full Changelog: v0.22.2...v0.23.0

v0.22.2

Choose a tag to compare

@seunggabi seunggabi released this 01 Mar 16:47
59d6586

Bug Fixes

  • fix: resolve run-now failure in packaged app (#100)
    • Add wslExe getter using absolute path (${SystemRoot}\System32\wsl.exe) — fixes wsl not found in packaged Electron app
    • Spread full process.env as mergedEnv base to preserve C:\Windows\System32 in PATH
    • Fold WSL workingDir (~/..., /home/...) into bash cd command instead of passing as Windows cwd

Chores

  • Remove uninstall logic (UninstallDialog component, IPC handlers, Help menu item, preload API)
  • Add scripts/sync-version.ts to auto-sync package.json version from git tag at build time

v0.22.1

Choose a tag to compare

@seunggabi seunggabi released this 01 Mar 14:35
382147d

Bug Fixes

  • fix: make clearAllLocks synchronous to prevent run-now race condition (#98)
    • clearAllLocks() was async but called without await in 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

Choose a tag to compare

@seunggabi seunggabi released this 01 Mar 14:15
c1874f9

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.bat cleans up Windows & WSL app data
    • NSIS installer.nsh runs cleanup on Control Panel uninstall

🐛 Bug Fixes

  • Graceful shutdown: app now properly cleans up on exit
    • tail -f log-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)

Full Changelog

v0.21.1...v0.22.0

v0.21.1 - Fix run-now blocking issues

Choose a tag to compare

@seunggabi seunggabi released this 01 Mar 03:32
e28fa23

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: mergedEnv completely replaces process.env, stripping HOME — shell tilde expansion requires HOME to be set
    • Added HOME: process.env.HOME || process.env.USERPROFILE to mergedEnv
  • 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}.lock is 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 CrontabService initialization — safe since no jobs can be running on a fresh app start

v0.21.0

Choose a tag to compare

@seunggabi seunggabi released this 28 Feb 20:28
b26eccf

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

Choose a tag to compare

@seunggabi seunggabi released this 28 Feb 20:18
30bf01d

What's Changed

Features

  • Run Now lock mechanism: Prevent duplicate executions when clicking the Run Now button
    • In-memory activeJobs Set tracks running jobs in real-time per session
    • File-based lock at ~/.cron-manager/locks/{jobId}.lock as fallback for app restarts
    • 5-minute TTL auto-clears stale locks from crashed sessions
    • Button returns 'Job is already running' immediately on duplicate click

Full Changelog: v0.19.1...v0.20.0