Notes
This is a version of Outset created by GitHub Actions.
Outset.app has been signed and notarized. The package has been signed, notarized and stapled.
Bug Fixes
Null manifest_signing_key Fault During --boot
When manifest_signing_key was absent from preferences it was stored as nil, causing
a runtime fault in the signing-required check. The value is now stored as an empty
string and the guard uses isEmpty instead of a nil check.
Null background_script_timeout Fault During --boot
A missing background_script_timeout preference value was unwrapped as an optional
Int?; if the value was absent this could fault. The property is now a non-optional
Int backed by a named constant default (defaultBackgroundScriptTimeout = 30).
Privileged Login Trigger Not Firing
The condition that creates the privileged-login trigger was not evaluated when the
regular login-once/every directories were non-empty but contained no runnable items.
The logic now correctly checks for privileged payload content independently of the
unprivileged directory state.
Array Bounds Crash in computeChecksum
Accessing files[0] before verifying the array was non-empty could produce an
index-out-of-bounds crash when called with no arguments. An early-return guard was added.
Force Unwraps Removed
Force-unwrapped String(data:encoding:) and Data(contentsOf:) calls in
writeFileLog and runShellCommand have been replaced with nil-coalescing fallbacks,
removing potential crash points on unexpected encoding failures.
Typo Fix: showPrefrencePath → showPreferencePath
The internal debug helper was renamed to fix a long-standing typo. All call sites
updated.
Changelog
- 675de98 - Made the EA more robust to any future changes in the number of agents/daemons. This should fix #59
- 96023e1 - Added check in case directories we want to look at are missing
- af323b9 - Some initial cleanup and re-arranging to assist with addressing issue #64
- fc44464 - Some more tidy up. Initial work on getting boot-once data recorded. More to do
- c5a6ca6 - Fixes boot-once issue when specifying a boot-once script as an MDM payload. run info is now properly recorded
- 9ace5fe - fix for making sure login-privileged-once only runs once
- fd49645 - more cleanup and comments. Also identified a logic error in removeIgnoredUsers
- b921a27 - update add and remove for ignored users and overrides
- 8f31c21 - Update created by
- 9cd6191 - fix logic issue loading and writing runeonce for boot-once when running as root
- 0ec1681 - Merge pull request #66 from macadmins/bugfix/jamf-ea
- 5bac290 - Merge pull request #65 from macadmins/bugfix/64-managed-profiles
- 737331e - Change program from type array to type string
- e53d1d4 - Merge pull request #67 from macadmins/bugfix/on-demand-privileged
- c873097 - Updated build number to 4.2.1
- 7c08827 - Merge pull request #68 from macadmins/v4.2.1
- 3ff2fb4 - Fix DMG package installation bugs in installPackage
- 8fadd59 - Fix network timeout being 10x shorter than configured value
- 4c34ea6 - Fix privileged login trigger not firing when only one directory has content
- 3b97e8d - Fix privileged login trigger not firing when only one directory has content
- 2d562c4 - Guard against empty array in computeChecksum
- 33a19a2 - Guard against empty array in computeChecksum
- e67b621 - Fix log file permissions and remove force unwraps in Logging and Shell
- e9f9462 - Fix log file permissions and remove force unwraps in Logging and Shell
- 4ccab98 - Eliminate global mutable state; pass consoleUser explicitly (Option B)
- f01dcb9 - Eliminate global mutable state; pass consoleUser explicitly (Option B)
- 7068957 - Add OutsetTests target with 27 unit tests
- 58e51de - Add OutsetTests target with 27 unit tests
- 264c288 - Add UntestableFunctionality.swift documenting test coverage gaps
- 2b3543c - Add UntestableFunctionality.swift documenting test coverage gaps
- e7fcb6f - Integration testing
- 6582714 - Integration testing
- e889ca9 - Version bump
- 1275cbf - Version bump
- 24c852b - Updated file permissions for integrated tests
- b0ed04e - Updated file permissions for integrated tests
- 044716c - Add background script execution support (closes #69)
- c8a1219 - Add background script execution support (closes #69)
- 9f0bfb5 - Update changelog
- 702759d - Update changelog
- 3307f2a - Fix managed profile payload processing bugs (closes #64)
- e34ba8d - Add Ed25519 embedded script signing (closes #70)
- 5a9bfde - Add --verify-script command to validate embedded Ed25519 signatures
- 7536b34 - Enforce MDM-managed requirement for manifest_signing_key
- c70f42e - Merge branch 'fix/payload-processing-64' into code_review
- b1d3397 - Update build workflow to use macos-latest and dynamic Xcode path
- f075c25 - Fix Info.plist version to match project.pbxproj (4.3.0)
- f263f77 - Update CHANGELOG for 4.3.0
- 8dbe841 - Remove stale DEVELOPMENT_TEAM SDK override from Outset Release config
- e180c6b - Context-aware log path: root logs to /usr/local/outset/logs, user to ~/Library/Logs
- 51e28b4 - Add managed profile payload processing fix to CHANGELOG (closes #64)
- b04be4c - Merge pull request #73 from macadmins/code_review
- 63038a9 - add --no-rcs to zsh shebang
- 0ccd634 - Merge pull request #74 from dhmoore/main
- a1292af - fix issue when running
--bootwhere null background_script_timeout calue would fault - af2ed6c - Merge branch 'main' into feature/background-scripts
- ae62332 - fix issue where null manifest_signing_key would cause a fault when running
--bootprocesses - 9f494cf - Merge pull request #75 from macadmins/feature/background-scripts