This version (3.0.0) does not fix the recent errors for get, install, lucky, purchase, update & upgrade caused by macOS 26.1, 15.7.2 & 14.8.2. They will be fixed in the forthcoming mas 4.0.0.
mas 3.0.0 is being released with many other previously completed changes so that they can be used without the disruptive change to core mas functionality in mas 4.0.0.
Numerous problems in the detection of app updates have now been fixed. Unfortunately, this has rendered mas outdated slower, and mas update a decent amount slower. The commands will run faster if you supply app ID arguments to limit the apps that must be checked.
Bundle IDs are now accepted in lieu of ADAM IDs (formerly known as app IDs; ADAM IDs & bundle IDs are now collectively known as app IDs).
mas list & mas outdated now accept app IDs to filter their output.
mas search no longer outputs iOS or iPadOS apps, as they are not yet supported by the rest of mas.
Multiple commands & terms have been renamed to align with official Apple terminology. Commands that have been renamed are still usable via their old names via aliases.
A man page is now installed when installing from Homebrew.
Many behind-the-scenes improvements for the production code, development environment, and deployment procedure.
What's Changed
🚀 Features
- Generate manual via
Scripts/generate_manualby @rgoldberg in #923 - Accept Bundle IDs as arguments alongside ADAM IDs (fka app IDs) by @rgoldberg in #953
- Accept app IDs to filter
list&outdatedoutput by @rgoldberg in #973 - Rename commands & properties to align with App Store terminology by @rgoldberg in #1026
🐛 Bug Fixes
- Update SwiftLint to 0.60.0 by @rgoldberg in #932
- Change
listerror to warning by @rgoldberg in #934 - No longer include iOS or iPadOS apps in
searchresults by @rgoldberg in #947 - Refactor
outdated&upgradeto try to install each installed app, then cancel the installation when appropriate by @rgoldberg in #994 - Fix data race in
Consequences.swift. by @rgoldberg in #1007
Changes
- Add package installer title by @rgoldberg in #925
- Run
build-testGHA workflow on macOS-15, macos-14 & macos-13 by @rgoldberg in #911 - Rename generated
Package.swiftasMAS+Statics.swiftby @rgoldberg in #933 - Multiple issues by @rgoldberg in #938
- Improve
Reset. Remove--debugflag. by @rgoldberg in #942 - Setup macOS 26 GHA runner by @rgoldberg in #943
- Update extracted Apple private framework headers for macOS 26 & partially automate process. by @rgoldberg in #946
- Improve region handling. No longer use IsoCountryCodes library. by @rgoldberg in #949
- Code cleanup by @rgoldberg in #951
- Improve ADAM ID display padding by @rgoldberg in #954
- Improve spacing by @rgoldberg in #956
- Make
PurchaseDownloadObserverfinalby @rgoldberg in #959 - Improve
Scripts/update_headersby @rgoldberg in #962 - Refactor
Resetby @rgoldberg in #963 - Improve Swift linting, fix violations, and standardize file headers by @rgoldberg in #965
- Improve linting, formatting, script output, and other cleanup by @rgoldberg in #967
- Rename
mas&masTeststargets asMAS&MASTests, respectively by @rgoldberg in #969 - Misc Swift cleanup by @rgoldberg in #971
- Swift cleanup by @rgoldberg in #975
- Support building in Xcode by @rgoldberg in #976
- Upgrade swiftformat to 0.58.2 by @rgoldberg in #978
- Upgrade swift-collections to 1.3.0 by @rgoldberg in #981
- Improve issue templates by @rgoldberg in #982
- Cleanup by @rgoldberg in #984
- Cleanup by @rgoldberg in #986
- Support testing in Xcode by @rgoldberg in #988
- Fix Xcode build & other cleanup by @rgoldberg in #991
- Move files from
Sources/MAStoSources/masby @rgoldberg in #993 - Refactor
SearchResult&SearchResultListto use model-oriented let properties instead of JSON-oriented var properties by @rgoldberg in #998 - Improve Finder integration for
upgradeby @rgoldberg in #1005 - Improve type references & remove unnecessary protocols by @rgoldberg in #1006
- Enable upcoming Swift features by @rgoldberg in #1008
- Improve
Printerby @rgoldberg in #1009 - Parallelize
outdatedby @rgoldberg in #1010 - Improve DocC by @rgoldberg in #1012
- Inline code from formatter enums & remove them by @rgoldberg in #1014
- Update test resource handling by @rgoldberg in #1016
- Upgrade CodeQL to 4 by @rgoldberg in #1019
- Misc cleanup by @rgoldberg in #1025
- Update Swift Argument Parser to 1.6.2 by @rgoldberg in #1028
- Rename
infoaslookupwith aninfoalias to align with Apple terminology / Misc cleanup by @rgoldberg in #1031 - Improve Readme including using accordions by @rgoldberg in #1032
- Remove unnecessary
Hashableconformance fromAppIDby @rgoldberg in #1034 - Combine guards by @rgoldberg in #1036
- Use
letinstead of literal computervarby @rgoldberg in #1038 - Cleanup by @rgoldberg in #1040
- Merge
v1.7.1intomainfor bookkeeping by @rgoldberg in #1045 - Omnibus cleanup by @rgoldberg in #1047
- Improve root permission error message in
uninstallby @rgoldberg in #1049
Full Changelog: v2.3.0...v3.0.0