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
PrintFileManager should update itself, and with it its Quick Look extension.
Specific to this repository
Broker profile:printfilemanager (Xcode, universal). Add printfilemanager-{version}.dmg as a copy_ofPrintFileManager-v{version}-macOS-universal.dmg.
AppUpdater matches the lowercase repository name.
The DMG must contain exactly PrintFileManager.app.
Unsigned ZIP: the release also carries PrintFileManager-v…-macOS-arm64-unsigned.zip from release.yml. That's harmless for AppUpdater, which only looks at DMGs, but release.yml must never upload a DMG under the updater's name.
Before installing, stop any running indexing or enrichment work.
Reference implementation
This is the same setup as OpenLens, OpenDefendrWatchr, OpenZombr and OpenConnct, all released on 2026-09-16:
The app:
An UpdateManager wraps mxcl/AppUpdater 4.1.2, pinned with exact: and with Package.resolved committed. See trsdn/OpenLens Sources/OpenLens/Update/UpdateManager.swift or trsdn/OpenDefendrWatchr Sources/OpenDefendrWatchr/Update/UpdateManager.swift.
It checks once a day (waking hourly), downloads and validates the update in the background, and offers Install and Restart.
The menu has Check for Updates… and a Check for Updates Automatically toggle, which is on by default.
The app stops its own work cleanly before the bundle is swapped.
Goal
PrintFileManager should update itself, and with it its Quick Look extension.
Specific to this repository
printfilemanager(Xcode, universal). Addprintfilemanager-{version}.dmgas acopy_ofPrintFileManager-v{version}-macOS-universal.dmg.PrintFileManager.app.PrintFileManager-v…-macOS-arm64-unsigned.zipfromrelease.yml. That's harmless for AppUpdater, which only looks at DMGs, butrelease.ymlmust never upload a DMG under the updater's name.AppUpdater_AppUpdater.bundle, and the adapter should use a broker lock with-onlyUsePackageVersionsFromResolvedFile(see feat: AppUpdater support for openlens, with release publishing macos-notarization-broker#43).Reference implementation
This is the same setup as OpenLens, OpenDefendrWatchr, OpenZombr and OpenConnct, all released on 2026-09-16:
UpdateManagerwraps mxcl/AppUpdater 4.1.2, pinned withexact:and withPackage.resolvedcommitted. See trsdn/OpenLensSources/OpenLens/Update/UpdateManager.swiftor trsdn/OpenDefendrWatchrSources/OpenDefendrWatchr/Update/UpdateManager.swift.GitHubAttestationPolicy:swift buildproducts, AppUpdater'sBundle.modulelookup never looks inContents/Resources, so verifying an attestation ends infatalError(In-app update verification will reject tag-triggered releases (attested ref is refs/tags/…, policy expects refs/heads/main) OpenWritr#31).<repository>-<semver>.dmg, containing one app with the installed app's file name. On the broker, add it as acopy_ofthe notarized DMG (feat: AppUpdater support for openlens, with release publishing macos-notarization-broker#43).scripts/request.sh <profile> vX.Y.Z --publishthen uploads it.dependency_lockequal to the app'sPackage.resolved.AppUpdater_AppUpdater.bundle, list it undernested_resource_bundles(examples: feat: AppUpdater releases for opendefendrwatchr, onboard openzombr macos-notarization-broker#46 for SwiftPM apps, feat(openconnct): pin AppUpdater and publish the updater DMG macos-notarization-broker#48 for a Makefile build).To do
Package.resolved.UpdateManagerand menu items, and stop the app's work before installing.printfilemanager-{version}.dmgcopy_ofartifact.scripts/request.sh printfilemanager vX.Y.Z --publish.🤖 Generated with Claude Code