github karthikeyan-mac/AxMJamfSync v3.0
v3.0 — Command-Line Mode & Update Checker

4 hours ago

v3.0 adds a command-line mode for unattended syncs via launchd, and an update checker that tells you when a new version is out.

What's New

Command-Line Mode

  • New --silent flag runs a full sync with no window, no Dock icon, and no notifications — for launchd, cron-style scheduling, or scripting. It's the same signed app, using the same environments, credentials, cache, and settings you've already set up
  • Writes warranty/purchase data back to Jamf Pro, the same as Run Sync in the app — a full sync, not a preview
  • --env <name> syncs just one or more named environments; --help prints full usage
  • A ready-to-edit sample LaunchAgent for unattended scheduling ships in the repo under docs/launchd/
  • Every log line is now tagged [GUI] or [CLI] so you can tell which one wrote it, in both the shared sync.log and each environment's own log
  • If a scheduled command-line sync fails before it even starts (e.g. no environment configured yet), the app shows a one-time alert the next time you open it, instead of that failure only ever showing up in a log file nobody's watching

Update Checker

  • The app now checks GitHub for newer releases — once a day automatically, or on demand from AxM Jamf Sync → Check for Updates… or Settings → General
  • Shown as an Update Available item in the menu bar, or a dialog with release notes for an on-demand check, with View Release / Skip This Version / Later
  • Never downloads or installs anything on its own — it only tells you a newer version exists and opens its release page

Sidebar & Setup

  • An environment shows Syncing (command-line) in the sidebar while a --silent run is in progress for it, instead of looking idle
  • Renaming, deleting, or editing credentials for that environment is disabled until the command-line sync finishes, with an explanation instead of a silent no-op
  • Every environment's ID is available from a right-click (Copy Environment ID) or a hover tooltip — useful for --env and for matching a log file to its environment

Reliability

  • Fixed a crash that could fail an entire sync just because Jamf wasn't configured or authenticated. A background or scheduled sync with real AppleCare coverage data waiting to be written, but no working Jamf connection, used to fail outright with an unrelated-looking error. It now does exactly what it does when Jamf credentials are simply missing: leaves those devices pending and finishes normally.
  • Fixed reopening the app being able to silently kill an in-progress command-line sync. Under specific conditions — most likely to come up right after a Mac wakes and a scheduled sync starts automatically — opening the app while a --silent run was already going could terminate that run outright, with no error, no log entry, and no saved progress. Command-line syncs no longer share anything with the app that this could happen through.
  • Fixed saving new Jamf credentials silently starting a background sync. Changing the Jamf URL or client ID in Setup used to immediately queue a sync with no explicit action from you — indistinguishable from an unrelated automatic trigger. It still correctly marks the cached device mapping as needing revalidation; it just no longer starts that sync on its own. The next Run Sync (or scheduled/command-line run) does it, same as it always would have anyway.

Upgrade Notes

No action required. Existing credentials, cache, and preferences carry over unchanged. Command-line mode and the update checker are both new — neither changes anything about how the app already worked for you.

Full docs: Command-Line Mode · Release Notes

Don't miss a new AxMJamfSync release

NewReleases is sending notifications on new releases.