acme.sh updated to VER=3.0.5 and all my reissue started failing on all my servers, I noticed that they were trying to use zerossl even though these domains have been running file for 2 years.
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
Did not work.
No I configured the servers 2 years ago to automatically update acme.sh, so the software cron did it by itself. Maybe if I explicitly ran ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt on the servers before the update it might of not happened I do not know.
If I read the acme.sh code correctly, if --auto-upgrade is enabled, which is the default when using --upgrade (even if used just once it seems...) and a --branch is NOT set, acme.sh defaults to the git repository master branch. Which might contain unstable new code or regressions to the code.
The acme.sh repository does use a separate repository for running unit tests, but I'm not totally convinced it's got everything covered.
You will no doubt have considered this already but for anyone else it's obviously a security risk to auto run software directly from a github repo, especially if the cron job is set to run as a privileged user. This represents a "supply chain" attack that could wipe out your system [or even worse, just infiltrate your network undetected]. Credential/token leaks do occasionally happen and if it happens to the wrong repo (there are other acme shell script clients which recommend updating via cron as well) then utter catastrophe is possible. Auto updates should at least have a signature or release version hash to confirm they are intentional and approved releases.