Skip to content

JamfDash - 0.6

Latest

Choose a tag to compare

@DevliegereM DevliegereM released this 14 Jun 16:54
· 3 commits to main since this release
79dadd8

New Features

  • Configuration Drift Tracker — snapshot policies, configuration profiles, and scripts to a local SQLite database. Each subsequent snapshot is diffed against the previous; Added, Modified, and Removed changes appear in a chronological timeline grouped by date. Tap any row for a field-level diff sheet.
  • Fleet Health Score — computed 0–100 score (A–F grade) based on FileVault, SIP, Gatekeeper, Firewall, patch compliance, and stale-device ratio. Shown as a circular gauge in Security Posture. Dock tile badge and macOS notification fire when the score drops below a configurable threshold.
  • DDM Monitor — per-device DDM declaration status (identifier, result, errors) and a fleet-wide overview showing succeeded/failed/pending counts per declaration.
  • Audit Dashboard — built-in security and hygiene checks across your Jamf Pro environment, surfaced as severity-rated findings (Critical · High · Medium · Low · Info) with full remediation guidance.
  • Device Correlation — when both Jamf Pro and Jamf Protect are connected, join device inventories by serial number. Filter by match state (Matched · Pro Only · Protect Only) and inspect both sides in a split detail panel.
  • Settings Inspector — browse all Jamf Pro settings endpoints exposed by jamf-cli in a searchable two-pane layout.

Improvements & Fixes

  • Resolved GUI rendering artifacts in Blueprints and Compliance Benchmarks.
  • Improved overall application stability.
  • Addressed multiple accessibility issues (VoiceOver labels, reduce-motion support, keyboard focus for list rows and filter chips).
  • Fixed XPC communication and App Sandbox integration issues.
  • Corrected checksum validation when downloading jamf-cli.
  • Fixed the Overview title bar display issue.

Debug Logging

JamfDash v0.6 adds comprehensive structured logging via macOS Unified Logging (com.jamfdash subsystem):

  • Per-jamf-cli call timing (duration + response size)
  • App phase transitions (AppState category)
  • Cache-hit skips in Fleet, Security, and Devices ViewModels
  • Sparkle update check and download events (Sparkle category)
  • OSSignposter intervals on main sync task groups for Instruments profiling

Stream all debug messages:

log stream --predicate 'subsystem == "com.jamfdash"' --level debug

CLI timing only:

log stream --predicate 'subsystem == "com.jamfdash" AND category == "CLIManager"' --level debug

Command arguments are .private by default. To reveal them, drop a plist into /Library/Preferences/Logging/Subsystems/com.jamfdash.plist containing Enable-Private-Data = true, or install the included JamfDash-Debug-Logging.mobileconfig on fleet-managed Macs.

Full category reference and stream examples are in the README → Debug Logging section.

macOS 27 Compatibility

@State is now a Swift macro in macOS 27. Initialising a state property at declaration time and inside init() no longer compiles. JamfDashApp.swift was updated to use State(initialValue:) as the single initialisation path.