Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: cacheout-app/cacheout

Cacheout v2.1.2

17 May 23:02
@acebytes acebytes

Choose a tag to compare

Menubar icon hotfix

v2.1.1 correctly bundled menubar icon resources into the .app, but the source PNGs in Sources/Cacheout/Resources/ were a faint single-line "C" outline that rendered effectively invisible at ×ばつ18 in template mode. The actual master artwork had been dropped from the repo at some point.

Fixed

  • Restored Resources/menubar-icon-master.PNG (the ×ばつ2048 master) and regenerated all four bundled variants — MenuBarIcon.png, MenuBarIcon@2x.png, MenuBarIconTemplate.png, MenuBarIconTemplate@2x.png — at the correct ×ばつ18 / ×ばつ36 sizes from the master. The Cacheout "C" now actually appears in the menubar.

Everything else from v2.1.0 + v2.1.1 (Sparkle auto-update bundling, helper daemon, security/perf/UX fixes) is unchanged.


Install

brew upgrade --cask cacheout

Or download Cacheout-2.1.2.dmg below and replace your /Applications/Cacheout.app.

Full Changelog: v2.1.1...v2.1.2

Assets 3
Loading

Cacheout v2.1.1

17 May 21:32
@acebytes acebytes

Choose a tag to compare

Hotfix for v2.1.0

v2.1.0 shipped with two regressions: the menubar icon resources and the CacheoutHelper privileged daemon were silently dropped from the .app bundle. v2.1.1 restores both.

Fixed

  • Menubar icon now displays again. Bundle.main.image(forResource: "MenuBarIconTemplate") couldn't find the PNG resources because scripts/bundle.sh was only copying Cacheout.icns. Now copies all four icon variants (regular + @2x, template + non-template) into Contents/Resources/.
  • CacheoutHelper daemon is now bundled at Contents/Library/LaunchDaemons/. The SMAppService.daemon(plistName:) registration relies on the binary + plist being inside the app bundle. Without them, the onboarding install-helper flow and --daemon autopilot silently broke. The helper is now signed before the outer app so codesign --verify --deep --strict passes.

Everything else in v2.1.0 (Sparkle auto-update bundling, HTTPS webhook enforcement, process pipe + PID-lock-fd-leak fixes, dictionary/scanner perf work, dynamic button labels + tooltips, empty states, accessibility) is unchanged.


Install

brew install --cask cacheout-app/cacheout/cacheout

Or download Cacheout-2.1.1.dmg below and drag to /Applications.

Full Changelog: v2.1.0...v2.1.1

Loading

Cacheout v2.1.0

17 May 15:53
@acebytes acebytes

Choose a tag to compare

⚠️ Known issue — please install v2.1.1 instead

v2.1.0 is missing the custom menubar icon resources and the CacheoutHelper daemon binary from the .app bundle (a scripts/bundle.sh regression). The menubar item can appear blank, and the install-helper onboarding flow / --daemon autopilot silently break. Both issues are fixed in v2.1.1

https://github.com/cacheout-app/cacheout/releases/tag/v2.1.1


What's new in v2.1.0

🚀 Auto-updates land

Sparkle.framework is now bundled inside Cacheout.app/Contents/Frameworks/ with the correct @executable_path/../Frameworks rpath, signed inner→outer with hardened runtime. Starting from this build, future releases will be installable via in-app auto-update instead of manual reinstall.

🎨 UX polish (Palette)

  • Dynamic Scanning... / Cleaning... labels on the Scan/Clean buttons with .help() tooltips explaining disabled states
  • .help() tooltips on per-process ellipsis menus
  • Visual empty state for the node_modules section (centered icon + callout)
  • Accessibility labels on icon-only controls so VoiceOver stops reading "Button"
  • Empty state for the Processes view

🛡️ Security & reliability (Sentinel)

  • HTTPS-only webhooksAutopilotConfigValidator and WebhookConfig.parse both reject http://
  • PID lock fd no longer leaks to childrenopen(2) now uses O_CLOEXEC and withUnsafeFileSystemRepresentation
  • Process pipe deadlock fixCacheoutViewModel.runCleanCommand (docker prune path) reads stdout before waitUntilExit()
  • Defense-in-depth pipe-deadlock guards across other process execution paths
  • Command injection vulnerabilities closed in runCleanCommand and CacheCategory.toolExists
  • Docker pruning now resolves via /usr/bin/env docker so Apple Silicon /opt/homebrew/bin users actually run it

⚡ Performance (Bolt)

  • JetsamHWM priority map built with reduce(into:) — no COW thrash
  • ProcessMemoryScanner uses a sliding-window TaskGroup
  • Scanner TaskGroups marked nonisolated so subtasks parallelize off the actor executor
  • Shared ByteCountFormatter/ISO8601DateFormatter instances + .lazy.filter.reduce
  • Batched @Published array mutations — one SwiftUI re-render per scan instead of N
  • CacheScanner enumerator prefetches .isRegularFileKey
  • NodeModulesScanner is truly concurrent with reduced syscalls
  • Blocking I/O offloaded via Task.detached so async @MainActor methods no longer stall the UI

🐛 Bug fixes

  • Process names no longer display as "unknown" in the main process list
  • Guard against empty arguments in runCleanCommand

Install

brew install --cask cacheout-app/cacheout/cacheout

Or download Cacheout-2.1.0.dmg below and drag to /Applications.

Full Changelog: v2.0.0...v2.1.0

Loading

Cacheout v2.0.0

13 Mar 22:34
@acebytes acebytes

Choose a tag to compare

Cacheout v2.0.0

Developer cache cleaner & memory manager for macOS.

Features

  • SSD Cache Cleaning — scan and clean 12 cache categories (Xcode, npm, pip, Homebrew, etc.)
  • Memory Pressure Monitoring — real-time telemetry with compressor tracking
  • Predictive Intelligence — memory exhaustion warnings before you run out
  • Intervention Engine — tiered memory recovery (purge, jetsam, sysctl tuning)
  • Privileged Helper — optional helper for advanced memory management
  • Headless Daemon Mode — long-running monitoring with Unix socket API
  • Autopilot Rules — automated actions with webhook/Telegram alerts
  • Docker System Prune — one-click Docker cleanup
  • CLI Interface — full JSON output for scripting and automation
  • MCP Server — available separately via pip install cacheout-mcp

Install

Download: Cacheout-2.0.0.dmg (signed & notarized)

Homebrew:

brew install --cask cacheout-app/tap/cacheout

Requirements

  • macOS 14 (Sonoma) or later
  • Apple Silicon or Intel

License

Sustainable Use License v1.0

Loading

AltStyle によって変換されたページ (->オリジナル) /