Skip to content

Releases: mas-cli/mas

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

v2.3.0: ๐Ÿ” Search order & multiple arguments

31 Jul 00:13
v2.3.0
c93a4fc

Choose a tag to compare

What's Changed

๐Ÿš€ Features

  • Accept multiple app ID & search term arguments for all relevant commands by @rgoldberg in #841

๐Ÿ› Bug Fixes

Changes

Full Changelog: v2.2.2...v2.3.0

v2.2.2: ๐Ÿ“‚ Limit app interactions to specific folders

30 Apr 10:02
v2.2.2
7dacbbf

Choose a tag to compare

What's Changed

๐Ÿ› Bug Fixes

  • Only interact with apps under /Applications or MAS-designated large app drive by @rgoldberg in #840

Changes

  • Always install all dependencies in Brewfile as now only support building on macOS 13+ by @rgoldberg in #824
  • Use local time zone for info dates by @rgoldberg in #826
  • Improve MASError.notSupported description by @rgoldberg in #829
  • Improve code spacing by @rgoldberg in #830
  • Indent with tabs instead of with spaces by @rgoldberg in #831
  • Do not delete the cache folder since it hasn't been used since 2021 by @rgoldberg in #834
  • Change package identifier from com.mphys.mas-cli to io.github.mas-cli by @rgoldberg in #835
  • Simplify networking. by @rgoldberg in #837

Full Changelog: v2.2.1...v2.2.2

v2.2.1: โญ๏ธ Non-retroactive

25 Apr 05:26
v2.2.1
92cdd8d

Choose a tag to compare

What's Changed

Changes

Full Changelog: v2.2.0...v2.2.1

v2.2.0: ๐Ÿงน Cleanup

25 Apr 03:43
v2.2.0
daf29e8

Choose a tag to compare

What's Changed

๐Ÿš€ Features

  • Warn about how to index installed apps when no apps found by mas list by @rgoldberg in #814

๐Ÿ› Bug Fixes

Changes

New Contributors

Full Changelog: v2.1.0...v2.2.0

v2.1.0: ๐Ÿ„ Unknown app IDs no longer prevent upgrading other apps

14 Apr 04:08
v2.1.0
a4756e8

Choose a tag to compare

What's Changed

๐Ÿ› Bug Fixes

  • When upgrading apps, don't short circuit when encountering any app ID that is unknown to the MAS by @rgoldberg in #767

Full Changelog: v2.0.0...v2.1.0