Skip to content

Releases: mas-cli/mas

v5.0.2: 🅾️ Ignore trailing 0 version components

29 Dec 07:40
v5.0.2
9ba2cf5

Choose a tag to compare

  • Ignore trailing 0 version components in inaccurate version comparison (thanks, @WarningImHack3r)

What's Changed

🚀 Features

New Contributors

Full Changelog: v5.0.1...v5.0.2

v5.0.1: 🏗️ Fix macOS 14 build

28 Dec 20:51
v5.0.1
6aba7f2

Choose a tag to compare

  • Fix macOS 14 build

What's Changed

Changes

Full Changelog: v5.0.0...v5.0.1

v5.0.0: ✂️ Require macOS 13 to run; remove account, region & signin

28 Dec 18:02
v5.0.0
9bb9304

Choose a tag to compare

  • 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

Full Changelog: v4.1.2...v5.0.0

v4.1.2: ⬆️ More install/update & other fixes

27 Dec 07:43
v4.1.2
9518476

Choose a tag to compare

  • Many install/update/outdated improvements
  • Many build improvements
  • Minor cleanup

What's Changed

🚀 Features

🐛 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 & update by @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

Full Changelog: v4.1.1...v4.1.2

v4.1.1: ⬆️ Install/update & other fixes

18 Dec 12:01
v4.1.1
dac9fc2

Choose a tag to compare

  • 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 config output by @rgoldberg in #1119

🐛 Bug Fixes

Changes

Full Changelog: v4.1.0...v4.1.1

v4.1.0: 🔐 Root privilege usage overhaul

08 Dec 12:46
v4.1.0
4fa8f4c

Choose a tag to compare

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

v4.0.0: 🎁 Workaround installd/PackageKit restriction

26 Nov 13:40
v4.0.0
21205c0

Choose a tag to compare

Workaround installd/PackageKit restriction (#1029) via a methodology found by @alienator88.

The workaround requires root privileges for get/purchase, install, lucky & update/upgrade.

Automatically requests root privileges via running sudo in an executable shell wrapper around mas.

Root privileges may also be supplied by running sudo mas … on your command line.

What's Changed

🚀 Features

  • Executable zsh wrapper around executable binary that uses sudo when appropriate by @rgoldberg in #1086

🐛 Bug Fixes

  • Workaround installd/PackageKit access restriction introduced in macOS 26.1, 15.7.2 & 14.8.2 by @rgoldberg in #1041
  • Cleanup workaround for installd/PackageKit access restriction introduced in macOS 26.1, 15.7.2 & 14.8.2 by @rgoldberg in #1075
  • Don't warn if multiple bundles installed by installer by @rgoldberg in #1088

Changes

Full Changelog: v3.1.0...v4.0.0

v3.1.0: 🎯 Configurable outdated app detection accuracy

23 Nov 04:48
v3.1.0
d51db64

Choose a tag to compare

  • outdated & update now default to using the inaccurate but faster pre-3.0.0 outdated app detection logic
  • outdated & update now have --accurate & --accurate-ignore-unknown-apps flags to use the accurate but slower outdated app detection logic first released in 3.0.0
    • The accurate logic can result in dialog boxes being opened for apps whose installers cannot be downloaded, because either:
      • The app was installed for a different Apple Account than the current one
      • The installer is no longer available from the App Store
        • --accurate-ignore-unknown-apps skips all apps that are unknown to the App Store
        • --accurate exists because some apps are unknown to the App Store, but their installers can still be downloaded
  • outdated output is now properly tabulated

What's Changed

🚀 Features

🐛 Bug Fixes

Changes

Full Changelog: v3.0.1...v3.1.0

v3.0.1: 🛬 Do not process TestFlight apps in outdated or update

18 Nov 03:04
v3.0.1
67e5dfd

Choose a tag to compare

What's Changed

🐛 Bug Fixes

Changes

  • Create a hard link instead of a symlink when creating pkg installers by @rgoldberg in #1051
  • Rename searcher & search result types & variables by @rgoldberg in #1055
  • Update git version comment to 2.52.0 by @rgoldberg in #1059

Full Changelog: v3.0.0...v3.0.1

v3.0.0: ⚖️ Fix app version comparison / update detection

16 Nov 18:41
v3.0.0
e8993b7

Choose a tag to compare

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_manual by @rgoldberg in #923
  • Accept Bundle IDs as arguments alongside ADAM IDs (fka app IDs) by @rgoldberg in #953
  • Accept app IDs to filter list & outdated output 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 list error to warning by @rgoldberg in #934
  • No longer include iOS or iPadOS apps in search results by @rgoldberg in #947
  • Refactor outdated & upgrade to 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

Full Changelog: v2.3.0...v3.0.0