Repository navigation
Releases: kiron0/quitx
Release list
v1.1.9
What's Changed
Added
- In-app updates come straight from GitHub Releases:
UpdateCheckerreadsGET /repos/kiron0/quitx/releases/latestwith anETagcache (304 responses are free of the rate limit), ignores drafts and pre-releases, and picks theQuitX-vX.dmgasset. Checks run 20 s after launch, every 6 hours and on wake. - An available update shows a red dot on the menu bar icon and an Update to vX… / Restart to Update to vX item at the top of the status menu and the popover menu, plus one notification per version.
- Settings ▸ General: Check for updates automatically (existing
autoUpdate) and Download and prepare updates automatically (autoInstallUpdates, default off). - Repository
docs/(HOW-IT-WORKS.md,SIGNING.md),site/landing page deployed by.github/workflows/pages.yml, andvideo/(time-drivendemo.htmlrendered tosite/assets/demo.mp4byrender.mjs). - Terminal installer:
curl -fsSL https://quitx.kiron.dev/install | bash(site/install) downloads the latest release from GitHub, verifies the SHA-256 digest, bundle identifier, version and code signature, swaps the app into/Applicationswith rollback, and opens it. The website moves to quitx.kiron.dev (site/CNAME). - Website, README screenshots and demo video cover every feature: quit, confirm, force quit, background apps, exclusions, menu bar stats, CPU and memory warnings, quit on sleep, Classic and Liquid Glass, sounds, last-window quit and updates. Screenshots render from
video/shots.htmlwithnode video/render-shots.mjs; the video renders fromvideo/demo.htmlwith its sound design fromvideo/sfx.py. - Optional stable self-signed release certificate (
Scripts/create-signing-cert.sh,MACOS_SIGNING_*secrets) with a signature check step in the release workflow. - Playful tooltips and icons added to Shortcuts, Exclude, General, and About tabs in Settings.
- What's New window redesign: welcome-style compact latest release view with expandable version history sidebar, glass styling, and unified section card icons.
Changed
- Removed the Cloudflare Worker, the pinned Ed25519 public key and
Scripts/generate-update-key.sh. Updates are verified with the GitHub asset SHA-256 digest, bundle identifier, exact version, strict nested code signature, and the running app's designated requirement when it is not ad-hoc signed. - The installer helper installs to
/Applicationswhen QuitX runs from a disk image or translocated folder, asks for an administrator password only when the app folder isn't writable, and reopens the old copy if the swap fails. updates.jsonis now optional and only published (whenUPDATE_ED25519_PRIVATE_KEYis set) so QuitX 1.1.8 and earlier can still update through the old Worker.- Centralized GitHub repository and release URLs in
QuitXConstants. - Website hero pill updated to permanent Open Source badge.
Fixed
- What's New window: fixed bottom transparent gap by removing titlebar height inflation in
ChangelogWindowController. - What's New window: fixed version selection desync when collapsing from detailed view to compact view.
- Terminal installer: fixed
mount_dir: unbound variableerror and added check to avoid re-downloading if the installed version is already equal to or newer than release.
Install
- Download
QuitX-v1.1.9.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Or in Terminal: curl -fsSL https://quitx.kiron.dev/install | bash
Already using QuitX? It updates itself from this page: choose Check for Updates in the menu bar, or turn on automatic updates in Settings → General.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.9
v1.1.8
What's Changed
Fixed
-
Quit When Last Window Closes for apps that only hide their window on close (Discord, Slack and other Electron apps): QuitX now records the user's close intent natively, a click on a window's close button (Accessibility hit test limited to the title-bar corner) or ⌘W / ⌘⌥W, and treats the window it targeted as closed even if the app keeps it alive off screen. Windows that reappear count as open again; windows never shown on screen are ignored. Space switches, full screen, minimize and hide still never trigger a quit.
-
Accessibility after updates: releases up to 1.1.5 were signed with a CDHash-based designated requirement, so macOS dropped the Accessibility grant on every update. Builds now fail if the designated requirement is not identifier-based, losing trust only pauses Quit When Last Window Closes instead of switching it off, and Automation settings offer Repair Accessibility (resets the stale entry with
tccutiland asks again) when access was lost after an update. -
Permission management: new
AccessibilityPermissionservice is the single owner of Accessibility state. It never prompts on its own, reacts to the systemcom.apple.accessibility.apichange notification with short re-checks, records the version that last held the grant, and drives Allow, Repair (tccutil reset) and Open Settings. -
"Data Access Blocked" notifications: QuitX no longer reads any other app's files. Chromium profile discovery (open-file scanning and
Local Stateparsing) is removed; instance labels come from launch arguments only and the Windows menu lists windows directly.
Install
- Download
QuitX-v1.1.8.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.8
v1.1.7
What's Changed
Added
- Version changelog window: added
ChangelogWindowController,ChangelogView, andChangelogDatapresenting a What's New window with a version history sidebar, real-time search, quick review summaries, and categorized markdown release notes. Automatically displays upon first launch after an update and remains manually accessible from About, Settings, and Menu Bar. - Multi-space window close observer: added
AXWindowCloseObserverinLastWindowQuitServiceusing nativeAXObservernotifications (kAXWindowCreatedNotificationandkAXUIElementDestroyedNotification) to differentiate between user-initiated window closes and multi-Space/full-screen transitions. - All-spaces window counter: added cached
allSpacesWindowCountquerying WindowServer[.optionAll, .excludeDesktopElements]across all virtual desktops. - Settings stats tooltip: added playful dream team description and emoji to the menu bar stats configuration popover.
Changed
- Menu bar item label: shortened "What's New in QuitX..." to "What's New" across application menus and status items.
- In-app changelog architecture: separated developer git release notes from in-app human-language Swift definitions in
ChangelogData.swift.
Fixed
- Multi-space false quits: switching Spaces or moving an app to full-screen mode no longer triggers premature last-window termination when windows remain open on other Spaces.
- Update launch presentation: What's New displays once upon restarting into a new version and remains dismissed on subsequent launches until the next release.
- What's New on upgrade from 1.1.6 or earlier: builds without a recorded last-seen version now show the window once instead of silently skipping it; downgrades never show it.
- Release note rendering: items render as inline Markdown via
AttributedStringinstead ofLocalizedStringKey, avoiding localization lookups on note text. - Activation policy updates no longer crash when
NSAppis unavailable and skip redundant policy changes.
Install
- Download
QuitX-v1.1.7.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.7
v1.1.6
What's Changed
Added
- Multi-instance application management:
AppInstanceServicedetects and groups multiple running instances of the same app (open -n). Popover displays instance badges, collapsible instance rows with individual PID and memory stats, and individual or batch termination controls. - Multi-instance restart:
RestartServicecaptures per-instance launch arguments (e.g.--user-data-dir) and relaunches each instance with its original arguments when restarting a multi-instance app. - GUI integration test suite: grouped real WindowServer fixture tests and multi-instance lifecycle tests under a serialized
GUIIntegrationTestssuite (LastWindowQuitIntegrationTests,MultiInstanceIntegrationTests,AppInstanceTests,RobustnessTests). - Space change detection: registered
NSWorkspace.activeSpaceDidChangeNotificationinLastWindowQuitServiceto track window state across Spaces and prevent false quits during Space switching. - Quit when the last window closes: added an opt-in Automation setting ("Quit app when its last window closes") that force-quits regular apps after their last window closes via the red close button (x) or ⌘W, so they do not keep running in the background. Minimized windows, hidden apps, and windows on other Spaces are preserved. Excludes Finder, background daemons, music apps, and user exclusions.
Changed
- Helper process management:
QuitServicediscovers nested helper processes viaAppListService.runningProcessPaths()andProcessTree.isDescendant; graceful quits wait for main processes to exit before cleaning up helpers, while force quits terminate all targets concurrently. - App-group window tracking:
LastWindowQuitServicetracks apps by bundle path groups (appKey(for:)) instead of single PIDs, aggregating window counts across all member processes so multi-process apps (Electron, Telegram, Discord, Docker) only quit once all windows across all helpers close. - Performance & battery efficiency: offloaded menu bar stats sampling to background tasks to keep the main runloop responsive, and dynamically throttled
CpuUsageSamplerto 10-second idle intervals when stats popovers are closed. - Last-window quit optimization: cached WindowServer visible window queries (
OSAllocatedUnfairLock, 0.5s max age) and web runtime detection paths (Electron, Chromium, Slack, Discord, Telegram, Docker), eliminating duplicate window list scans. - Quit timer precision: replaced fixed 60-second polling timer with dynamic one-shot timer targeting the earliest due deadline, eliminating execution delay drift.
- Accessibility messaging timeout: enforced a 0.5-second timeout on accessibility queries in
LastWindowQuitServiceto prevent UI thread hangs on unresponsive apps. - Settings tab views now live in purpose-named files with shared controls separated, replacing clone-style type names.
- Removed unused duplicate and legacy PNG resources from the app bundle.
Removed
- Top processes section: removed the CPU and memory "Top Processes" list and background
TopProcessSamplertask from the stats detail popover, cutting unnecessary subprocess and kernel task walks.
Fixed
- Quit when the last window closes: force-quits instead of sending a graceful request that background apps could ignore. It now detects AppKit-retained closed windows while preserving minimized, hidden, and off-Space windows.
- Settings: quit-on-last-window option is strictly gated behind Accessibility permissions; revoking permission automatically disables the feature and resets configuration.
- Quit timer execution: pending quit timers are retried if an existing quit operation is in-flight instead of silently dropping scheduled quits.
- Web runtime app termination: properly handles helper process and window tracking for Electron and multi-process web apps during last-window quit.
- Settings reset now asks for confirmation before restoring preferences, shortcuts, and launch-at-login defaults.
- Reopening Settings, Welcome, Help, Exclude, or Update windows from the Dock restores a minimized window instead of leaving it hidden.
- Help: Finder & Trash opens the Advanced tab, shortcut copy says "Quit all apps", menu-bar stats help includes GPU, and "Report an Issue" opens the GitHub issue tracker.
- Stats detail panel: closing clears pending toast state.
- Settings: quit-on-last-window requests Accessibility only from Automation settings, never during app launch. Granted access shows a checkmark; Remove Access disables the option and opens the native revocation pane.
- Settings: Accessibility status now refreshes live while Automation settings remain open. The last-window toggle stays clickable and opens the grant flow when access is missing.
- Build: local app bundles now use a stable designated requirement instead of a changing CDHash identity, preserving macOS privacy grants across rebuilds.
- Automation: last-window close directly force-quits eligible apps. Minimized, hidden, and off-Space windows remain open and never trigger a quit.
- Testing: added a real WindowServer integration test that opens a fixture window, performs its close-button action, and verifies automatic force termination.
- Config: debounced saves can no longer overwrite a reset or a newer immediate save, and the memory-pressure threshold shown in Settings now matches the enforced value.
- Updates: "Later" keeps the verified staged update, and failed installs no longer leak staged files.
Install
- Download
QuitX-v1.1.6.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.6
v1.1.5
What's Changed
Added
- GPU statistics: added a GPU menu bar stat and a dedicated GPU panel reporting device, renderer and tiler utilization, GPU memory in use, allocated memory, core count and device name, sourced from IOKit
IOAcceleratortelemetry. - Granular menu bar stats: added independent CPU, memory, GPU and battery toggles under a single master "Show stats in menu bar" switch, so any combination of stats can be shown and the master reflects whether anything is enabled.
Changed
- Menu bar stat ordering: CPU and GPU now sit together, followed by memory and battery.
- CPU sampling: replaced the per-refresh
/bin/pssubprocess with nativeproc_taskinfodeltas sampled once per second, cutting per-sample cost from roughly 90 ms to under 2 ms; Mach CPU counters are converted using a verified 24 ticks-per-microsecond factor with a runtime self-calibration fallback. - Process list sampling: top CPU and memory processes now read resident size and names natively, and fall back to
psonly for processes the kernel refuses to expose to the current user. - App list performance: moved the window server query and PID recovery path off the main actor, and bounded the resident size cache to a fixed entry count.
- Settings window placement: the window is only repositioned when it would otherwise be off-screen, preserving the user's manual placement between openings.
- Stats panel sizing: panel height is now clamped to the display that actually hosts the menu bar item instead of the screen containing the key window.
Fixed
- Corrupt settings recovery: an unreadable configuration is moved to a backup key instead of being left in place to fail on every launch, and malformed per-app quit rules or quit timers now drop only the offending entries instead of discarding the whole set.
- Memory pressure rescue: the apps offered for quitting are now the ones actually exceeding the memory threshold, instead of an unrelated list of windowed apps.
- Quit on sleep: terminations are dispatched synchronously before the system suspends and are verified before the machine sleeps, with a retry on wake if any app survived.
- Quit on sleep target list: the running app list is now re-scanned synchronously before the sleep quit, so apps are no longer missed when the popover was never opened and the cached snapshot was empty or stale.
- Quit on sleep and Finder: when "Include Finder Windows in list" is enabled, Finder is now part of the sleep quit targets and its windows are closed, matching the manual quit action.
- Trash on sleep: when "Include Empty Trash in list" is enabled, the Trash is now emptied as part of the sleep quit, which is the user's explicit consent for permanent deletion.
- Trash emptying: Finder's "warn before emptying" preference is restored even when the empty operation fails, and AppleScript execution is serialised so concurrent quit batches cannot race.
- Selection handling: live refresh no longer collapses the selection to the current search filter, and the "Quit All" action and its confirmation now match the full selection rather than only the visible rows.
- Icon loading:
NSWorkspacelookups moved back onto the main actor, removing the risk of AppKit crashes and the exclude-app picker stalling on its loading placeholder. - Rescue consent panel: the panel now dismisses when the app loses focus without being cancelled by the activation change that presented it.
- Shortcut handling: removed the duplicate local key monitor so a configured shortcut fires once instead of twice.
- Updater destination: updates replace the bundle that is actually running instead of silently installing a second copy in the user's Applications folder.
- Memory pressure threshold: the stored threshold is no longer rewritten to a fixed fraction of system memory on every launch, which previously made the feature effectively unreachable.
- Window counts and quit timers: window enumeration and per-app rule decoding no longer run on the main actor or discard unrelated configuration.
Install
- Download
QuitX-v1.1.5.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.5
v1.1.4
What's Changed
Added
- Battery loading state: added an inline progress indicator and status message in the battery detail popover while async hardware metrics are being gathered.
Changed
- Background battery sampling: offloaded battery detail snapshots in stats popovers to a detached utility task scoped exclusively to battery mode, with generation and cancellation tracking to prevent UI stalls.
- Popover display preparation: standardized layout flushing, display synchronization, and shadow invalidation via
prepareForDisplay()across menu bar popovers, stats panels, rescue dialogs, and settings tooltips to eliminate visual compositing flicker. - Menu bar stats polling lifecycle: backs off polling interval to 5 seconds and tears down the status item when menu bar stats are disabled, and removed redundant status updates from the live stats loop.
Fixed
- Process identity verification: enforced exact bundle ID matching to prevent prefix overlap collisions with child or helper processes, falling back to sanitized name matching only when bundle ID is absent.
- Helper process containment validation: verified executable paths reside strictly within the parent app bundle's
Contentsdirectory using resolved, standardized file URLs. - Auto-quit PID recovery: resolved running process IDs from executable paths when LaunchServices reports invalid or non-positive PIDs, ensuring unparented or recovered apps are tracked and idled out reliably.
Install
- Download
QuitX-v1.1.4.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.4
v1.1.3
What's Changed
Changed
- App list service performance: indexed PID-to-path resolution to replace O(apps × processes) scans with O(1) lookups, and reused 4 KiB buffers during
proc_pidpathqueries to eliminate memory allocation churn. - Battery sampler efficiency: added an 8-second watchdog timer to
system_profilerchild processes to prevent thread hangs, cached system health queries with background refreshes, and precompiled capacity regex matching. - Status bar polling optimization: unified power-source sampling so battery throttle checks and menu bar status updates share a single query per tick.
Install
- Download
QuitX-v1.1.3.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.3
v1.1.2
What's Changed
Added
- Independent menu bar stat popovers: modularized menu bar stats so clicking CPU, Memory, or Battery directly opens a dedicated popover window anchored precisely beneath that individual stat segment, removing the previous tabbed container.
Changed
- Consistent terminology: replaced all remaining "RAM" labels and headers with "Memory" across stats views.
- Dynamic charging limit status: adjusted battery charging limit description to show "Charging to X%" while battery percentage is below limit, and "Charged to X%" once limit is reached or exceeded.
- Popover layout styling: standardized uniform 10pt content padding across stats panels to eliminate top offset and card overflow issues.
Fixed
- Menu bar popover switching stability: resolved premature dismissal when switching between stats segments by safely tearing down observers before window reuse and avoiding focus-loss race conditions.
- General settings radio button hit testing: added full rectangular content shape to appearance option radio buttons for reliable click detection.
Install
- Download
QuitX-v1.1.2.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.2
v1.1.1
What's Changed
Added
- Battery monitoring: optional menu bar charge status plus detailed power, capacity, health, and charging metrics.
Changed
- Automatic update checks now run when due after launch and repeat every 24 hours while QuitX remains open, with the last attempt persisted to avoid redundant checks after relaunch.
- Smart Rescue consent now supports selecting individual targets and scrolling through long target lists.
- Refined system app protection rules: permit quitting safe, user-facing Apple utilities and document tools (Preview, System Settings, Activity Monitor, Console, Disk Utility, Archive Utility) while keeping core system UI (Dock, WindowManager, SystemUIServer, loginwindow) strictly guarded.
- Stats detail metric indicators: updated detail row status color indicators from circular dots to 10x10 rounded squares (
cornerRadius: 2.5) to match the optical weight of process app icons. - Centralized constants and bundle identities: consolidated primary bundle ID, supported bundle identifiers, system bundle IDs, and UserDefaults keys into
QuitXConstants.
Fixed
- Smart Rescue no longer refreshes its candidate list while the consent panel is visible, preserving the user's selections and keeping every target accessible.
- Stats detail actions resolve Activity Monitor by bundle identifier and open Battery Settings without force-unwrapping its URL.
- PID recovery for workspace apps: resolved process IDs via executable path matching against
proc_pidpathwhen macOS LaunchServices returns an invalid PID (-1), ensuring apps like Preview are discovered and listed reliably. - Termination tracking for recovered PIDs: updated
QuitServiceto monitor process exit via raw PID verification whenNSRunningApplication.processIdentifieris non-positive. - Settings tooltip arrow and border synchronization: replaced native
NSPopoverwith customArrowPopoverWindowandarrowPopoverChromeinSettingsView, unifying tooltip styling with menu bar popovers and removing the extra inner border below the arrow.
Install
- Download
QuitX-v1.1.1.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.1
v1.1.0
What's Changed
Added
- macOS 26 Liquid Glass appearance: full native Liquid Glass UI styling and themes for macOS 26 Tahoe across the main popover, Settings window, Stats detail panel, Welcome window, and Help window, with live animated switching between Classic solid mode and Liquid Glass.
- Dedicated Automation settings tab: cleanly separated automation controls into their own dedicated tab featuring power saving, sleep and screen lock scheduling, CPU hog / memory pressure tripwires, and inactivity timeouts.
- Scheduled sleep and screen lock quit automation: restricted unattended quitting to configurable scheduled hours (default 12 AM to 6 AM) with start and end time pickers and toggle between 12-hour AM/PM and 24-hour time formats.
- Stats detail panel in menu bar: clicking the menu bar usage item opens a native-blur liquid glass panel displaying real-time CPU % and memory usage (used out of total unified memory) with custom status item arrow and auto-dismissal on click-outside, toggle, or Esc.
- Menu Bar Style & Memory format pickers: configure menu bar CPU & memory readouts with Icon (SF Symbols) vs Text (
CPU/MEM) prefixes, alongside Gigabytes (GB) vs Percentage (%) memory units in Settings > General. - Smart Rescue (USP): when a CPU or memory limit trips, QuitX safely rescues system resources by terminating inactive windowed apps only — never your frontmost app, Finder, Trash, excluded, music, or Never-ruled apps. Rescued apps land in Recently Quit for one-click reopening.
- Rescue consent panel & critical system protection: added interactive rescue consent gating and strict protections for vital macOS system processes and helper agents during resource cleanup.
- Multi-consumer CPU monitor isolation: isolated CPU tick counters in
SystemUsage.cpuPercent(consumer:)for menu bar, popover, and detail panel to prevent sample stealing and 0% readout artifacts. - Sticky search bar in Help: modern pinned search header in the Help sidebar with instant query matching, clear button, and empty state.
- Welcome guide appearance setup: choose between Classic and Liquid Glass appearance directly from the first-launch Welcome guide with increased, spacious layout.
- Humorous settings tooltips: comprehensive witty descriptions, tooltips, and easter eggs across all settings rows and schedule pickers.
Changed
- Capped Recently Quit history: "Reopen Recently Quit" now tracks and presents the 5 most recently quit apps (reduced from 20) for a tighter, focused menu.
- Direct inline stepper controls: replaced static value boxes with interactive inline steppers for CPU %, memory GB thresholds, and sleep/lock time range.
- Settings sub-options visual alignment: synchronized Menu Bar style/memory formats and Sleep & Lock schedule rows into uniform, aligned sub-option layouts matching Health and Automation sections.
- Synchronized status bar refresh: menu bar stats monitoring aligned with live app timing (1s normal, 5s battery saver, 10s power saver).
- Default app selection label simplified: renamed "Deselect apps by default" to "Select apps by default" across Welcome guide and Settings > Advanced with direct positive boolean binding.
- Expanded Help documentation: updated guides for recently quit limits (up to 5), menu bar stats formatting (Icon vs Text, GB vs %), interactive detail panel, sleep & screen lock scheduling, and theme settings.
Fixed
- Hardened process lifecycle & PID liveness: eliminated stale
NSRunningApplicationstate across single-instance cleanup, auto-quit tracking, and restart verification to prevent invalid signals or false restart failures. - Auto-quit Recently Quit tracking: routed unattended automatic quits through
QuitServiceto guarantee reliable termination and populate the Recently Quit history as documented. - Isolated update download sessions: bound async download delegates and staging tasks strictly to the active session identity, dropping stale callbacks on cancellation.
- Top process sampling concurrency throttle: enforced single in-flight
TopProcessSamplertask in Stats detail panel to prevent overlappingpsruns during rapid ticks. - Installed application scan serialization: serialized cache-miss scans in
InstalledAppCatalogso concurrent callers reuse the populated result without redundant disk sweeps. - Relaxed VM stat memory drift tolerance: increased page cache drift allowance in stats test assertions to ensure stability on high-load CI runners.
- Removed private CPU-frequency APIs and their stats UI for future Mac App Store compatibility.
- Hardened update delivery: removed the ineffective embedded gatekeeper key and require signed update verification as the trust boundary.
- Window presentation flicker on launch: suppressed welcome window animation during automated test execution and background launch (
open -g). - Settings window frame positioning: stabilized window chrome updates to avoid frame shifting and layout jumps during appearance theme switches.
- Headless test execution in CI: added native build system fallback (
--build-system native) to workflow test steps to prevent XCBuild property list initialization failures in CI runner environments.
Install
- Download
QuitX-v1.1.0.dmg(or.zip) from Assets below. - Open the disk image and drag QuitX to your
/Applicationsfolder. The zip contains the same app if you prefer archives.
Full changelog: https://github.com/kiron0/quitx/commits/v1.1.0