-
Notifications
You must be signed in to change notification settings - Fork 0
Release Notes
What has shipped, newest first. Read this when you are deciding whether to move your fleet to a newer build, or when you are trying to work out which behaviour change explains something you are seeing on a Mac.
Versions are date-based: YYYY.MM.DD.HHMM, taken from the build timestamp. Git tags carry the
same string with a leading v, for example v2026.06.22.1234. Pushing such a tag is what
triggers a release; there is no separate release branch. The scheme and its split into
CFBundleShortVersionString and CFBundleVersion are described on
Building and Signing.
Each release is published as a GitHub release on this repository with one asset, the installer
package BootstrapMate-<version>.pkg. That package is unsigned and un-notarized — the
public repository holds no Developer ID. Sign and notarize it in your own pipeline before
deploying it.
Because the version string the CLI prints is generated at runtime rather than at build time, do
not use --version to identify which release a Mac is running. Read the installed bundle
instead:
defaults read /Applications/Utilities/BootstrapMate.app/Contents/Info CFBundleShortVersionStringTagged commit 7b431f0, 2026-09-03.
- Give each run a session directory with structured events (
7b431f0, PR #12). Runs no longer write a single flatyyyy-MM-dd-HHmmss.logat the logs root. Each run now owns/Library/Managed Bootstrap/logs/YYYY-MM-DD/HHMMSS/, holdingbootstrap.login the same line format as before,events.jsonlwith one JSON record per log line, andsession.jsonwith the run's outcome, duration and error counts. Retention gained a cap of the newest 100 session directories alongside the 30-day age sweep, and the GUI's Logs tab lists session directories as well as any flat file left by the previous layout. Scripts that globbedlogs/*.logneed updating tologs/*/*/bootstrap.log. See Logging and Reporting.
Tagged commit f116e2c, 2026-09-02.
- Stamp every log line, including captured script output (
1f01b46). Output captured fromrootscriptanduserscriptitems now carries the same timestamp and level prefix as the rest of the log, so a script's output can be correlated with the surrounding run. See Logging and Reporting.
Tagged commit a829cf5, 2026-09-01.
- Align log file format with the shared convention and add 30-day retention (
a829cf5, PR #9). Log files are named from the run's start time and a new file is written per run; files older than 30 days are deleted when the logger initialises.
Tagged commit 7c2f00d, 2026-06-22.
- Rename CLI binary to
managedbootstrapinstalland consolidate staging on/Library/Managed Bootstrap(7c2f00d, PR #6). This is the change that moved the on-disk paths documented in Deployment and Troubleshooting and Gotchas. - Fetch bootstrap data uncached so manifest hash diffs always self-heal (
132b0aa, PR #2). The URL session no longer keeps a cache, so a stale copy cannot defeat the SHA-256 check. - Post a vendor-neutral run summary on completion (
5464b52, PR #5). See Logging and Reporting. - Verify installer package signatures before running as root (
c64d3f0, PR #3). See Security and Package Verification. - Rename MDM detector and references to Management (
a39ea15, PR #4). - Upgrade GitHub Actions to Node24-compatible versions (
08f9b47). - Strip user attribution from generated release notes (
a309a59).
Tagged commit 65f3561, 2026-06-09.
- CI: build on
macos-26with Xcode 26 for the Liquid Glass SDK (65f3561).
Tagged commit ef046ff, 2026-06-09. The first tagged release.
- Add unsigned release workflow; Munki pipeline signs the pkg downstream (
ef046ff). This established the current arrangement: the public repository builds and publishes an unsigned package, and signing happens in a private downstream pipeline.
Development up to that point is untagged. Grouped by theme, from the commit log:
-
Structure. Refactor to standard Swift Package Manager structure (
e14fc5a), add packaging source directory (3471ca8), add test suite structure (398f247), update build system configuration (13ab0cc), add GitHub Actions CI workflow (37c314f), rename source code folders (31ecc0e). -
Manifests and configuration. Implement support for YAML manifest formats (
8ada997), add a configuration file for deployment settings (2089a6c), add cache directory constant (dbf4682), add example configuration files (bd7e45f), organise examples and scripts into a resources directory (6f271c6). -
Run behaviour. Make the bootstrap daemon one-shot and stop reaping the userland run
(
401c042), run userland regardless ofsetupassistantitem failures (286bf8a, PR #1), handle SIGTERM to terminate SwiftDialog gracefully on exit (bc0e9e9). -
GUI. Add
LogView,RunViewandSettingsView(2b6ddae), auto-save and manifest preview in the settings view model (05d0318), aTextEditorfor loaded content (e0d0b25), a save keyboard shortcut (ba29179), window size and debug output filtering (11831bc). -
Packaging and assets. Icon compilation and Info.plist app-icon support (
4c22f45), icon artwork (263ac59,4465b6b). -
Documentation. Documentation and configuration templates (
e7a4162), documentation cleanup (341944d), README description (f9f51ed).
Each tagged release gets its own section here, newest first, listing the changes that landed since the previous tag with the commit subjects as evidence. When a new tag is pushed, add a section for it above the current top one rather than editing an existing section — released notes describe what shipped and should not be rewritten afterwards.