Skip to content

Releases: grahampugh/erase-install

29.2

07 Jun 20:52
Compare
Choose a tag to compare
  • 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

01 Mar 19:32
Compare
Choose a tag to compare
  • --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 the no-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

10 Feb 23:16
Compare
Choose a tag to compare
  • 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

28 Jan 12:06
Compare
Choose a tag to compare
  • --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 command bputil -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 command nvram -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

24 Jan 21:35
Compare
Choose a tag to compare
  • Calls to installinstallmacos.py have been replaced with calls to mist. 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 an app. Downlaoding of a sparseimage 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 and PASSWORD must be the valid credentials of an account on the computer with Volume Ownership.

27.3

24 Jan 20:44
Compare
Choose a tag to compare
  • (change to installinstallmacos.py): version comparisons are now done with the python module packaging.version.LegacyVersion, as parse_version proved unreliable.

27.2

20 Dec 13:44
Compare
Choose a tag to compare
  • 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

24 Oct 23:12
Compare
Choose a tag to compare
  • Add catalog for macOS Ventura to installinstallmacos.py, update checksum in erase-install.sh.

v27.0

14 Oct 17:34
Compare
Choose a tag to compare
  • Allows for logs to be reported back to Jamf Pro by changing the method startosinstall is launched. This requires rebootdelay to be set, which allows uploading the script result to Jamf Pro before startosinstall force-quits our script and reboots the machine (thanks to @cvgs).
  • Adds launcher script erase-install-launcher.sh which can be used to start the pkg-delivered version of erase-install from the Scripts section of Jamf Pro (it also supports more than 8 arguments for erase-install because you can add multiple arguments in one Jamf Parameter field) (thanks to @cvgs).
  • Adds some fallbacks for the --fetch-full-installer option.
  • If no build ID is found in the existing installer, we set it as invalid instead of exiting the script (addresses #271, thanks to @sphen13).
  • Fix the fallback free disk space calculation (df was returning disk size in kb and not gb) (#274 - thanks to @sphen13).
  • --update option now uses new logic in installinstallmacos.py to restrict searches to a certain OS or version (addresses #287).
  • Improved function descriptions in the script.
  • Changed the Makefile to download the correct version of installinstallmacos.py during the make process.
  • Improved checksum checks for installinstallmacos.py - if an incorrect checksum is found, the correct version is downloaded rather than the script failing (unless --no-curl option has been added).
  • Add titles to username and password dialog boxes (#289, thanks to @cvgs)
  • Now correctly deletes a sparseimage from the cache when --move is used and the sparseimage is downloaded (#297, thanks to @andyincali)
  • Now correctly fails if an invalid installer is found and --replace-invalid, --update, --overwrite or --skip-validation are not set (addresses #298).

26.2

21 Jul 20:50
Compare
Choose a tag to compare
  • Allows rebootdelay for 10.15 (thanks to @cvgs).
  • New --newvolumename key which will set the volume name after an eraseinstall workflow (thanks to @bmacphail).
  • Now correctly validates whether a selected build value matches the cached installer.