The self-updater is now a requirement for the main app to be able to be
built. You no longer need the existing binary. This makes it easier for
anyone to just try out the app locally and makes reproducible builds
also possible.
(This is done because the self-updater code will soon be moved to a
separate package, and I want to make this entire updater process
as simple as possible.)
In order to avoid the self-updater app from appearing as a product when
archiving a build, SKIP_INSTALL is set to true. This avoids a variety
of annoying issues including the archive appearing under "Other Items".
- Chinese translations contributed by @guanguans (via #285).
- Updated the credits so that all translators are now also listed
separately, since the GitHub issue has been closed.
- If your Valet installation supports using site isolation, that will
be displayed as the suggestion. If not, the traditional "Switch to
PHP" options will be available.
- Overflowing buttons have been fixed. Three columns are now used with
a LazyVGrid, to prevent text from being unreadable.
- Make spinner view opaque to hide incorrect info
when refreshing PHP installations
- Resolve each PHP installation to a Homebrew version
- Fix an issue where certain PHP upgrades don't show up
In this build, resolving PHP upgrades happens based on the formula name.
This avoids issues where available PHP version upgrades would *not* be
detected correctly (based on the installed version).
This commit introduces a new diagnostics feature which is executed
when the app boots. When the app boots, the integrity of the PHP
symlinks are checked to ensure that all symlinks correctly link to
a valid PHP version. If any links to an incorrect PHP version,
then those outdated or incorrect symlinks will be removed.
For example, if `php@8.2` links to `../Cellar/php/8.3.0` then that is
an obvious reason for that symlink to be purged because it links to
the incorrect version. (This example behaviour has been noted in #270.)
This occurs prior to the rest of the startup process, so this way
no incorrect PHP versions can pop up in the version switcher, and
no incorrect PHP version is reported as being installed when
managing installed PHP versions.