Releases: thehallifax/DFUUtility
Release list
DFUUtility 0.12.1 Community
DFUUtility 0.12.1 Community
DFUUtility 0.12.1 adds focused handling for Apple's
ConfigurationUtilityKit.error Code 401 restore failure.
- Restore failures caused by an outdated MobileDevice host framework now show
concise guidance to update macOS and try again. - The alert retains safe target and selected-system context without exposing
identifiers, commands, or local IPSW paths. - Complete cfgutil evidence remains available in the protected operation log.
- Restore execution, targeting, firmware compatibility, and privilege behavior
are unchanged.
Community artifacts remain ad-hoc signed and are not Developer ID authenticated
or notarized.
DFUUtility 0.12.0 Community
DFUUtility 0.12.0 Community
DFUUtility 0.12.0 expands the Community release with safer mobile Recovery
Restore workflows, more precise firmware selection, and improved technician
workflows.
Highlights
- Restore eligible iPhone and iPad devices already in Recovery with exact
device targeting. Recovery Restore was physically accepted on an
iPhone15,4using iOS 27.0 / 24A437. - Select firmware by exact ProductType using Apple's current catalogue together
with validated compatible cached images. Historical compatible cached images
can remain available in the device chooser, and Restore readiness updates
immediately after validation. - Improve reconnect/session reconciliation so operation state remains attached
to the correct device, while retaining supervision metadata when reported. - Improve sidebar sizing and live-resize behavior, with refreshed deterministic
application screenshots. - Add a public GitHub Release bootstrap installer while keeping distribution
and source-checkout update paths separate. - Extend deterministic coverage with the current 291-test suite, screenshot
generation, and process-level regression harnesses.
Catalogue presence does not guarantee that Apple will authorize a downgrade,
and firmware signing status is not inferred where Apple does not provide an
authoritative value. These changes do not claim universal iPhone/iPad support,
parallel Restore, or hardware coverage beyond the recorded acceptance matrix.
Community artifacts remain ad-hoc signed and are not Developer ID authenticated
or notarized.
DFUUtility 0.11.0 Community
DFUUtility 0.11.0 Community
DFUUtility 0.11.0 is a polished Community release for technicians restoring,
reviving, preparing, and inventorying Apple devices.
Highlights
- Production-accepted binary self-updating for packaged installations through
GitHub Releases, with explicit download and install actions, transactional
replacement, destination verification, rollback protection, and verified
relaunch. Source installations retain their separate, safety-gated Git
update workflow. - Technician-oriented multi-device sessions and sequential Restore, Revive,
and Restart workflows with explicit selection and per-device firmware. - Independent macOS, iOS, and iPadOS Firmware Library browsing, validated
managed downloads, local IPSW selection, and exact compatibility gates. - Guided physical-button DFU assistance for supported iPhone and iPad models,
plus Mac DFU, Restore, and Revive workflows with same-device verification and
structured operation progress. - Read-only Device Capture with identifiers, serial-number QR codes, asset
tags, and CSV export, together with Diagnostics and dedicated-host readiness
guidance. - Refreshed end-user documentation and deterministic fictional-data
screenshots, with clearer separation between DFUUtility's Apache-2.0 license
and the preserved Asahi Linuxmacvdmtoollicense, attribution, and pinned
upstream revision.
Distribution and compatibility
Community artifacts are ad-hoc signed and are not Developer ID authenticated
or notarized. Physical acceptance applies only to the products and workflows
listed in the project's hardware-acceptance documentation; this release does
not claim universal Apple hardware compatibility.
The complete packaged binary updater lifecycle was production accepted for
0.10.9 → 0.10.10.
DFUUtility 0.10.10 Community
DFUUtility 0.10.10 Community release candidate
DFUUtility 0.10.10 is a maintenance release serving as the production
acceptance target for the corrected binary self-update lifecycle.
The real 0.10.9 → 0.10.10 production self-update has not yet been performed
or accepted. Community artifacts are ad-hoc signed and are not Developer ID
authenticated or notarized.
DFUUtility 0.10.9 Community
DFUUtility 0.10.9 Community release candidate
DFUUtility 0.10.9 is a maintenance release for the corrected binary-update
handoff when the update sheet is attached.
- The update presentation is dismissed and attached AppKit sheets are ended
before requesting application termination. - Termination is dispatched on the next main run-loop turn.
- Originating-process waiting, transactional replacement, rollback, relaunch
verification, and result semantics remain unchanged. - A non-destructive process-level handoff regression harness covers successful
termination and installer-spawn failure behavior.
Production self-update acceptance has not yet been performed. Community
artifacts are ad-hoc signed and are not Developer ID authenticated or
notarized.
DFUUtility 0.10.7 Community
DFUUtility 0.10.7 Community release candidate
DFUUtility 0.10.7 is the corrected bootstrap release for subsequent binary
self-update acceptance.
- Binary updater handoff now has an explicit AppKit termination reply, so the
originating application can terminate after launching the installer. - The installer continues to wait for the originating process to disappear
before replacement and relaunch. - Transactional replacement, rollback, distinct-process relaunch verification,
and post-relaunch success safeguards are unchanged.
The real 0.10.7 → 0.10.8 production self-update has not yet been performed or
accepted. Community artifacts are ad-hoc signed and are not Developer ID
authenticated or notarized.
DFUUtility 0.10.5 Community
DFUUtility 0.10.5 Community release candidate
DFUUtility 0.10.5 is the production acceptance release for the corrected
binary self-update handoff.
- The installer waits for the originating DFUUtility process to terminate
before replacement and relaunch. - Relaunch verification requires a distinct process for the installed
destination bundle. - Update success is not recorded before relaunch verification completes.
- Backup transactions now use unique generated UUID paths.
- Additional non-destructive regression coverage exercises handoff timeout,
result ordering, process identity, and backup-path safety.
The real 0.10.4 → 0.10.5 production self-update has not yet been performed or
accepted. Community artifacts are ad-hoc signed and are not Developer ID
authenticated or notarized.
DFUUtility 0.10.3 Community
DFUUtility 0.10.3 Community release candidate
DFUUtility 0.10.3 is a maintenance release for the GitHub Release binary
updater.
- GitHub Release downloads now accept the documented
github.comredirect to
release-assets.githubusercontent.comwhile retaining HTTPS-only,
exact-host redirect validation. - SHA-256, size, archive, bundle, version/build, required-resource, and
structural code-signature verification remain unchanged. - Binary-update diagnostics now record useful lifecycle and redirect events
using hostnames only. Signed redirect query strings and tokens are never
logged.
The real 0.10.2 → 0.10.3 self-update has not yet been performed or accepted.
Community artifacts remain ad-hoc signed and are not Developer ID
authenticated or notarized.
DFUUtility 0.10.0 Community
DFUUtility 0.10.0 Community release candidate
DFUUtility 0.10.0 adds a verified binary-update path for normal Community
installations while retaining the existing Git/source updater for developer
checkouts.
Binary updates
- Checks published GitHub Release metadata before downloading.
- Verifies the exact asset, size, SHA-256 digest, safe archive structure,
bundle identity, version/build, required resources, and structural code
signature before offering installation. - Requires an explicit Download Update, followed by an explicit
Install Update action. Updates are never installed automatically. - Replaces the application transactionally, preserving a same-volume backup
until the new bundle passes in-place verification. - Rolls back on replacement or verification failure and records recovery
failures for diagnosis. - Verifies the expected version/build after relaunch before reporting success.
Developer/source installations continue to use the recorded Git checkout and
its clean-worktree, expected-origin, fast-forward-only safety rules. The
binary and source update paths remain isolated.
Acceptance and testing
scripts/test-binary-installer.sh invokes the packaged DFUBinaryInstaller
against signed synthetic bundles in a temporary directory. It covers success,
verification rollback, forced rollback failure, invalid transactions,
restrictive permissions, and no-op relaunch isolation without touching
/Applications, hardware, firmware, or the real application.
The release also stabilizes async polling/download tests by replacing timing
assumptions with explicit task and event synchronization.
Community trust model
Community artifacts are ad-hoc signed. Structural code-signature verification
and SHA-256 verification establish artifact integrity and expected structure;
they do not authenticate a publisher. Community builds do not have Apple
Developer ID publisher authentication or notarization.
DFUUtility 0.9.0 Community
DFUUtility 0.9.0 Community
DFUUtility 0.9.0 is an operator-focused Community release for technician DFU benches. Community artifacts are locally built and ad-hoc signed; Apple Configurator remains required for discovery, Restore, and Revive.
Highlights
- Reworked navigation around Restore & Revive, Device Capture, Firmware Library, Diagnostics, and About workspaces, with responsive sidebar/window behavior.
- Added read-only Device Capture with automatic/manual capture, stable identifiers where providers expose them, exact-serial QR codes, CSV export, and optional asset tags.
- Added independent macOS, iOS, and iPadOS Firmware Library browsing and clearer sequential batch Restore, Revive, and Restart presentation.
- Improved Mac DFU transition verification: evidence-sensitive missing-VDM-reply handling can verify success only after fresh same-ECID DFU rediscovery, without retrying the command.
- Added actionable updater guidance for missing or invalid Git source checkouts and dedicated-host accessory-readiness guidance without changing macOS security settings.
- Preserved exact product compatibility, cache validation, explicit destructive-operation selection, and structured Restore/Revive progress.
Physical acceptance
- MacBook Air M2 (
Mac14,2): Normal/DFU discovery, automatic DFU, Restore, Revive, structured progress, and restart/reconnect passed. - Newer Apple Silicon MacBook (
Mac17,6): discovery, automatic DFU, DFU rediscovery, macOS 26.6.2 / 25G83 Restore, structured progress, and restart to Normal passed. The tested machine required a documented port change; this is not a universal newer-Mac mapping. - iPhone 6 (
iPhone7,2): end-to-end Restore workflow passed. - iPad (7th generation) Wi-Fi (
iPad7,11): Normal/Recovery discovery, guided same-ECID DFU, firmware discovery/download/validation, and Recovery-mode Restore passed; detailed progress and restart verification remain pending. - Two simultaneous
iPad12,1Recovery targets: exact compatible assignment and explicitly selected sequential Restore passed. - Device Capture was physically accepted on an iPhone Normal session with serial, ECID, UDID, and QR display. Provider identifier availability varies by family and state.
These observations apply only to the named products and workflows. They do not claim universal Apple hardware coverage.
Distribution
DFUUtility is distributed under the Apache License 2.0. Bundled upstream Asahi Linux macvdmtool retains its own Apache-2.0 license, copyright, attribution, and recorded upstream revision.