Releases: Dinesh7N/mac-setup
Releases · Dinesh7N/mac-setup
v0.3.7
v0.3.6
Full Changelog: v0.3.5...v0.3.6
v0.3.5
v0.3.4
v0.3.3 - Summary package links
Changes:
- Final TUI summary lists packages installed in this session with Homebrew links
- Add docs/packages.md (generated via task gen-packages) for a browsable package reference
- Misc fixes to verbose plumbing and installer helper signatures
Install:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Dinesh7N/mac-setup/main/install.sh)"
v0.3.2 - Fix linking & cask conflicts
Fixes
Auto-Link Unlinked Formulas
- Fixes "not found in PATH" errors for
tmux,mise,starship - Automatically detects and relinks packages installed but not linked
- Handles Homebrew's
.reinstallpackage quirk
Detect Manually-Installed Casks
- Fixes "already exists in /Applications" errors for
iterm2,raycast,rectangle - Detects apps installed outside of Homebrew
- Skips installation gracefully with informative message
Enhanced Verification
- Verification now auto-recovers by attempting
brew link - Only reports failure if auto-fix doesn't work
Changes
- Add
LinkFormula()to fix unlinked packages - Add
IsFormulaLinked()to detect linking status - Add
IsCaskAppInstalled()to detect manual installations - Enhanced formula installation with auto-relinking
- Enhanced cask installation with /Applications detection
- Added comprehensive tests
Full Changelog
v0.3.1
Bug Fixes
- Fix Homebrew deadlock caused by concurrent brew operations
- Skip already-installed packages instead of reinstalling them on every run
- Improve installation speed by serializing Homebrew commands
- Prevent lock contention on /opt/homebrew/Cellar/*
This release addresses critical issues where the installer would deadlock when multiple brew commands ran simultaneously, and unnecessarily reinstall all required packages on every run.
v0.3.0
v0.2.0 - Gatekeeper Fix, Progress Bar, and Package Reinstall
What's New
🔧 Fixes
- Fix macOS Gatekeeper blocking binary execution during installation (resolves "Killed: 9" error)
✨ Features
- Visual Progress Bar: Real-time progress tracking with gradient bar showing completion percentage
- Organized Installation View:
- ✓ Completed packages (green, sorted alphabetically)
- ✗ Failed packages (red with error details)
- ⠋ Currently installing packages (with spinner)
- Package Reinstall Support: Keep installed packages checked to reinstall them, or uncheck to skip
- Updated Defaults: iTerm2 is now the default terminal (Ghostty is optional)
📦 Installation
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Dinesh7N/mac-setup/main/install.sh)"Full Changelog: v0.1.0...v0.2.0
Release v0.1.0 - Homebrew PATH Fix & Release Automation
🐛 Bug Fixes
- Fixed critical Homebrew PATH issue: Resolved "brew: executable file not found in $PATH" error that caused 29 package installations to fail
- Implemented
GetBrewExecutable()function with fallback logic for Apple Silicon Macs - Applied fix across all brew operations (install, scan, fzf configuration)
🚀 New Features
Automated Release Process
- Added
scripts/release.shwith validation and safety checks - New task command:
task release VERSION=vX.Y.Z - Automatic build, tag creation, and GitHub release upload
Code Quality Tooling
- Integrated
gofumptfor consistent code formatting - Enhanced
golangci-lintconfiguration - New tasks:
format,lint,check,ci
🔧 Improvements
- Enhanced install.sh with logging to
/tmp/macsetup.log - Better error messages and troubleshooting guidance
- Fixed 8 linting issues (errcheck, staticcheck, unused)
- All code now passes with 0 linting issues
📚 Documentation
- Added comprehensive Contributing Guidelines
- Documented Release Process for maintainers
- Added Troubleshooting section
- Development workflow documentation
🧪 Testing
All checks passing:
- ✅ golangci-lint run - 0 issues
- ✅ gofumpt formatting - all files formatted
- ✅ go test ./... - all tests pass
📦 Installation
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Dinesh7N/mac-setup/main/install.sh)"📊 Changes
- Files Changed: 13
- Lines Added: 338
- Lines Removed: 93
Full Changelog: v0.0.1...v0.1.0