Skip to content

Releases: Abdel-RahmanSaied/Mac-Polish

Mac Polish v0.10.0

Mac Polish v0.10.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Nov 18:34

Mac Polish 0.10.0 — Scan details & guided setup

Guided permissions

  • Five-step onboarding explains Full Disk Access, checks 16 locations, offers optional App Management guidance, and summarizes limited access.
  • Folder results appear as checks finish. Setup resumes at the saved step after reopening.
  • Xcode user data is explicitly labeled as the optional ~/Library/Developer folder, not the Xcode installation.

Deeper inspection

  • Choose Disk or Folder in Storage Map to inspect a selected mounted disk or folder.
  • Inspect every item lists small, hidden and empty entries, with 200-row pagination and on-demand folder navigation.
  • Inaccessible and timed-out locations stay visible. macOS permissions do not guarantee access to every file; other mounted volumes must be selected separately.

Scan engine fixes

  • Include hidden cleanup/Trash entries and report partial installer measurements.
  • Deduplicate overlapping roots and hard links before finding duplicate content.
  • Filter same-sized candidates using small samples, then confirm matches using complete SHA-256 hashing.
  • Preserve verified duplicate groups when the cooperative deadline is reached; display an incomplete warning.
  • Estimate duplicate disk allocation separately from content length, and retain warnings when small tree entries are folded.

Validation

Local arm64 release build, 23 Swift checks, isolated installer verification and disk-map E2E passed during development. Real-Trash E2E passed for the engine changes using disposable fixtures. The release workflow repeats regression checks, builds the app and verifies its package signature. See docs/engine-evaluation-2026-11-05.md for scope and limitations.

Requirements and limitations

Apple Silicon, macOS 14+. Preview release, signed with the existing fixed local certificate and hardened runtime; not Apple-notarized. macOS controls permission prompts. Scans can remain incomplete when files are protected, unavailable or blocked inside a filesystem call. Shared APFS space is an estimate, and moving files to Trash does not immediately reclaim it.

Mac Polish v0.9.2 — Stable Signing & Permission Fixes

Choose a tag to compare

@github-actions github-actions released this 04 Nov 12:36

Mac Polish 0.9.2 — One App Copy & Cleaner Updates

  • Keep exactly one installed Mac Polish app in ~/Applications. The installer archives one previous version as a ZIP under ~/Library/Application Support/Mac Polish/Previous Version instead of keeping additional app bundles in Applications.
  • Move recognized legacy MacPolish-backup.* folders to Trash and unregister those copies from Launch Services.
  • Detect other app copies and warn about different signing identities in access setup.
  • Preserve nonzero exit status on installation errors; support checked local release installation with --from DIRECTORY.
  • Reuse the same signing certificate as 0.9.1, with hardened runtime enabled.

Validation: the source change passed the full GitHub build, 22 Swift regression checks, the isolated installer test, and signing checks before release preparation. The release pipeline reruns regression and installer checks and verifies the packaged signature and architecture. Runtime injection prevention is not validated on GitHub's SIP-disabled runners; the local behavioral check passed for the earlier signing release. Full Disk Access/App Management interactions and actual TCC persistence across installed updates are not exhaustively validated.

Apple Silicon, macOS 14+. Preview, self-signed and not Apple-notarized. Upgrading from the old ad-hoc builds may require granting access again. No privacy or security settings are changed by the installer.

Mac Polish v0.9.1 — Stable Signing & Permission Fixes

Choose a tag to compare

@github-actions github-actions released this 04 Nov 11:36
37a804c

Mac Polish 0.9.1 — Stable Signing & Permission Fixes

  • Reuse one signing certificate locally and in CI; hardened runtime blocks library injection. An encrypted signing backup is kept outside the repository.
  • Detect denied folders and fingerprint reads instead of presenting incomplete scans as empty. Keep partial caches out of automatic cleanup.
  • Report observed protected-location access without claiming to know the Full Disk Access setting. Reopen setup when previously readable probes become restricted.
  • Check prompting folders sequentially, and explain filesystem ownership and App Management restrictions when removing apps.

Migration: the previous public build was ad-hoc signed. This first stable-signed update may require granting file access again. Future releases retain the same identity while the signing certificate is unchanged. Cross-build and backup-restore signing requirements have been verified; actual TCC permission retention through two installed updates has not yet been verified.

Validation: 21 local regression checks, signing/injection/Quit checks, isolated real-Trash E2E, and a full local release build using SDK 26.5 passed. Manual testing covered Settings, Memory, Cleanup partial results and Duplicates timeout reporting. The folder-access check can take about 4.5 minutes if all three personal-folder checks time out. GitHub macOS runners have SIP disabled, so they cannot validate runtime injection prevention; that behavioral test passed on the local Mac. App Management behavior with/without Full Disk Access is not exhaustively tested.

Apple Silicon, macOS 14+. Preview release, self-signed (not Apple-notarized). No privacy settings are changed by the installer; macOS remains in control of access.

Mac Polish v0.9.0 — Storage Map & Safer Cleanup

Choose a tag to compare

@github-actions github-actions released this 03 Nov 18:10
e0c62b1

Mac Polish 0.9.0 — Storage Map & Safer Cleanup

  • Whole Data-volume Storage Map with protected-folder workers and explicit incomplete scan results.
  • APFS clone/hard-link attribution and reconciliation against the startup Data device.
  • Partial cache measurements are excluded from automatic selection and Optimize. Cleanup rechecks readability and nested modification dates before moving an item.
  • Regression coverage includes unreadable nested content, access lost after scanning, worker serialization, and multiple Data volumes in one APFS container.

Validation: all 17 regression checks passed locally. Full local UI build is blocked by the installed SDK's missing SwiftUIMacros plugin; release packaging and validation run on GitHub's macOS runner. No personal files were moved during the regression checks. Whole-disk coverage depends on permissions; unexplained space and APFS attribution remain estimates. Interactive UI and real-disk destructive cleanup have not been validated for this release.

Apple Silicon, macOS 14+. Ad-hoc signed, not Apple notarized. Preview release.

Mac Polish v0.8.0 — Safer Cleanup & Reliable Scans

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 21:49

Mac Polish 0.8.0 improves cleanup safety, access recovery and scan responsiveness.

  • Added sidebar Settings and Last Cleanup details with per-file failures and Finder reveal.
  • Added concise permission recovery with affected paths; locked/read-only/managed folders have separate guidance. Cleanup never resumes automatically after access review.
  • Revalidate duplicates and the retained original before moving extras; skip changed/missing files, managed dependencies and redirected paths.
  • Run filesystem scans in deadline-controlled child processes so blocked reads do not leave the app scanning indefinitely.
  • Fixed runtime app icon registration, clarified optional Xcode user data, and improved hidden-file/application-package size accounting.
  • Added regression checks, isolated real Trash/restore E2E, CI and actual README screenshots.

Install / update (quit Mac Polish first):

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.8.0/install.sh | bash

Apple Silicon · macOS 14+. This personal preview is ad-hoc signed, not Apple-notarized. The installer verifies SHA-256, signature consistency, bundle identity/version and architecture, preserves the previous installation and does not change macOS security settings.

Local validation: 8 regression executables plus real Trash E2E passed. E2E moved and restored two fixture copies, skipped an edited file and preserved originals. Actual UI scans and review/cancel flows were exercised; Full Disk Access grants, personal app uninstall, permanent Trash emptying and Docker pruning were not executed.

Detailed validation report and limitations.

Post-publication checks: published installer verification, local installation, launch and updater passed. The newly installed app's file scan hit its deadline and displayed the recovery UI; full installed-device scan coverage remains incomplete pending review of file access. CI build and eight regression checks passed on macOS 15.8.2 arm64.

Mac Polish v0.7.2 — Sidebar Icon Fix

Pre-release

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 20:04

Fix the sidebar app icon appearing too small inside a gray system frame. The sidebar now displays the original icon artwork directly and scales it to fill its allocated space.

Validated with a release build, package signature and architecture checks, and a visual check in the running app.

Apple Silicon · macOS 14 or later. Personal preview, ad-hoc signed and not Apple-notarized.

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.7.2/install.sh | bash

Mac Polish v0.7.1 — App Icon Preview

Pre-release

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 19:52

Mac Polish 0.7.1 adds a custom macOS application icon: polished silver storage discs with a cleaning sparkle on a cyan-blue tile.

The icon includes native 1x/2x sizes from 16 to 1024 pixels for Finder and the Dock, and is also used in the app sidebar. The build script now includes the icon resource in every application bundle.

Validated: release build, icon resource and bundle metadata, ad-hoc signature, arm64 architecture and release packaging.

Apple Silicon · macOS 14 or later. Personal preview, ad-hoc signed and not Apple-notarized.

Quit Mac Polish, then install:

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.7.1/install.sh | bash

Mac Polish v0.7.0 — Permissions Setup Preview

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 19:37

Mac Polish 0.7.0 brings file-access preparation into one setup screen before scanning.

  • First-run setup explains Full Disk Access, opens its System Settings pane and reveals the current app for manual addition.
  • One action checks Desktop, Documents, Downloads, caches, developer files and Trash; macOS may display separate folder prompts.
  • Folder checks distinguish readable, restricted, missing and unverified locations. They do not claim a system-wide Full Disk Access grant or write permission.
  • Continue with a limited scan at any time, and reopen setup from Settings → File access → Review Scan Permissions.
  • Privacy purpose strings explain why personal folders are accessed. Memory monitoring needs no additional permissions.
  • Clarified the difference between file cleanup to Trash and permanent optional Docker build-cache removal.

Validation: isolated folder/error and first-run persistence checks; Optimize policy regression checks; release build, signature and arm64 validation; first-run setup, skip, reopening from Settings and direct Full Disk Access navigation tested in the UI. No system permissions were granted by the tests.

Apple Silicon · macOS 14 or later. Personal preview, ad-hoc signed and not Apple-notarized. macOS permissions remain under user control; updates may require reviewing them again.

Quit Mac Polish, then install:

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.7.0/install.sh | bash

Mac Polish v0.6.1 — Storage & Window Restore Preview

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 19:26

Mac Polish 0.6.1 includes the storage-diagnostics improvements from 0.6.0 and fixes reopening the main window from Finder or the Dock after closing the last window.

  • Current filesystem free space, capacity and observed post-cleanup change.
  • Read-only review of Trash, Downloads, Documents and Applications.
  • Clear status for restricted access, missing locations and scan timeouts.
  • A fresh optimization plan for every scan and disabled Docker cleanup when build cache is zero or unknown.
  • The main window can be restored while memory monitoring continues in the background.

Validation: standalone checks for duplicate selection, cleanup policy, Docker size parsing, incomplete measurements and update selection; release build and arm64/signature checks; installation from GitHub assets; live Optimize scan, Finder review link, application search, memory readings, cancellation, update check and close/reopen checks.

Apple Silicon · macOS 14 or later. Personal preview, ad-hoc signed and not Apple-notarized. Protected locations may require Full Disk Access; a timed-out or restricted scan is reported as incomplete.

Quit Mac Polish, then install:

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.6.1/install.sh | bash

The installer checks the archive checksum, application signature, version and architecture, and keeps any previous installed version as a backup.

Mac Polish v0.6.0 — Storage Diagnostics Preview

Choose a tag to compare

@Abdel-RahmanSaied Abdel-RahmanSaied released this 02 Nov 19:10

Mac Polish 0.6.0 improves storage diagnosis when a scan finds no eligible older caches or cannot access protected locations.

  • Optimize displays current filesystem free space and capacity, then reports the observed change after cleanup.
  • Trash, Downloads, Documents and Applications have read-only size measurements and Finder review links.
  • Incomplete measurements distinguish restricted access, missing paths and scan timeouts instead of implying an empty folder.
  • A new scan clears the previous plan; cleanup controls remain unavailable while scanning.
  • Docker build-cache cleanup is enabled only when a positive build-cache size is known. Images and volumes are not used to enable it.
  • Updated usage and contribution documentation, with checks for Docker parsing, partial measurements, file revalidation and duplicate selection.

Apple Silicon · macOS 14 or later. Personal preview, ad-hoc signed and not Apple-notarized.

Install or update after quitting Mac Polish:

curl -fsSL https://github.com/Abdel-RahmanSaied/Mac-Polish/releases/download/v0.6.0/install.sh | bash

The installer verifies the archive checksum, app signature, bundle version and arm64 architecture before installing into ~/Applications.