Releases: SecondSonConsulting/Baseline
Baseline_v1.2beta1
- Added the ability to use a custom plist configuration file instead of a mobileconfig profile
- Baseline will now look for a file at
/usr/local/Baseline/BaselineConfig.plist
- If this file exists, it will be used to determine what items are processed
- This file is checked both before and after
InitialScripts
and takes precedence over an MDM delivered configuration profile - This means Baseline can now be run completely independent of an MDM profile, if the custom configuration plist is delivered (either with a custom built Baseline pkg or other means.)
- Baseline will now look for a file at
- Added
CleanupAfterUse
boolean profile key- If
CleanupAfterUse
key is configured asfalse
, then Baseline will not delete it's working directory/usr/local/Baseline
. - The LaunchDaemon will still always be deleted, in order to prevent multiple runs.
- This key defaults to
true
and can be omitted if you wish to keep the previous behavior to delete the Baseline folder.
- If
- Reordered
Restart
code to provide for the new features - Added logic to turn off verbose mode while waiting for user to log in. This should cut down on log spam significantly when Baseline is initiated while no user is present.
- The pkg preinstall script now properly boots out the LaunchDaemon if its already running. The pkg can now be run multiple times without a reboot.
- The pkg postinstall script now uses launchctl bootstrap instead of load.
Baseline_v1.1
Baseline 1.1 Release Notes
Three new keys added to allow admins to customize each of the three Dialog windows that are a part of Baseline.
- DialogListOptions
- The "DialogList" is the primary Dialog that shows items to be processed and status.
- DialogSuccessOptions
- The "DialogSuccess" window is the Dialogthat displays once Baseline completes with no failed items.
- DialogFailureOptions
- The "DialogFailure" window is the Dialog that displays once Baseline completes but there was one or more failed items.
- You can pass any supported SwiftDialog options for these keys. You can customize one or all of the default options, simply by including your chosen customization in the string.
- In the following example, we will change the Title and add an Overlay Icon for the List Dialog window, but leave the other options (like
--message
and--icon
) at the Baseline default values. We will also use a custom icon for the Failure window:
- In the following example, we will change the Title and add an Overlay Icon for the List Dialog window, but leave the other options (like
<key>DialogListOptions</key>
<string>--title "This is a Custom Title" --overlayicon "/System/Applications/System Settings.app"</string>
<key>DialogFailureOptions</key>
<string>--icon "SF=desktopcomputer.trianglebadge.exclamationmark,color=red"</string>
- Configure your options exactly as you would when calling SwiftDialog from the command line. Remember to quote any file paths or strings that contain spaces (like your title or message values.)
- Please specify your file paths for features like
--icon
or--background
or--bannerimage
carefully. In some cases, an invalid file path will result in SwiftDialog not being able to draw the window and Baseline will exit.
- Please specify your file paths for features like
- See this page for details on default options when left undefined in the configuration file.
- The new keys are entirely optional. If you choose not to include them, then the default branding and messaging will be used.
- Note that MobileConfig files have some limitations on special characters (
&
for example), so you may want to avoid them and test your profiles install correctly. - Added a new profile key
ExitCondition
- Define a file or folder path
- If that file or folder exists on the computer running Baseline, exit quietly without processing any items
- https://github.com/SecondSonConsulting/Baseline/wiki/Defining-Additional-Features#configuring-exitcondition
- Added this key to the Profile Manifest
- iMazing Profile Editor manifest updated to include the new keys.
- All Baseline documentation has been moved to the wiki.
Full Changelog: v1.0...v1.1beta1
Baseline v1.1beta2
- Fixed a logic error that resulted in the Success or Failure window to launch 10 times if the timer ran out.
- Added a new profile key
ExitCondition
- Define a file or folder path
- If that file or folder exists on the computer running Baseline, exit quietly without processing any items
- https://github.com/SecondSonConsulting/Baseline/wiki/Defining-Additional-Features#configuring-exitcondition
- Added this key to the Profile Manifest
Baseline v1.1beta1a
Baseline 1.1beta1 Release Notes
Three new keys added to allow admins to customize each of the three Dialog windows that are a part of Baseline.
- DialogListOptions
- The "DialogList" is the primary Dialog that shows items to be processed and status.
- DialogSuccessOptions
- The "DialogSuccess" window is the Dialogthat displays once Baseline completes with no failed items.
- DialogFailureOptions
- The "DialogFailure" window is the Dialog that displays once Baseline completes but there was one or more failed items.
- You can pass any supported SwiftDialog options for these keys. You can customize one or all of the default options, simply by including your chosen customization in the string.
- In the following example, we will change the Title and add an Overlay Icon for the List Dialog window, but leave the other options (like
--message
and--icon
) at the Baseline default values. We will also use a custom icon for the Failure window:
- In the following example, we will change the Title and add an Overlay Icon for the List Dialog window, but leave the other options (like
<key>DialogListOptions</key>
<string>--title "This is a Custom Title" --overlayicon "/System/Applications/System Settings.app"</string>
<key>DialogFailureOptions</key>
<string>--icon "SF=desktopcomputer.trianglebadge.exclamationmark,color=red"</string>
- Configure your options exactly as you would when calling SwiftDialog from the command line. Remember to quote any file paths or strings that contain spaces (like your title or message values.)
- Please specify your file paths for features like
--icon
or--background
or--bannerimage
carefully. In some cases, an invalid file path will result in SwiftDialog not being able to draw the window and Baseline will exit.
- Please specify your file paths for features like
- See this page for details on default options when left undefined in the configuration file.
- The new keys are entirely optional. If you choose not to include them, then the default branding and messaging will be used.
- Note that MobileConfig files have some limitations on special characters (
&
for example), so you may want to avoid them and test your profiles install correctly. - iMazing Profile Editor manifest updated to include the new keys.
- All Baseline documentation has been moved to the wiki.
Full Changelog: v1.0...v1.1beta1
Baseline v1.0.0
Baseline Official Release
- Baseline is an MDM agnostic zero-touch or light-touch macOS workstation setup solution.
- By leveraging SwiftDialog, Installomator, and original code, Baseline provides an automated way to install applications and run scripts.
- Configure the behavior of Baseline via a mobileconfig file.
- Baseline will install packages, scripts, and Installomator labels as defined in the configuration profile.
v0.5.2-Beta
0.5.2 Release Notes
This code will be the upcoming 1.0 release unless a bug or error is identified in the next week.
- Small order of operations change resulting in
InitialScripts
being processed prior to the SwiftDialog list being calculated. Should not affect any existing deployments/configurations, but will give some additional flexibility for advanced setups. - Changed the default message icon to sidestep a SwiftDialog bug where .app icons don't always show. We're now pointing to the "Keyboard Assistant" icon (nearly identical as the previous "Erase Assistant" icon) and we're pointing directly to an icns file
- On macOS Monterey this icon looks squared off. If that bothers you, change line 63 to point to whichever icon you wish to use
- Added an
InitialScript
to our example configuration file
Baseline v.0.5.1 Beta
Baseline v0.5.1
New Features
- Include the package
/usr/local/Baseline/Packages/SwiftDialog.pkg
to install a bundled copy of SwiftDialog instead of downloading. - An additional class of Scripts can now be defined as
InitialScripts
. Scripts in this dictionary are:- Processed by the same function as
Scripts
and thus have the same requirements and features. - Initiated immediately upon a confirmed end user login, and prior to the main Dialog list.
- There is no SwiftDialog window open while Initial Scripts are being processed. This means admins are welcome to create their own custom SwiftDialog experience with branding and messaging as you see fit.
- It is recommended that Initial Scripts call a dialog window with the
--blurscreen
and--ontop
options to match the defaults used in the main Baseline script.
- Processed by the same function as
- New
Restart
configuration key.- Boolean value which when set to
false
will not force a restart at the completion of Baseline - Default is
true
and this key does not need to be included if you want to leave the default behavior
- Boolean value which when set to
- Added
InitialScripts
andRestart
to the ProfileManifest
Bug Fixes
- Fixed a logic loop where Baseline would never exit if SwiftDialog wasn't installed successfully with Installomator.
- General code cleanup
Baseline_v0.5.0
Initial public beta release of Baseline for macOS.
See our ReadMe our the wiki for configuration instructions.
Feedback/suggestions/bugs are welcome to be reported here on Github or the Mac Admins slack.