Releases: grahampugh/erase-install
Releases · grahampugh/erase-install
30.1
- (Hopefully temporary) fix for a bug in mist-cli where it isn't setting the permissions of the Install application properly.
- Remove ANSI formatting from mist-cli output when listing installers.
- Output stderr from swiftDialog to dev/null to avoid occasional Xfont error warnings in logs
- Minor fixes.
30.0
- Converted to
zsh
. - Bumped the compatible version of mist-cli to v1.14.
- Bumped the compatible version of swiftDialog to 2.2.1.4591.
- Can now run
erase-install.sh --list
safely as the current user (without sudo); logs and files are written to a temporary location. - A notification is shown if running an older version of erase-install than the latest available (on macOS 13 or newer).
- Allows
mist
to use a caching server (addresses #406). Add the following option:--caching-server https://YOUR_URL_HERE
- It is now possible to supply credentials in base64 format to avoid the prompt for credentials on Apple Silicon computers.
- NOTE THIS IS VERY INSECURE! ONLY USE IN A SAFE ENVIRONMENT!!!
- Use the supplied script
set-credentials.sh
to generate the base64-encoded credentials. - Alternatively use the following shell command:
printf "%s:%s" "<USERNAME>" "<PASSWORD>" | iconv -t ISO-8859-1 | base64 -i -
- Add the following option:
--credentials ENCODEDCREDENTIALS
- Also add this option:
--very-insecure-mode
(this is required in addition to the--credentials
option!).
- If running the script on macOS 11, it now checks ot see if the swiftDialog version is too new (addresses #392).
--update
no longer ignores--sameos
(fixes #407).erase-install-launcher.sh
is also converted to zsh.erase-install-launcher.sh
should now respect parameters that have spaces in them, such as commands called by the--postinstall-command
option.- Fixed version comparisons where there is a point release (fixes #410).
- Pre- and post-install commands are now run in
--test-run
mode. - Now exits out when some incompatible arguments are provided at the same time.
29.2
- Fix downloads from mist only selecting compatible builds.
- Version bump to use mist-cli v1.12, which includes a less verbose output for the download logs (one register per percentage download instead of one register per second).
29.1
--os
can now be used along with--fetch-full-installer
.- Remove audible sound when 1 hour timeout is reached.
- Log output from
mist
is now somewhat reduced due to the use of theno-ansi
mode. - Add
--quiet
option to prevent large output from mist. Note that with this mode enabled, there is no download progress bar, since the output is required to read the download progress. - Log files are now rotated up to 9 times (#369, thanks to @aschwanb).
Bugfixes
- Do not list deferred updates when using along
--list
with--fetch-full-installer
(addresses #347). - Fix issue with swiftDialog windows not showing up. This was due to a change in behaviour in swiftDialog version 2.1 enforcing running the app as the local user rather than root, which meant that the log file could not be overwritten. The log file is now deleted after use and each run creates a random logfile path (addresses #352, #366 and #368).
- Reintroduce
--skip-validation
functionality. - Fix issue with using
--version
along with--fetch-full-installer
. - Fix a problem where
mist
did not correctly output (addresses #357).
29.0
- New
--check-fmm
option to prompt the user to disable Find My Mac if it is enabled (in--erase
mode only). The default wait limit is 5 minutes before failing. This can be altered using a new--fmm-wait-limit
option.
Bugfixes
- Fixed Minimum Drive Space dialog not showing (fixes #353).
- Fixed incorrect full screen "reboot delay" screen (fixes #348). If
--fs
mode is used, the fullscreen preparation window now remains until the end of the reboot delay period. - Fixed some incorrect/inconsistent window and icon sizes.
- Fixed some missing window titles.
- Fixed missing icon on macOS<13 (fixes #351).
28.1
--cache-downloads
option. In 28.0,mist
cached downloads into/private/tmp/com.ninxsoft.mist
. This is now optional.- New experimental
--set-securebootlevel
option (in--erase
mode only) uses the commandbputil -f -u $current_user -p $account_password
to ensure that the OS is reset to a high secure boot level after reinstallation (thanks to @mvught). - New experimental
--clear-firmware
option (in--erase
mode only) uses the commandnvram -c
to ensure that the OS is reset to a high secure boot level after reinstallation (thanks to @mvught). erase-install
now reports a non-zero exit code (143 to be exact) when it is being abnormally terminated (e.g. by pressing CTRL+C or getting terminated by SIGTERM). Previously it would return the exit code of the last command being executed at time of termination, which could be non-zero or zero depending on the specific circumstances, which then could have been reported as successful execution in a Jamf policy. This change will make it easier to discover such errors. The exit code of the last executed command will be logged in addition to returning 143 to facilitate debugging (#318, thanks @cvgs).
Bugfixes:
mist
result is now correctly interpreted when checking for a newer version.- The
--update
option now triggers an invalid installer to be overwritten. - Progress is now once again shown during the preparation phase, and the progress bar properly shows incremental progress.
28.0
- Calls to
installinstallmacos.py
have been replaced with calls tomist
. Minimum OS requirement for this is macOS 10.15. - Dialogues are now all presented using swiftDialog. Minimum OS requirement for this is macOS 11.
- The minimum compatible OS for swiftDialog is macOS Big Sur 11. If you need to upgrade a Mac on an older version of macOS, use Version 27.x of erase-install.
- Downloads are now only available as a
pkg
or anapp
. Downlaoding of asparseimage
has been discontinued, though the script will continue to search for them to allow for upgrade from earlier versions of erase-install without having to re-download the installer. - The log has moved to
/Library/Management/erase-install/log/erase-install.log
- New
--silent
mode. The script can now be run without any dialogues. On Apple Silicon, this requires the use of the keychain method to provide credentials. Minimum OS requirement for this is macOS 10.15. - Add Spanish dialogs.
- For testing purposes, a username and password may be placed in a custom keychain. Username is optional as the current user can be used. To create the keychain and add the keys, run the following commands:
security create-keychain -P NAME_OF_KEYCHAIN
- this will prompt you to create a password for the keychain. The keychain will be stored in~/Library/Keychains
.NAME_OF_KEYCHAIN
must match the value you give to the--kc
key. The password you create must match the value you give to the--kc-pass
key.security add-generic-password -s NAME_OF_SERVICE -a NAME_OF_USER -w PASSWORD NAME_OF_KEYCHAIN
-NAME_OF_SERVICE
must match the value you provide to the--kc-service
key.NAME_OF_USER
andPASSWORD
must be the valid credentials of an account on the computer with Volume Ownership.
27.3
- (change to
installinstallmacos.py
): version comparisons are now done with the python modulepackaging.version.LegacyVersion
, asparse_version
proved unreliable.
27.2
- Better handling of replacing broken sparseimage files. If
--update
, or--replace-invalid
are used and the version cannot be obtained from the sparseimage, the installer should be downloaded again. This also fixes--overwrite
which was not working where an existing sparseimage was present. - Add
--no-timeout
option which extends the timeout period to 24h.
27.1
- Add catalog for macOS Ventura to
installinstallmacos.py
, update checksum inerase-install.sh
.