No date
No date
- Add missing
--credentials=XYZoption (previously only--credentials XYZworked) (thanks @allanp81). - Remove quotes from the value obtained from any inputted
--parameter="value"option.
10.01.2024
- Include a compatibility check for cached installers, utilising data from the
com_apple_MobileAsset_MacSoftwareUpdate.xmlfile within theShared Support.dmg. This should prevent installers that were not obtained using erase-install from running if they are not compatible with the system. - Add the ability to change the default icon size in dialogs, and to supply an alternative icon for confirmation dialogs (#462, addressed in #463, thanks to @popaprozac).
- Bump swiftDialog version to 2.3.3 except for systems running macOS 11 which still get 2.2.1. Note that the installer package includes version 2.3.3. If running on Big Sur, this will be deleted and an internet connection is required to download version 2.2.1.
- Fix swiftDialog URL, which has moved (#469, thanks to @scottborcherdt).
- Replaced some SF Symbol icons in dialogs for compatibility with macOS 11 (fixes #470, thanks to @BigMacAdmin).
27.09.2023
- Bump mist-cli version to 2.0.
- Bump swiftDialog version to 2.3.2 except for systems running macOS 11 which still get 2.2.1. Note that the installer package includes version 2.3.2. If running on Big Sur, this will be deleted and an internet connection is required to download version 2.2.1.
- Added localisation for Brazilian Portuguese (#432, thanks to @hooleahn).
--ossearches will search for the relevant version name rather than number, to avoid a bug in mist-cli that may result in download an inappropriate installer if the chosen major OS is not available. Note that this bug is fixed in mist-cli 2.0, but I'll leave the workaround in place for the time being.- Use icons in the GitHub repo instead of using the InstallAssistant icon which occasionally doesn't render.
- Stop trying to use
seedutilon 13.4 or newer when using the--ffioption as it doesn't work any more. - Moved up the log rotation so that we get all output of the current run, and made it less verbose.
- Add macOS Sonoma catalog.
- Invalid package is removed when using
--replace-invalidor--updateregardless of whether the--pkgoption is selected or not.
24.08.2023
- Emergency release to fix the listing of 13.6 RC in the regular lists. This is caused due to the mist-cli default catalogs including the seed catalogs. Now the production catalog is specified unless using the
--betaoption.
28.07.2023
- (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.
18.07.2023
- Converted to
zsh(but the filename remains erase-install.sh). - 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 --listsafely 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
mistto 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.shto 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--credentialsoption!).
- If running the script on macOS 11, it now checks ot see if the swiftDialog version is too new (addresses #392).
--updateno longer ignores--sameos(fixes #407).erase-install-launcher.shis also converted to zsh.erase-install-launcher.shshould now respect parameters that have spaces in them, such as commands called by the--postinstall-commandoption.- Fixed version comparisons where there is a point release (fixes #410).
- Pre- and post-install commands are now run in
--test-runmode. - Now exits out when some incompatible arguments are provided at the same time.
07.06.2023
- 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).
27.02.2023
--oscan now be used along with--fetch-full-installer.- Remove audible sound when 1 hour timeout is reached.
- Log output from
mistis now somewhat reduced due to the use of theno-ansimode. - Add
--quietoption to prevent output from mist during download. 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).
- Do not list deferred updates when using along
--listwith--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-validationfunctionality. - Fix issue with using
--versionalong with--fetch-full-installer. - Fix a problem where
mistdid not correctly output (addresses #357).
10.02.2023
- New
--check-fmmoption to prompt the user to disable Find My Mac if it is enabled (in--erasemode only). The default wait limit is 5 minutes before failing. This can be altered using a new--fmm-wait-limitoption.
- Fixed Minimum Drive Space dialog not showing (fixes #353).
- Fixed incorrect full screen "reboot delay" screen (fixes #348). If
--fsmode 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.
28.01.2023
--cache-downloadsoption. In 28.0,mistcached downloads into/private/tmp/com.ninxsoft.mist. This is now optional.- New experimental
--set-securebootleveloption (in--erasemode only) uses the commandbputil -f -u $current_user -p $account_passwordto ensure that the OS is reset to a high secure boot level after reinstallation (thanks to @mvught). - New experimental
--clear-firmwareoption (in--erasemode only) uses the commandnvram -cto ensure that the OS is reset to a high secure boot level after reinstallation (thanks to @mvught). erase-installnow 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).
mistresult is now correctly interpreted when checking for a newer version.- The
--updateoption 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.
24.01.2023
- Calls to
installinstallmacos.pyhave 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
pkgor anapp. Downlaoding of asparseimagehas 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
--silentmode. 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_KEYCHAINmust match the value you give to the--kckey. The password you create must match the value you give to the--kc-passkey.security add-generic-password -s NAME_OF_SERVICE -a NAME_OF_USER -w PASSWORD NAME_OF_KEYCHAIN-NAME_OF_SERVICEmust match the value you provide to the--kc-servicekey.NAME_OF_USERandPASSWORDmust be the valid credentials of an account on the computer with Volume Ownership.
- Some processes appear to still run after the script has finished when using
--test-run. These do not appear to affect future usage, but you may hear a timeout alert after one hour. - It is not currently possible to download an installer app to a location of your choice, such as the working directory. The app is always downloaded to
/Applications.
24.01.2023
- (change to
installinstallmacos.py): version comparisons are now done with the python modulepackaging.version.LegacyVersion, asparse_versionproved unreliable.
14.12.2022
- Better handling of replacing broken sparseimage files. If
--overwrite,--update, or--replace-invalidare used and the version cannot be obtained from the sparseimage, the installer should be downloaded again. This also fixes--overwritewhere an existing sparseimage is present. - Add
--no-timeoutoption which extends the timeout period to 24h.
24.10.2022
- Add catalog for macOS Ventura to
installinstallmacos.py, update checksum inerase-install.sh.
14.10.2022
- Allows for logs to be reported back to Jamf Pro by changing the method
startosinstallis launched. This requiresrebootdelayto be set, which allows uploading the script result to Jamf Pro beforestartosinstallforce-quits our script and reboots the machine (thanks to @cvgs). - Adds launcher script
erase-install-launcher.shwhich 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 forerase-installbecause you can add multiple arguments in one Jamf Parameter field) (thanks to @cvgs). - Adds some fallbacks for the
--fetch-full-installeroption. - 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 (
dfwas returning disk size in kb and not gb) (#274 - thanks to @sphen13). --updateoption now uses new logic ininstallinstallmacos.pyto restrict searches to a certain OS or version (addresses #287).- Improved function descriptions in the script.
- Changed the
Makefileto download the correct version ofinstallinstallmacos.pyduring 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-curloption has been added). - Add titles to username and password dialog boxes (#289, thanks to @cvgs)
- Now correctly deletes a sparseimage from the cache when
--moveis used and the sparseimage is downloaded (#297, thanks to @andyincali) - Now correctly fails if an invalid installer is found and
--replace-invalid,--update,--overwriteor--skip-validationare not set (addresses #298).
23.07.2022
- Allows
rebootdelayfor 10.15 (thanks to @cvgs). - New
--newvolumenamekey which will set the volume name after aneraseinstallworkflow (thanks to @bmacphail). - Now correctly validates whether a selected build value matches the cached installer.
27.06.22
- Universal python build packages.
- Use
pkg_resourcesinstead ofdistutilswhere available (allows for removal ifdistutilsin python 3.12 - addresses grahampugh/macadmin-scripts/issues/47). - Improves the
--fetch-full-installeroption by looking for the latest version if not specified, and checking that a pre-chosen version is in the list.--listin conjunction with--ffialso now uses--list-full-installersinstead of reverting toinstallinstallmacos.py. - Allows the usage of spaces in
--workdirand--path(thanks to @cvgs). - Added
--max-password-attempts=NNoption, which can also be set toinfiniteto prevent canceling the password dialog (addresses #216, thanks to @cvgs). - Changes dialogs so that the Cancel button is on the left, and default button is on the right (thanks to @cvgs).
- Script now uses
sysctlto check for Apple Silicon (addresses #225, thanks to @cvgs). - Some minor changes to the German translation (thanks to @cvgs).
- Adds an additional check for
--min-drive-spaceright before start of the installation (should address #242, thanks to @cvgs). - Adds
-nobrowseto all instances ofhdiutilto prevent mounted images appearing on the desktop (thanks to @cvgs).
No date
- Adds
--catalogto allow an easier way to select which software update catalog to use, rather than the defaults set ininstallinstallmacos.py. Example:--catalog 10.15will use the catalog for Darwin version 19,--catalog 11will use Darwin version 20. This is to address omissions in the catalogs for older OSes (somewhat addresses #169, #160). - Allow for more lenient checks for Volume Ownership against the entered username (#177, thanks to @cvgs)
- Adds
--rebootdelayoption (Big Sur or later) (#193). - DEPNotify counts down the rebootdelay time.
- Adds
--fsoption which makes all the DEPNotify windows full screen (download, confirm, preparation). - User can dismiss the DEPNotify download and preparation windows if
--rebootdelayis set to at least 10 seconds. - Multiple
--preinstall-commandarguments can now be supplied. These run immediately beforestartosinstallis run. - Multiple
--postinstall-commandarguments can now be supplied. These run afterstartosinstallhas finished. - Checksums of
installinstallmacos.pyare now pinned to a tag of themacadmins-scriptsrepo so that updates to the script don't break a particular version oferase-install.shfrom working. - Add a message about process Terminations, which some people were mistakenly believing to be errors.
- Fixed the actual killing of jamfHelper and caffeinate.
osascriptdialog windows now run as the user (addresses #198, thanks to @anewhouse).- Fixed an issue concerning the catalog for macOS High Sierra 10.13 which has an item without a version string listed, which was causing installinstallmacos.py to error out (addresses #169).
23.11.2021
- Determines free space better by checking free and purgeable space (partial fix for #152; thanks to Pico in MacAdmins Slack).
- Uses exit traps to clean up after all abnormal exits (fixes #140, #141; thanks to @ryangball).
- Adds
-nobrowsetohdiutilto prevent mounted images appearing on the desktop (thanks to @ryangball). - Allows 5 password attempts (fixes #159).
- Adds dialog to show how much time is left in the power check (#144; thanks to @dan-snelson).
- Some dialog changes, to replace the word "reinstall", which some people have found confusing, with "install" (addresses #149).
- Changed log location to the
$workdirso that it persists after an upgrade, and also so it is wiped if using the--cleanup-after-useoption (fixes #161). - Remove check for membership of
staffgroup for Apple Silicon Macs, since Volume Ownership is already checked it's not necessary, and was preventing non-admin AD users from proceeding (fixes #166). - Re-order some initial statements to ensure that the chosen $workdir has been created before DEPNotify is downloaded and the log file is determined (fixes #165).
- Some minot changes to the Dutch translation (addresses #164, thanks @Alitekawi).
27.10.2021
- Script now exits if an incorrect password is entered (partially fixes #136).
- Makefile uses
curlto obtain DEPNotify.app without adding a quarantine bit (fixes #138). - Fixes for certain workflows involving the
--fetch-full-installer(#140) and--pkg(#141) options. - Fixed
--useroption, which was not reading in the given user (#142, thanks @chymb).
25.10.2021
- Removed the "0." from the version, as it's arbitrary and meaningless.
--seedis now analogous to--seedprogram.- New
--cleanup-after-useoption to delete the entire working directory after use (#131). --movewill now move the installer even when using--eraseor--reinstall.--updateoption now honours--betaand--seedoptions.- The
--depnotifyoption will download DEPNotify.app if it's not already installed. - Fixed a problem with the
osascriptdialog when downloading an installer. - Makefile now includes
depnotifyandnopythonmethods.depnotifybundles DEPNotify.app into the package, and expectsDEPNotify.zipin the root of the cloned repo - must be copied there.nopythonomits the relocatable-python framework (and also omits DEPNotify.app). - Updated SHA key of
installinstallmacos.pyto reflect merged in upstream changes (updated software catalog URL for macOS 12).
21.10.2021
- The package now includes a relocatable python installation (version 3.9.5) for use with
installinstallmacos.py. This replaces the reliance on the macOS python2.7 distribution. - For standalone script runs, erase-install.sh will now check for an existing relocatable python or MacAdmins Python installation. If neither exists, and
--no-curlis not set, the script will download and install the minimum MacAdmins Python signed package, for use withinstallinstallmacos.py. If--no-curlis set, the script will fall back to python 2. - If
installinstallmacos.pyis downloaded using curl, it is now checked against a defined SHA256 checksum. Note: this is calculated using the command:shasum -a 256 installinstallmacos.py | cut -d' ' -f1. - Add download progress information to the DEPNotify bar (#127, thanks @andredb90, addresses #116).
- Rationalised version comparisons in the code from 3 to 1.
01.10.2021
- Add preparation progress information to the DEPNotify bar (#122, thanks @andredb90).
- SIP check only checks for partial SIP enablement (#110, thanks @anverhousseini).
- New
--preinstall-commandoption to run a command prior to the beginning of thestartosinstallrun (thanks Fredrik Virding for the idea). - Fix build version comparisons (this affected macOS 11.6) (#124, thanks @boberito)
- Allow use of
--confirmoption for reinstallation (#123) - Improve version comparisons in
check_newer_availablefunction (should improve--updatereliability) - Fix erase or reinstall from a InstallAssistant package if it has not already been extracted with the
--moveoption (#111).
20.07.2021
- Add French translation (thanks @Darkomen78).
- Fix version for which
--allowremovalis set when doing a reinstall (thanks @anverhousseini). - Kill DEPNotify in places where jamfHelper is killed (#106, thanks @julienvs).
- Added '$script_name' variable - if you want to change the script name, the echo statements will reflect this value rather than 'erase-install'.
- Added
--clear-cache-onlyoption, which works in conjunction with--overwriteor--updateto perform the removal of cached installers but then quit rather than carry on with any further workflow (#105). - Added a more verbose message that
--test-runhas been implemented (#93).
12.05.2021
- The Cancel button is now default in the Confirm dialog when not using jamfHelper or DEPNotify. Note that DEPNotify only offers one button so we cannot provide a straightforward Cancel button.
- The contents of the
README.mdhave been replaced with a wiki.
07.05.2021
--depnotifyoption. Uses DEPNotify instead of jamfHelper, if it is installed.--no-jamfhelperoption. Ignores the jamfHelper installation. Useful for testing theosascriptdialogs.
26.04.2021
- Another fix to the check that
--fetch-full-installercan be used. - Edited Dutch localizations (thanks to Thijs Vught)
17.04.2021
- Fix for check that
--fetch-full-installercan be used. - Dutch localizations (thanks to Thijs Vught)
07.04.2021
- Output from erase-install.sh is now written to
/var/log/erase-install.shin addition tostdout. - Checks that the supplied user is an admin when performing
--eraseinstallon M1, which appears to be a requirement (not forstartosinstallwithout--eraseinstall). If it is not, it promotes the user to admin. - Checks that the supplied user is a Volume Owner on M1 (rather than merely having a Secure Token)
- Runs
diskutil apfs updatePreboot /prior tostartosinstallto (experimentally) address a problem seen by some user accounts that were promoted usingPrivileges.app. - Adds localization for osascript dialogs
10.03.2021
- Add
--check-poweroption. Set this to check for AC power. Also--power-wait-limitsets a time limit to wait for power (default is 60 seconds). - Merge in upstream changes to
installinstallmacos.py. This improves download resumption.
03.03.2021
- Default minimum drive space now set to 45GB, but can now be overridden with the
--min-drive-space NNoption. - Fixed the
--confirmoption. - Improved the
--helpoutput with more recent keys.
20.01.2021
- For Catalina and earlier, do OS validation only as far as the minor release. This allows for the mismatch between advertised build and
DTSDKBuild(fixes Issue #53). - Fix for when
VolumeNameis notMacintosh HDor any two-word name (fixes Issue #58). - Added exit 1 code if script exists due to not successfully downloading an installer (fixes Issue #52).
- Increase munimum disk space required to 30GB, which aligns better Apple's recommendation for macOS Big Sur (see HT211238).
06.01.2021
- Testing moving
caffeinateto the end of the script but using a second--pidtosignalargument instartosinstallto kill caffeinate. It is not documented that--pidtosignalcan be called multiple times, so this is experimental, but seems necessary on Big Sur as the "preparing upgrade" step is much longer than with previous OSs.
05.01.2021
- Added
--test-runoption which runs everything except thestartosinstallcommand. Useful for testing new workflows. - Moved the prompt for user details for Apple Silicon Macs up the script so users don't get prompted later.
- No longer checks to see if the user is an administrator as this is apparently not a criterion - only Secure Token matters.
- Bug fix: remove alignment flags in the jamfHelper commands to solve a product issue with jamfHelper on Apple Silicon Macs.
15.12.2020
- New
--current-useroption to use the current logged in user forstartosinstallauthorisation on M1/DTK Macs. - New
--useroption to specify a user forstartosinstallauthorisation on M1/DTK Macs. - Now checks whether the specified user is an administrator.
- Now checks whether the specified user has a Secure Token.
- Now checks if the given password is correct.
- New
--no-fsoption for replacing the full-screen display with a utility window (for testing purposes). - Now quits
caffeinatebefore beginningstartosinstall. - Now correctly identifies Apple Silicon Mac Device IDs for compatibility checks.
- Now gets the installer version from
/Volumes/Shared Support/com_apple_MobileAsset_MacSoftwareUpdate/com_apple_MobileAsset_MacSoftwareUpdate.xmlas this is a more reliable build number than the one inInfo.plist. - Now makes more reliable version comparisons using
BuildVersionby splitting the check into more sections (AABCCDDEinstead ofAABCCCCD). - Script version number is now displayed when running the script. I just have to remember to update it...
- added
--list-full-installersoption which runssoftwareupdate --list-full-installersaccording to the seedprogram selected. test-erase-install.shscript is now included in the installer package.
10.12.2020
- Bug fix:
--autowas being incorrectly assigned when using--os,--buildetc.
10.12.2020
- Added the
--pkgoption allowing the download of anInstallAssistantpackage, utilising an update alresdy made to theinstallinstallmacos.pyfork. For Big Sur or greater only. This will probably need some more error checking. - Added the
--keep-pkgoption which prevents the deletion of the package if the--moveoption is used to extract the package to/Applications. By default, the package will be deleted on successful extraction. - Added the
--force-curland--no-curloptions, allowing the control of whether to downloadinstallinstallmacos.py. This is in anticipation of a Makefile and package release oferase-install.sh. - Added
Makefile. This allows you to build a self-contained package containingerase-install.shandinstallinstallmacos.pyso that curl is not used during the run oferase-install.shto updateinstallinstallmacos.py. This requiresmunkipkgand expects to find thegrahampughfork ofinstallinstallmacos.pyin../macadmins-scripts. Make sure you don't bundle in Greg Neagle's version ofinstallinstallmacos.pyinadvertently (or this script will fail). A package will be provided on GitHub for this and subsequent versions. Note thaterase-install.shis installed into/Library/Management/erase-install. I deliberately have not puterase-install.shinto the PATH. - Added the
--userand--stdinpassarguments when running on a Silicon Mac. Silicon Macs require an admin user and password to runstartosinstall. - Now treats
10.xor11+ as major versions for OS comparisons. - Fix in
installinstallmacos.pyforoscomparisons failing where no Version is provided from the catalog.
20.11.2020
- Fixed comparison of build numbers when checking the installed build is newer than the build in the downloaded installer.
07.10.2020
- Version comparisons are now done based on
BuildVersioninstead ofProductVersionso as not to rely on Major/Minor/Point comparisons (thanks to Greg Neagle's MacSysAdmin 2020 presentation about Big Sur for tips on this). - code clean up using ShellCheck.
31.07.2020
- Added
--pythonpathoption so that you can select a different python with which to runinstallinstallmacos.py. Default is$(which python). installinstallmacos.pynow has a--warningsoption about whether to show the Notes/Warnings in the list output or not. This has been hard-coded intoerase-install.shto maintain current behaviour.
22.07.2020
- Fixed another small piece of failed logic around the check for whether there is already an installer which was finding other apps with
macOSin the name. Now, only apps withInstall macOS*.appwill be found.
14.07.2020
- Fixed some failed logic around the check for whether there is already an installer in the
/Applicationsfolder which was erroneously also looking in other locations.
23.06.2020
- Parameters can now be supplied as
--argument valueas an alternative to--argument=valueto provide more consistency with the included tools (installinstallmacos.pyandsoftwareupdate).
09.06.2020
- Adds
--allowremovaloption to thestartosinstallcommand by default. This is an undocumented flag which is required under certain circumstances where there are backup files on the system disk.
06.05.2020
- Adds
--replace_invalidoption for the option to overwrite a cached installer if it is not valid for use with--eraseor--reinstall. - Adds
--updateoption for the option to overwrite a cached installer if a newer installer is available.
04.05.2020
- Adds
--preservecontaineroption for workflows that need to retain a container when performingeraseinstall. - Adds additional flags to
caffeinateto attempt to more robustly prevent device sleeping. - Fix for missing heading in the full screen display of the
--reinstalloption. - Added a test script
tests/test-erase-install.shfor testing out functionality.
14.04.2020
- Use
--forcequitappswhen using the macOS Catalina installer, rather than just when running on a macOS Catalina client (issue #25).
13.02.2020
- Removed downloaded OS validity check for modes where the installer is not required for reinstall or eraseinstall, to prevent unnecessary exit failures.
- Fixed a problem preveting
--movefrom working when overwriting a valid installer. - Other small bugfixes.
03.02.2020
- Restricted the add forcequitapps install_args option to macOS 10.15 or greater, as this is not functional with older versions (#35). Thanks to '@ahousseini' for the contribution.
22.01.2020
- Added the
--sameosoption, so you can have a single command which will always try to reinstall whatever macOS (major) version is currently installed on the host.
11.12.2019
- Removed check that a user is logged in before proceeding with startosinstall - apparently not necessary after all, and caused at least one user's workflow to break (#33).
27.11.2019
- Add a check that there is enough disk space before proceeding
- Added --forcequitapps argument for 10.15 and above
- Check that a user is logged in before proceeding with startosinstall
- Improved find commands when checking that there is a mounted installer
- Improved German descriptions for reinstallation
- Improved checks for successful downloads from the --fetch_full_installer option
Thanks to '@ahousseini' for various contributions to this release
15.11.2019
- Move a comment that states that --fetch-full-installer is available to the correct place (#31)
07.10.2019
- Added support for
softwareupdate --fetch-full-installerandseedutilfor clients running macOS 10.15 or greater.
27.09.2019
- Fixed caffeinate (forgot to make it a background process)
- Added 'Confirm' option for erasing. Thanks to '@ryan-alectrona' for the contribution.
26.09.2019
- Added caffeinate to the script to prevent the computer going to sleep during long download phases etc.
12.07.2019
- Added
--betaoption. - Changed behaviour of
--os,--versionand auto (i.e. no flag) options to get the latest rather than earliest valid build. - Removed
install-macos.shscript. Useerase-install.shwith--reinstalloption instead.
19.06.2019
- Added
--reinstalloption, which obsoletes theinstall-macos.shscript.
16.04.2019
- Bug fix for empty extra packages folder.
Thanks to '@Avartharian' for contributions - Added
--catalogurland--seedprogramoptions
02.04.2019
- Added localisation of Jamf Helper messages.
Thanks to '@ahousseini' for contributions - Added
--os,--path,--extras,--listoptions.
Thanks to '@mark lamont' for contributions
13.12.2018
- Bug fix for
--buildoption, and for exiting gracefully when nothing is downloaded.
21.09.2018
- Added ability to specify a macOS version.
- Fixed the
--overwriteflag. - Added ability to specify a build in the parameters, and we now clear out the cached content.
03.09.2018
- Additional and amended options for selecting non-standard builds.
09.07.2018
- Automatically selects a non-beta installer.
29.03.2018
- Initial version. Expects a manual choice of installer from
installinstallmacos.py.