You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ChangeLog.md
+146Lines changed: 146 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,151 @@
1
1
# Setup Manager - Change Log
2
2
3
+
## 1.3
4
+
(2025-07-08)
5
+
6
+
Notes added since 1.3beta are marked with '(release)'
7
+
8
+
### New Features
9
+
- Logging
10
+
- log output format has been cleaned up
11
+
- Install log and Jamf Pro log (when available) can now be viewed in the Log window (#78, #130)
12
+
- now also logs to macOS unified logging
13
+
- new top-level default key to control action output logging
14
+
- Network Monitoring
15
+
- changes to network interfaces are now logged, see the Notes section for details (#15)
16
+
- network status can be shown in the top-right corner of the Setup Manager window
17
+
- new flag file `/private/var/db/.JamfSetupStarted`, which is created when Setup Manager starts. You can use this to scope Mac App Store apps and Jamf App Installers, which prevents these apps from installing early in the enrollment, slowing down the Jamf Pro configuration
18
+
- added [a specific webhook to send a message to Slack](Docs/WebHooks.md#Slack) (#104)
19
+
- two new defaults keys `finishedScript` and `finishedTrigger` allow to run custom behavior when Setup Manager has finished
20
+
- new option `none` for `finalAction` (#115)
21
+
- (release) Polish localization (Thanks to @bsojka)
22
+
23
+
### Fixes and Improvements
24
+
- Jamf Pro: improved monitoring for Jamf Pro to complete its setup after enrollment
25
+
- webhook log entries correctly show status
26
+
- added `-skipAppUpdates` option to list of options for Jamf Pro policy actions, this should avoid some false "error 57" reports
27
+
- Jamf Pro policy will trigger 'Recurring Check-in' policies on empty string value
28
+
- (release) added name for macOS Tahoe 26
29
+
- (release) minor localization and UI fixes
30
+
- (release) disabled some undesirable keyboard shortcuts (#125)
31
+
- (release) arguments in `installomator` actions are now processed correctly
32
+
- (release) output to log is flushed immediately to avoid truncation on restart/shutdown (#129)
33
+
- (release) MDM Server address shown in extended "About this Mac" (#127)
34
+
35
+
### Deprecations and Removals
36
+
- (1.3) the minimum macOS requirement for Setup Manager is now macOS 13.5
37
+
- (1.2) `showBothButtons` option removed and non-functional, there will always be just one final action button displayed
38
+
- the method for providing localized texts in the configuration profile changed in version 1.1. The previous method (by appending the two letter language code to the key) is considered deprecated. It will continue to work for the time being but will be removed in a future release. It is _strongly_ recommended to change to the [new dictionary-based solution](ConfigurationProfile.md#localization)
39
+
40
+
### Notes
41
+
42
+
#### Logging
43
+
44
+
The format of the Setup Manager log file (in `/Library/Logs/Setup Manager.log`) has changed. The new format should be easier to read and parse with other tools. There are four columns:
45
+
46
+
- timestamp (in ISO8601)
47
+
- log level (default, error or fault)
48
+
- category (general, install, network, jamfpro)
49
+
- message
50
+
51
+
Setup Manager 1.3 also logs to the macOS unified system log. The subsystem is `com.jamf.setupmanager`. You can use the `log` command line tool to read the log.
52
+
53
+
For example:
54
+
55
+
```
56
+
sudo log show --last 30m --predicate 'subsystem="com.jamf.setupmanager"'
57
+
```
58
+
59
+
To clean up the log a little, Setup Manager 1.3 will only write the output of actions to the Setup Manager log file when an error occurred. You can control this behavior with a new top-level preference key `actionOutputLogging`.
60
+
61
+
#### Installation and Jamf Pro logs and summaries
62
+
63
+
The Log window (open with command-L) gained a new "Install" tab, which shows the system's installation log file (`/var/log/install.log`). When enrolling with Jamf Pro, there is another new "Jamf" tab, which shows the Jamf log (`/var/log/jamf.log`). By default, the Log window will be summarized to events relevant to the enrollment workflow. You can see the full log content by unchecking the 'Summarize' option.
64
+
65
+
Note that both logs will show events that were not initiated by Setup Manager. Nevertheless, these events may be relevant to your enrollment workflow.
66
+
67
+
These summarized events will also appear in the Setup Manager log tab and file, as well as the universal log entries. Having these events in context at the time they occur in the Setup Manager log is very helpful when trouble-shooting enrollment workflows.
68
+
69
+
#### Network change logging
70
+
71
+
Setup Manager 1.3 adds logging for changes to network interfaces. It is possible that there will multiple entries in the log with regards to the same network change. Most changes logged will be neutral and should not affect your deployment negatively.
72
+
73
+
However, it is possible that changes to the network configuration of a device can influence the deployment workflow. For example, when a configuration profile with the access information for a secure corporate Wifi is installed on the device, then the download access to required resources might change. Another example are security tools that might lead to restricted access for downloads (Installomator uses `curl` to download data, which might trigger security tools.)
74
+
75
+
Checking the log for network changes or outages during enrollment can be useful for troubleshooting.
76
+
77
+
#### Network Status icon/menu
78
+
79
+
Network status can also show with a new icon in the top-right corner of the Setup Manager window.
80
+
81
+
Note that Network Relay will only protect traffic to certain configured servers and services, not all traffic.
82
+
83
+
By default, the network icon will _not_ be shown. You can activate it manually with the command-N keystroke.
84
+
85
+
When you click on the Network status icon, a popup will show:
86
+
- the current active network interface
87
+
- IPv4 and IPv6 addresses
88
+
- download and upload bandwidth (will take a while to appear)
89
+
- Network Relay hosts (when network relay profile is present)
90
+
- list of additional custom hosts, configured in the profile
91
+
92
+
Note that the connectivity check is quite basic and might not catch all functionality that is required for a service to work. It should provide an indication whether a service is reachable, but deeper trouble-shooting and monitoring might be required for reliable diagnostics.
93
+
94
+
Seen["Network Connectivity"](https://github.com/jamf/Setup-Manager/Docs/Network.md) for more detail.
95
+
96
+
#### Finished Script and Trigger
97
+
98
+
Setup Manager now includes functionality to launch a script or Jamf Pro custom policy trigger in a separate process when the main Setup Manager process is finished. This is useful for installations that might unexpectedly restart the computer or the context that Setup Manager is running in (most commonly, Setup Manager is running at login window, which the Jamf Connect installer will kill).
99
+
100
+
There are two keys relevant for this: `finishedScript` and `finishedTrigger`.
101
+
102
+
See ["Running Scripts and Policies when Setup Manager finishes"](https://github.com/jamf/Setup-Manager/Docs/Extras.md#running-scripts-and-policies-when-setup-manager-finishes) for detail.
103
+
104
+
## v1.3beta
105
+
(2025-05-27)
106
+
107
+
### New Features
108
+
- Logging
109
+
- log output format has been cleaned up
110
+
- Install log and Jamf Pro log (when available) can now be viewed in the Log window (#78)
111
+
- now also logs to macOS unified logging
112
+
- new top-level default key to control action output logging
113
+
- Network Monitoring
114
+
- changes to network interfaces are now logged, see the Notes section for details (#15)
115
+
- network status can be shown in the top-right corner of the Setup Manager window
116
+
- new flag file `/private/var/db/.JamfSetupStarted`, which is created when Setup Manager starts
117
+
- added [a specific webhook to send a message to Slack](Docs/WebHooks.md#Slack) (#104)
118
+
- two new defaults keys `finishedScript` and `finishedTrigger` allow to run custom behavior when Setup Manager has finished
119
+
- new option `none` for `finalAction` (#115)
120
+
121
+
### Fixes and Improvements
122
+
- Jamf Pro: improved monitoring for Jamf Pro to complete its setup after enrollment
123
+
- webhook log entries correctly show status
124
+
- added `-skipAppUpdates` option to list of options for Jamf Pro policy actions
125
+
- Jamf Pro policy will trigger 'Recurring Check-in' policies on empty string value
126
+
127
+
### Deprecations and Removals
128
+
- (1.3) the minimum macOS requirement for Setup Manager is now macOS 13.5
129
+
- (1.2) `showBothButtons` option removed and non-functional, there will always be just one final action button displayed
130
+
- the method for providing localized texts in the configuration profile changed in version 1.1. The previous method (by appending the two letter language code to the key) is considered deprecated. It will continue to work for the time being but will be removed in a future release. It is _strongly_ recommended to change to the [new dictionary-based solution](ConfigurationProfile.md#localization)
131
+
132
+
## v1.2.2
133
+
(2025-04-17)
134
+
- signed a helper script that could lead to unexpected background item prompts
135
+
- disabled command-W keystroke
136
+
- fixed a stall in `waitForUserEntry` with Jamf School
137
+
- fixed link to computer record in Teams message (#110)
138
+
- minor documentation fixes
139
+
140
+
## v1.2.1
141
+
(2025-04-02)
142
+
143
+
- updated included Installomator script to [v10.8](https://github.com/Installomator/Installomator/releases/tag/v10.8)
144
+
- now tries for 15 seconds to reload local `background` image file (#105), this should help in situations where the image file is installed after Setup Manager
145
+
- improved monitoring of Jamf Pro enrollment process and completion during the "Getting Ready" phase
146
+
- minor documentation fixes (#106)
147
+
148
+
3
149
## v1.2.2
4
150
(2025-04-17)
5
151
- signed a helper script that could lead to unexpected background item prompts
@@ -5,6 +5,7 @@ The project some sample files to get you started:
5
5
-[sample plist](Examples/sample-waitForUserEntry.plist) for Jamf Pro with [two phase workflow](Docs/JamfPro-TwoPhase.md)
6
6
-[configuration profile](Examples/sample-jamfschool.mobileconfig) for Jamf School
7
7
8
+
**Important:** all keys and values are **case-senstive**.
8
9
9
10
## Top-level keys
10
11
@@ -74,6 +75,20 @@ Example:
74
75
75
76
`Please be patient.` will be bold. More detail on [Markdown here](#markdown).
76
77
78
+
During the "Getting Ready" phase up to three lines of text will be shown. When the action icon progress list is shown, text will be truncated to a single line.
79
+
80
+
Use actual line breaks in the XML for line breaks in this text. (`\n` escape sequence will _not_ work in XML)
81
+
82
+
Example:
83
+
84
+
```xml
85
+
<key>message</key>
86
+
<string>Please be patient…
87
+
88
+
This line of text will be truncated when the action icon list is shown.</string>
89
+
```
90
+
91
+
77
92
#### `background`
78
93
79
94
(String, optional, localized, dark mode)
@@ -84,11 +99,9 @@ When this key is set, Setup Manager treats it as an image/[icon source](#icon-so
84
99
85
100
(String, optional, default: `enrollment`)
86
101
87
-
**Beta:** We believe the run at login window feature may require more testing, especially in some edge cases. When, after thorough testing, you believe this works in your workflow, feel free to deploy it, and please let us know about your success or any issues you might encounter.
102
+
This value determines when Setup Manager should launch. There are two values: `enrollment` (default) and `loginwindow`. When set to `enrollment` Setup Manager will launch immediately when its installation package is installed. This is the setting to use for automated device enrollment (without Auto Advance) and user-initiated enrollment.
88
103
89
-
This value determines when Setup Manager should launch. There are two values: `enrollment` (default) and `loginwindow`. When set to `enrollment` Setup Manager will launch immediately when the pkg is installed. This is the setting to use for automated device enrollment (without Auto Advance) and user-initiated enrollment.
90
-
91
-
When the `runAt` value is set to `loginwindow` Setup Manager will launch only when the login window is shown. This is useful for fully automated enrollments using Auto Advance.
104
+
When the `runAt` value is set to `loginwindow` Setup Manager will launch only when the login window is shown. This is useful for fully automated enrollments using Auto Advance and some workflows involving Jamf Connect or similar tools.
92
105
93
106
A setting of `loginwindow` will only work with enrollment setups that eventually end on the login window (i.e. a user has to be created automatically, the device is bound to a directory, etc).
94
107
@@ -170,13 +183,16 @@ Disable the countdown:
170
183
171
184
This key sets the action and label for the button shown when Setup Manger has completed.
172
185
173
-
There are three options:
186
+
There are four options:
174
187
-`continue`: (default) merely quits Setup Manager and allows the user to continue (probably Setup Assistant or login window)
175
188
-`restart`: restarts the Mac
176
189
-`shutdown`: (no space!) shuts down the Mac
190
+
-`none`: no button shown. (see note below)
177
191
178
192
**Warning:**`restart` and `shutdown` options will force their action immediately. If a user is logged in (after user-initiated enrollment), they may lose data from open, unsaved documents.
179
193
194
+
**Note on `none`:** the `none` option exists for workflows where the restart or continue is controlled by a process other than Setup Manager. For example, when installing additional software with a `finishedScript` or `finishedTrigger` which forces a restart. Having a `continue` or `restart` button would be confusing and might interrupt the installation in the finished process. However, having no button to end Setup Manager at all, might leave the user 'stuck' there, so be sure to always restart or kill Setup Manager. You can always use the keyboard shortcut `shift-control-command-E` to quit Setup Manager.
195
+
180
196
This is also the action that is performed when the `finalCountdown` timer runs out.
181
197
182
198
When the `DEBUG` preference is set, `shutdown` or `restart` will merely quit/continue.
@@ -188,11 +204,48 @@ Example:
188
204
<string>shutdown</string>
189
205
```
190
206
207
+
#### `finishedScript`
208
+
209
+
(String, optional)
210
+
211
+
A full path to a script file which will be executed _after_ Setup Manager has finished its workflow. This process runs independently of Setup Manager, so it can run installers or scripts that affect Setup Manager.
212
+
213
+
The script has to fulfill these criteria to be executed:
214
+
215
+
- owner: `root`, group: `wheel`
216
+
- executable bit set
217
+
- not writable for group or other (file mode `755` or `555`)
218
+
- no quarantine flag attached
219
+
220
+
The output of the finished script and trigger will be logged to `/private/var/log/setupManagerFinished.log`.
A custom policy trigger which will be executed _after_ Setup Manager has finished its workflow. This process runs independently of Setup Manager, so it can run installers or scripts that affect Setup Manager.
234
+
235
+
The output of the finished script and trigger will be logged to `/private/var/log/setupManagerFinished.log`.
236
+
237
+
Example:
238
+
239
+
```xml
240
+
<key>finishedTrigger</key>
241
+
<string>setup_manager_finished</string>
242
+
```
243
+
191
244
#### `totalDownloadBytes`
192
245
193
-
(Integer, opitonal, default: 1000000000 or 1GB, v0.8)
246
+
(Integer, optional, default: 1000000000 or 1GB, v0.8)
194
247
195
-
Use this value to provide an estimate for the total size of all items that will be downloaded. Setup Manager will display and estimated download time for this sum in the "About this Mac..." popup window.
248
+
Use this value to provide an estimate for the total size of all items that will be downloaded. Setup Manager will display an estimated download time for this sum in the "About this Mac..." popup window.
196
249
197
250
Example:
198
251
@@ -291,6 +344,26 @@ Example:
291
344
292
345
When debug mode is enabled, you can set the `simulateMDM` preference key to `Jamf Pro` or `Jamf School`. This allows you to do test runs on un-enrolled Macs.
293
346
347
+
#### `actionOutputLogging`
348
+
349
+
(string, optional, default: `error`)
350
+
351
+
This key controls whether the output of actions is written to the Setup Manager log file.
352
+
353
+
There are three options:
354
+
-`always`: output and exit code are always written to the log file
355
+
-`error`: (default) output and exit code are only written on errors
356
+
-`never`: output and exit are never written to the log file
357
+
358
+
Setup Manager's log window will always show the output, regardless of this setting.
359
+
360
+
Example:
361
+
362
+
```xml
363
+
<key>actionOutputLogging</key>
364
+
<string>always</string>
365
+
```
366
+
294
367
## Actions
295
368
296
369
All actions should have these keys:
@@ -358,7 +431,7 @@ Example:
358
431
This will run the Jamf Pro policy or polices with the given trigger name. This is the equivalent of running
Note: Jamf Pro policies can do a lot of different things and fail in many different ways. Setup Manager does _not_ check for all possible failure modes. It only checks for failed installer pkgs and policy scripts that return non-zero exit codes, which should cover most uses of policies for initial deployment.
@@ -376,6 +449,20 @@ Example:
376
449
</dict>
377
450
```
378
451
452
+
Note: You can trigger policies attached to "Recurring Check-in" by leaving the string value empty:
This will run [Installomator](https://github.com/Installomator/Installomator) to install a given label.
566
+
Setup Manager includes the [Installomator](https://github.com/Installomator/Installomator) script to simplify installations. This action will run [Installomator](https://github.com/Installomator/Installomator) to install a given label.
480
567
481
-
Note: by default, Setup manager will add `NOTIFY=silent` to the arguments to suppress notifications. You can override this in the `arguments`.
568
+
Note: by default, Setup manager will add `NOTIFY=silent` to the arguments to suppress notifications. You can override these variables and add more with the `arguments` key.
Setup Manager can send web hooks to servers and services to trigger workflows there. You can read [details on how to configure and use WebHooks here](Docs/Webhooks.md).
826
928
929
+
## Network Connectivity
930
+
931
+
Setup Manager can check and display the network status and connectivity to a list of hosts. You can read [the details on how to configure this here](Docs/Network.md).
932
+
827
933
## Localization
828
934
829
935
The app will pick up the user choice of the UI language for the interface elements. (Table of currently available languages below.) The app will fall back to English for other language choices.
@@ -886,6 +992,10 @@ The following keys can be localized:
886
992
-`message`
887
993
-`url`
888
994
995
+
### Network Check
996
+
997
+
-`label`
998
+
889
999
Use these two-letter codes for these languages:
890
1000
891
1001
| Language | two-letter code |
@@ -894,9 +1004,10 @@ Use these two-letter codes for these languages:
0 commit comments