mas: mas outdated not working

I just installed mas on my macOS Catalina installation. I have signed into the app store from the Mac App Store. When I run mas list, I can see all the installed apps. There is an update available for Xcode which I want to try installing using mas. However, when I run mas outdated, it doesn’t show the available update. I ran mas reset and then ran mas outdated again but that didn’t work as well.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 12
  • Comments: 53 (18 by maintainers)

Commits related to this issue

Most upvoted comments

I’m experiencing the same situation.

  • mas outdated has no output even though I have apps that need to be updated
  • Similarly, mas upgrade returns Everything is up-to-date, which is not true
  • Trying to update individual apps by running mas upgrade XXXXXXXX where XXXXXXXX is the relevant ID returns Warning: Nothing found to upgrade

Should be fixed now in 1.8.1. @misc-activities can you confirm?

I have a similar issue to one posted by @Luminus

❯ mas outdated 
1529448980 Reeder (5.0.1 -> 5.0.6)
❯ mas info 1529448980
Reeder 5. 5.0.6 [9.99]
By: Silvio Rizzi
Released: 2021-03-17
Minimum OS: 10.15
Size: 10,1 MB
From: https://apps.apple.com/us/app/reeder-5/id1529448980?mt=12&uo=4

Even though I’m running the updated version, was outdated still states the old version 🙁

I have a basic version of mas outdated working in Xcode debug. It isn’t working yet on the command line (I assume because of dylib selection issues), but I’ll deal with this later (I haven’t previously had to deal with dylib issues since I normally develop for the jvm, and I haven’t ever used Xcode before).

A few questions:

Can I consider an app outdated if the version strings for the locally-installed version & the store version are different? Or must I implement a version ordering scheme to ensure that the store version is newer, not just different?

If no store app is found for the identifier for a local app, should I output an error to stderr? Should I silently ignore? Should I do something else? Should I output red (or another color) text for errors, or just output plain text? Should errors be output as they occur, or should they be saved to all be output after non-error output?

There might be some rough edges. I’m only building for x86_64 (instead of for both x86_64 & arm64) on my Intel Mac due to some error(s). I don’t know if existing mas won’t build for arm64, or if something is wrong with my Xcode setup. etc.

The sooner I have answers to the above, the sooner I’ll be able to submit a PR (which will probably have to be revised, due to my inexperience with all the associated tech).

Apple has changed the way the AppStore works this may mean mas might not ever fully work with it.