MSL Wiki
MSL on GitHub

How updating works

Where MSL looks for a new version, how often, and what it will and will not do on its own.

Chapter 16 of 201 min read
On this page 4 sections

MSL checks whether there is a newer version and tells you about it. Nothing is downloaded or replaced without you choosing it.

What happens#

  1. MSL reads the list of releases from its repository.
  2. It works out which of them are newer than the copy you are running.
  3. The newest one becomes the offer.
  4. Whether you are told depends on which number changed — see Version numbers.
  5. Choosing Download and Update fetches the installer, checks it is really that version, and then asks a second time before anything on this Mac is replaced.

Doing it yourself#

Check for Updates… in the MSL menu asks right now, and answers in full: it ignores the once-a-day limit, a version you skipped, and the silence switch. Asking is asking.

From a terminal:

msl update              say what there is
msl update --download   fetch and verify it into Downloads

How often it looks#

Once a day at most. If the check fails — no network, GitHub unreachable — MSL waits an hour, then two, then four, up to a day, rather than asking again on every launch.

A failed check is never reported as a problem. Not being able to reach the internet is not an MSL error.

Every release is read, not just the newest#

The release list is ordered by date published, which is not the same as version order: a small fix to an older version can be published after a big new one, and would appear first. MSL reads them all and compares versions properly, so a 1.0.9 patch published last week never looks newer than 2.0.0.

Tags with anything after a hyphen — v3.0.0-rc1, v3.0.0-beta2 — are pre-releases. MSL recognises them and never offers them.