Skip to content

Commit 552f8e7

Browse files
committed
updated for v1.3
1 parent 290c68c commit 552f8e7

File tree

8 files changed

+248
-36
lines changed

8 files changed

+248
-36
lines changed

ChangeLog.md

Lines changed: 65 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,36 @@
11
# Setup Manager - Change Log
22

3-
## v1.3beta
4-
(2025-05-27)
3+
## 1.3
4+
(2025-07-08)
5+
6+
Notes added since 1.3beta are marked with '(release)'
57

68
### New Features
79
- Logging
810
- log output format has been cleaned up
9-
- Install log and Jamf Pro log (when available) can now be viewed in the Log window (#78)
11+
- Install log and Jamf Pro log (when available) can now be viewed in the Log window (#78, #130)
1012
- now also logs to macOS unified logging
1113
- new top-level default key to control action output logging
1214
- Network Monitoring
1315
- changes to network interfaces are now logged, see the Notes section for details (#15)
1416
- network status can be shown in the top-right corner of the Setup Manager window
15-
- new flag file `/private/var/db/.JamfSetupStarted`, which is created when Setup Manager starts
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
1618
- added [a specific webhook to send a message to Slack](Docs/WebHooks.md#Slack) (#104)
1719
- two new defaults keys `finishedScript` and `finishedTrigger` allow to run custom behavior when Setup Manager has finished
1820
- new option `none` for `finalAction` (#115)
21+
- (release) Polish localization (Thanks to @bsojka)
1922

2023
### Fixes and Improvements
2124
- Jamf Pro: improved monitoring for Jamf Pro to complete its setup after enrollment
2225
- webhook log entries correctly show status
23-
- added `-skipAppUpdates` option to list of options for Jamf Pro policy actions
26+
- added `-skipAppUpdates` option to list of options for Jamf Pro policy actions, this should avoid some false "error 57" reports
2427
- 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)
2534

2635
### Deprecations and Removals
2736
- (1.3) the minimum macOS requirement for Setup Manager is now macOS 13.5
@@ -32,7 +41,7 @@
3241

3342
#### Logging
3443

35-
The format of the Setup Manager log file (in `/Library/Logs/Setup Manager.log`) has changed. The new format should be easier to parse with other tools. There are four columns:
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:
3645

3746
- timestamp (in ISO8601)
3847
- log level (default, error or fault)
@@ -49,18 +58,25 @@ sudo log show --last 30m --predicate 'subsystem="com.jamf.setupmanager"'
4958

5059
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`.
5160

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.
5268

5369
#### Network change logging
5470

55-
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.
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.
5672

57-
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 that might lead to restricted access for downloads (Installomator uses `curl` to download data, which might trigger security tools.)
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.)
5874

59-
Knowing that network changes or outages occurred during enrollment can be useful for troubleshooting.
75+
Checking the log for network changes or outages during enrollment can be useful for troubleshooting.
6076

6177
#### Network Status icon/menu
6278

63-
Network status is also shown with a new icon in the top-right corner of the Setup Manager window.
79+
Network status can also show with a new icon in the top-right corner of the Setup Manager window.
6480

6581
Note that Network Relay will only protect traffic to certain configured servers and services, not all traffic.
6682

@@ -73,7 +89,45 @@ When you click on the Network status icon, a popup will show:
7389
- Network Relay hosts (when network relay profile is present)
7490
- list of additional custom hosts, configured in the profile
7591

76-
Note that the connectivity is very basic and might not catch all functionality that is required for a service to work. It should provide an indication whether a service is available, but deeper trouble-shooting and monitoring might be required for reliable diagnostics.
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)
77131

78132
## v1.2.2
79133
(2025-04-17)

ConfigurationProfile.md

Lines changed: 59 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,20 @@ Example:
7575

7676
`Please be patient.` will be bold. More detail on [Markdown here](#markdown).
7777

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+
7892
#### `background`
7993

8094
(String, optional, localized, dark mode)
@@ -203,17 +217,35 @@ The script has to fulfill these criteria to be executed:
203217
- not writable for group or other (file mode `755` or `555`)
204218
- no quarantine flag attached
205219

220+
The output of the finished script and trigger will be logged to `/private/var/log/setupManagerFinished.log`.
221+
222+
Example:
223+
224+
```xml
225+
<key>finishedScript</key>
226+
<string>/Library/Management/finishedScript.sh</string>
227+
```
228+
206229
#### `finishedTrigger`
207230

208231
(String, optional, Jamf Pro only)
209232

210233
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.
211234

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+
212244
#### `totalDownloadBytes`
213245

214246
(Integer, optional, default: 1000000000 or 1GB, v0.8)
215247

216-
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.
217249

218250
Example:
219251

@@ -325,6 +357,13 @@ There are three options:
325357

326358
Setup Manager's log window will always show the output, regardless of this setting.
327359

360+
Example:
361+
362+
```xml
363+
<key>actionOutputLogging</key>
364+
<string>always</string>
365+
```
366+
328367
## Actions
329368

330369
All actions should have these keys:
@@ -524,9 +563,9 @@ Example:
524563

525564
### Installomator
526565

527-
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.
528567

529-
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.
530569

531570
#### `installomator`
532571

@@ -553,6 +592,21 @@ Example:
553592
</dict>
554593
```
555594

595+
with arguments:
596+
597+
```xml
598+
<dict>
599+
<key>label</key>
600+
<string>Example App</string>
601+
<key>installomator</key>
602+
<string>example</string>
603+
<key>arguments</key>
604+
<array>
605+
<string>downloadURL=https://example.com/alternativeURL</string>
606+
</array>
607+
</dict>
608+
```
609+
556610

557611
## Icon Sources
558612

@@ -950,9 +1004,10 @@ Use these two-letter codes for these languages:
9501004
| Dutch (Nederlands) | nl |
9511005
| French | fr |
9521006
| German | de |
953-
| Italian | it |
9541007
| Hebrew | he |
1008+
| Italian | it |
9551009
| Norwegian | nb |
1010+
| Polish | pl |
9561011
| Spanish | es |
9571012
| Swedish | sv |
9581013

Docs/Extras.md

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Extras and Notes
22

3+
4+
## Keyboard Shortcuts
5+
6+
Note that the Setup Manager window does not activate to receive keystrokes automatically when running over Setup Manager. You have to click in the Setup Manager window first.
7+
8+
| shift-control-command E | ["exit"/quit Setup Manager](#Quit), use only in emergencies as it will leave installations in an indeterminate state |
9+
| command-L | open [Log window](#Logging) |
10+
| command-B | toggle Battery status icon in Setup Manager window |
11+
| command-N | toggle [Network status icon](Network.md) in Setup Manager window |
12+
| space | show [serial number bar code window](#scannable-serial-number-barcode) |
13+
| i | show "About this Mac" popup |
14+
| h | show "Help" popup, when present |
15+
| hold option key when clicking "About this Mac" | shows more info |
16+
317
## Custom JSON Schema for Jamf Pro
418

519
- create a new profile
@@ -23,7 +37,30 @@ The command-Q keyboard shortcut to quit the app is disabled. Use `shift-control-
2337

2438
## Logging
2539

26-
Setup Manager logs to `/Library/Logs/Setup Manager.log`. While Setup Manager is running you can open a log window with command-L.
40+
While Setup Manager is running you can open a log window with command-L.
41+
42+
There are two or three tabs, one for the main Setup Manager log, one showing output from `/var/log/install.log` and (Jamf Pro only) one tab showing output from `/var/log/jamf.log`. By default, these log tabs will be summarized to events relevant to the enrollment workflow. You can see the full log content by unchecking the 'Summarize' option.
43+
44+
Note that both logs will show events that were not initiated by Setup Manager. Nevertheless, these events may be relevant to your enrollment workflow.
45+
46+
These summarized events will also appear in the Setup Manager log tab and log 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.
47+
48+
Setup Manager logs to `/Library/Logs/Setup Manager.log`. There are four columns:
49+
50+
- timestamp (in ISO8601)
51+
- log level (default, error or fault)
52+
- category (general, install, network, jamfpro)
53+
- message
54+
55+
To clean up the main log a little, Setup Manager 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`.
56+
57+
Setup Manager 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.
58+
59+
For example:
60+
61+
```
62+
sudo log show --last 30m --predicate 'subsystem="com.jamf.setupmanager"'
63+
```
2764

2865
## Debug mode
2966

@@ -136,7 +173,7 @@ You can use this to scope configuration profiles and policies so that they are i
136173

137174
## Running Scripts and Policies when Setup Manager finishes
138175

139-
Generally, you want to coordinate tasks, configurations, and installations with Setup Manager actions. However, in some situations the installations might interfere with the Setup Manager workflow itself. This is most relevant with software that needs to reload the login window process, which will also kill Setup Manager.
176+
Generally, you want to coordinate tasks, configurations, and installations with Setup Manager actions. However, in some situations the installations might interfere with the Setup Manager workflow itself. This is most relevant with software that needs to reload the login window process, which will also kill Setup Manager. (e.g Jamf Connect Login)
140177

141178
Setup Manager provides a LaunchDaemon which monitors the `.JamfEnrollmentSetupDone` flag file. It then launches a script or a custom Jamf Pro policy trigger. Since this LaunchDaemon runs independently from Setup Manager, so it can run installers or scripts that might quit login window or Setup Manager.
142179

@@ -146,4 +183,3 @@ The finished script or custom trigger are configured in the Setup Manager config
146183

147184
The SetupManagerFinished daemon logs its output (and the output of the policy and scripts to `/private/var/log/setupManagerFinished.log`.
148185

149-

0 commit comments

Comments
 (0)