Changelog
# Changelog
## 0.1.4
- Update checks now go to updates.uresk.net and include the app version and license state (trial, licensed, trial ended, or needs attention), which we count per day to see how many copies are in use. Nothing that identifies you is sent or stored; see the privacy page.
## 0.1.3
- License problems are easier to fix: if a key stops validating, the License window says why and offers Try Again, and a key removed from this Mac in the customer portal is re-activated automatically when a slot is free.
- A brief license-server hiccup can no longer mark a paid license as invalid.
- The main window shows a short license line at the bottom while a trial is running out, after it ends, or when a license needs attention, with a License… button.
- Renewing updates is $9/year.
## 0.1.2
- Keyboard access: a Service menu has every action with a shortcut (⌥⌘S Start, ⌥⌘T Stop, ⌥⌘K Kick-start, ⌥⌘L Load, ⌥⌘U Unload, ⌥⌘E Enable, ⌥⌘X Disable), each with the same explanation and confirmation as its button. ⌘1, ⌘2 and ⌘3 switch between All services, Running and Needs attention. The filters and action buttons are described to VoiceOver.
- Fix the helper window on a Mac that had never had the helper: it showed "helper not found in app bundle" with Install grayed out, so system daemons could never be controlled.
- Refresh the list after an action even when a scan was already running, so Stop, Start and the rest show their result straight away.
- Ask before uninstalling the helper.
- Renewal service: a paid renewal order that names no license is acknowledged and recorded instead of being rejected and retried for days.
## 0.1.1
- Fix the service list and detail pane collapsing to a short strip until a service was selected.
- Read launchd override state on current macOS: the Override row and Enable/Disable feedback now
reflect `launchctl print-disabled` output, which uses `enabled`/`disabled` rather than `true`/`false`.
- Only flag a possible crash loop when launchd is relaunching the job (KeepAlive) or its last run
exited nonzero. Periodic and on-demand jobs that exit cleanly no longer appear under Needs attention.
- Renewal checkout errors return to the renew page with a readable message instead of a JSON body.
- Helper protocol version 2: the app asks to update an older installed helper rather than failing
to read its inventory.
## 0.1.0
Initial release of LaunchMon.
- Inventory standard launchd plist directories and registered system, GUI, and user services.
- Search by label, executable, vendor, trigger, and runtime state.
- Inspect loaded state, PID, last exit, and selected-service launch count.
- Highlight missing executables, malformed plists, duplicate labels, and observed restart loops.
- Control user services and third-party system daemons through an optional authenticated helper.
- Open plists, executables, working directories, and configured logs; copy a service summary.
- Integrate MacAppKit trials, license management, and entitlement-aware Sparkle updates.
- Include reproducible demo mode, website, troubleshooting guides, and release tooling.