Releases: mas-cli/mas
v6.0.1: ⏭️ Fix --no-check-min-os for inaccurate outdated app detection
What's Changed
🐛 Bug Fixes
- Fix
--no-check-min-osfor inaccurate outdated app detection by @rgoldberg in #1214
Full Changelog: v6.0.0...v6.0.1
v6.0.0: 🧾 Improve unindexed app detection & minimum macOS check
Added --check-min-os & --no-check-min-os to outdated & update (--check-min-os is the default), which enable/disable (respectively) checking that the running macOS is new enough to install the newest version of the given app.
Removed --accurate-ignore-unknown-apps. This is a break change, hence the new major version.
--check-min-os ignores unknown apps, so --accurate by itself (or with --check-min-os) behaves like --accurate-ignore-unknown-apps, though it also ignores apps whose newest version requires a newer macOS.
--accurate --no-check-min-os behaves like pre-6.0.0 --accurate, as it neither ignores unknown apps nor checks the minimum macOS version.
--no-check-min-os is useful for the rare cases:
- when the newest version of the given app requires a newer macOS than is running on your Mac, but another version exists (that is newer than your current version, but older than the newest version) that can install on your macOS
- when the iTunes Search web API doesn't know about an app in the App Store (might not ever occur, but is theoretically possible)
What's Changed
🐛 Bug Fixes
- Improve performance of unindexed app detection for nonstandard apps by @rgoldberg in #1210
- Ignore empty receipts when searching for unindexed apps by @rgoldberg in #1211
- Fix minimum OS version check by @rgoldberg in #1212
Full Changelog: v5.2.0...v6.0.0
v5.2.0: 🕹️ Support Apple Arcade apps
- Support Apple Arcade apps (and anything else that has "MacDesktop-MacDesktop" amongst its supported devices)
- Parallelize some code
What's Changed
🚀 Features
- Parallelize async code without side effects that cannot be out of order by @rgoldberg in #1203
🐛 Bug Fixes
- Support
MacDesktop-MacDesktopapps by @rgoldberg in #1199 - Get
minimumOSVersionforMacDesktop-MacDesktopapps from App Store page forsearchby @rgoldberg in #1201
Full Changelog: v5.1.0...v5.2.0
v5.1.0: ↕️ Install/update & uninstall improvements
What's Changed
🚀 Features
- Add
--alltouninstallby @rgoldberg in #1178 - Output path to deployed app by @rgoldberg in #1184
- Warn if potentially undesired app folder modified by @rgoldberg in #1190
🐛 Bug Fixes
- Create temp folders for pkg installer & receipt hard links on same volume as original files by @rgoldberg in #1187
- Create receipt & ancestor folders with correct owner, group & permissions by @rgoldberg in #1192
- Index in Spotlight folders that should contain App Store apps but that aren't indexed as such in Spotlight by @rgoldberg in #1194
Changes
- Fix SwiftFormat file header copyright year issue by @rgoldberg in #1180
- Output error when
uninstall --all <app-id>…oruninstallwithout args by @rgoldberg in #1189 - Build with Xcode 26.2 on macos-15 & macos-15-intel GHA runners & more by @rgoldberg in #1195
Full Changelog: v5.0.2...v5.1.0
v5.0.2: 🅾️ Ignore trailing 0 version components
- Ignore trailing 0 version components in inaccurate version comparison (thanks, @WarningImHack3r)
What's Changed
🚀 Features
- Fix additional trailing zeros being counted as version upgrade by @WarningImHack3r in #1175
New Contributors
- @WarningImHack3r made their first contribution in #1175
Full Changelog: v5.0.1...v5.0.2
v5.0.1: 🏗️ Fix macOS 14 build
- Fix macOS 14 build
What's Changed
Changes
- Fix macOS 14 build & test in GitHub by @rgoldberg in #1174
Full Changelog: v5.0.0...v5.0.1
v5.0.0: ✂️ Require macOS 13 to run; remove account, region & signin
- Fix an install/update deadlock for long installer logs
- Remove vestigial
account,region&signin - Require macOS 13+ to run mas
- Use Swift 6.2
What's Changed
🐛 Bug Fixes
- Improve build-time Swift & Swift driver version parsing to be more universal by @rgoldberg in #1163
- Fix installer output parsing deadlock by @rgoldberg in #1166
Changes
- Increase minimum macOS version to 13 Ventura by @rgoldberg in #1164
- Use Swift 6.2 by @rgoldberg in #1165
- Remove
account,region&signinby @rgoldberg in #1167 - Improve regex usage &
unsafeusage by @rgoldberg in #1169 - Remove unnecessary
MAS.&mas.by @rgoldberg in #1172
Full Changelog: v4.1.2...v5.0.0
v4.1.2: ⬆️ More install/update & other fixes
- Many install/update/outdated improvements
- Many build improvements
- Minor cleanup
What's Changed
🚀 Features
- Deduplicate ADAM IDs for install/update by @rgoldberg in #1147
🐛 Bug Fixes
- Ensure that notices about downloading phase always output by @rgoldberg in #1152
- Build using the latest available Xcode by @rgoldberg in #1154
- Improve version comparison logic for
outdated&updateby @rgoldberg in #1155 - Warn users to switch to a mas distribution that is built using Swift 6.2+ by @rgoldberg in #1156
- Fix pkg installer selection algorithm by @rgoldberg in #1158
- Choose shortest (instead of first) bundle URL from installer stderr as app folder by @rgoldberg in #1161
Changes
- Improve download output by @rgoldberg in #1141
- Replace protocols with composition by @rgoldberg in #1143
- Trash uninstalled app folders via
FileManagerinstead of via Finder by @rgoldberg in #1150
Full Changelog: v4.1.1...v4.1.2
v4.1.1: ⬆️ Install/update & other fixes
get,install,lucky, &update: numerous fixes including:- Properly updating App Store upon app installation/upgrade
- Improved concurrency
- Replace existing app receipt
- App Store & macOS regions: for each macOS region without an App Store, map to a default App Store specific to that region
config: binary slice architecture detection- Avoid a JSON parsing error
- arm64 pkg installer no longer require Rosetta to be installed
- Standardized error output formatting
- Cleanup
What's Changed
🚀 Features
- Include mas binary slice architectures & Mac CPU architecture in
configoutput by @rgoldberg in #1119
🐛 Bug Fixes
- Map each macOS region that does not have an App Store to a region that does have an App Store by @rgoldberg in #1118
- Improve concurrency by @rgoldberg in #1120
- json parsing by @rgoldberg in #1121
- Register installed / updated apps with Launch Services to fix incorrect App Store app page button states by @rgoldberg in #1122
- Improve app install/update output by @rgoldberg in #1124
- Delete existing receipt during update by @rgoldberg in #1125
- No longer require Rosetta for arm64 pkg installer by @rgoldberg in #1126
- Fix accurate outdated app detection by @rgoldberg in #1130
Changes
- Make
Error:prefix red & underlined for argument-parsing errors by @rgoldberg in #1101 - Cleanup by @rgoldberg in #1117
- Rename
configfromasdist, etc. by @rgoldberg in #1129 - Conform multiple types to
Sendableby @rgoldberg in #1132 - Update Swift Argument Parser to 1.7.0 by @rgoldberg in #1135
- Update
Package.resolvedby @rgoldberg in #1137 - Improve
configslices output by @rgoldberg in #1139
Full Changelog: v4.1.0...v4.1.1
v4.1.0: 🔐 Root privilege usage overhaul
Root privilege usage has been overhauled. mas now:
- requires root privileges only when absolutely necessary
- requests root privileges if they have not yet been granted
- allows root privileges granted during a call to mas to remain valid pursuant to the user's sudo credential timeout setting
- calls sudo from the executable mas binary, obviating the need for the now-removed zsh wrapper
- allows all commands to work properly if they are called with a root effective user
- some commands previously worked properly only if called with a non-root effective user (i.e. were not called via sudo)
What's Changed
🚀 Features
- Omnibus: sudo from Swift, non-expiring sudo credentials, macos-15-intel GHA runners, documentation, massive cleanup by @rgoldberg in #1098
Full Changelog: v4.0.0...v4.1.0