Releases: lynnswap/PrivateHeaderKit
Releases · lynnswap/PrivateHeaderKit
v0.4.3
PrivateHeaderKit v0.4.3
Bug Fixes
Stabilize long macOS header dumps
- Fixed file-descriptor related failures that could interrupt
privateheaderkit-dumpduring long split dumps on macOS. - Improved skip/resume handling for large generated header trees so long-running dumps are less likely to fail under lower file-descriptor limits.
Improvements
- Renamed the dump/install entrypoint source files away from
main.swiftto avoid spurious@maindiagnostics in Xcode while keeping CLI builds working.
Full Changelog: v0.4.2...v0.4.3
v0.4.2
PrivateHeaderKit v0.4.2
Bug Fixes
- Avoid case-insensitive Objective-C header filename collisions so distinct Matter symbols no longer overwrite each other during dumps.
- Make
privateheaderkit-dumpmore resilient by strengthening Objective-C runtime fallback and by resuming only from outputs marked as complete after partial failures. - Reuse completed outputs when switching between
--layout headersand--layout bundle, so layout changes no longer force a full re-dump.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
PrivateHeaderKit v0.4.1
Bug Fixes
- Avoid clone failures when the selected iOS simulator is already Booted by choosing a safer default device and only cloning from Shutdown state.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
PrivateHeaderKit v0.4.0
New Features
Dump specific targets with --target
- Add
--target(repeatable) to dump individual frameworks, SystemLibrary bundles, and/usr/libdylibs. - Add presets:
@frameworks,@system,@all. - Enable nested bundle dumping (
XPCServices/PlugIns) by default; add--no-nestedto disable.
Cleaner output names for --layout headers (default)
- Strip common bundle suffixes from output directories:
.framework,.app,.bundle,.xpc,.appex.
Bug Fixes
- Harden SystemLibrary target normalization and skip behavior (layout handling, symlink dylibs, nested bundles).
- Remove stale SystemLibrary output when switching layouts.
Documentation
- Update README (EN/JA) for
--targetpresets,--no-nested, and suffix stripping behavior.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
PrivateHeaderKit v0.3.0
New Features
Add macOS header dumping support
- Add
--platform macos(andPH_PLATFORM) to dump host macOS frameworks and private frameworks. - Write macOS outputs under
~/PrivateHeaderKit/generated-headers/macOS/<version>while keeping iOS output behavior unchanged.
Expand interactive target selection
- Add a
macOStarget choice in interactive mode so users can switch platforms without extra flags.
Bug Fixes
- Improve shared-cache fallback handling for macOS frameworks that resolve through versioned image paths.
- Re-validate platform-specific arguments after interactive target selection to reject invalid combinations earlier.
- Prevent invalid macOS selections when simulator mode is explicitly requested or when platform is pinned to iOS.
- Forward profiling environment variables to simulator child processes so profiling flags work consistently.
Improvements
- Improve dump progress output with inline elapsed timing and clearer completion summary.
- Add optional Swift dump phase profiling/event timing logs via
PH_PROFILE/PH_SWIFT_EVENTS.
Full Changelog: v0.2.5...v0.3.0
v0.2.5
PrivateHeaderKit v0.2.5
New Features
- Add Swift-based CLIs:
privateheaderkit-install(installer) andprivateheaderkit-dump(header dumping). privateheaderkit-dumpcan list runtimes/devices (--list-runtimes,--list-devices) with optional--jsonoutput.- Default dump output directory is now
~/PrivateHeaderKit/generated-headers/iOS/<version>(override with--out/PH_OUT_DIR).
Bug Fixes
- Improve dump reliability: avoid pipe deadlocks, validate repo root, and terminate/clean up subprocesses on SIGINT/SIGTERM.
- Add fallbacks when simulator boot or
simctlcommands fail. - Honor
PH_OUT_DIRconsistently (interactive and non-interactive), ignore empty env values, and return non-zero exit codes on errors. - Fix install destination precedence and validation: ignore empty
PREFIX/BINDIR, let--prefixoverride envBINDIR, and exit non-zero on unsupported platforms. - Support
xcodebuild -listoutput when parsing project schemes.
Documentation
- Clarify relative path resolution for
--out/PH_OUT_DIR.
Improvements
- Pin Swift package dependencies to tagged versions for more reproducible builds.
Other Changes
(User-facing only: minor compatibility changes, small UX tweaks, accessibility improvements, localization updates)
- Remove the legacy
scripts/dump_headersscript (useprivateheaderkit-dumpinstead).
Full Changelog: v0.2.4...v0.2.5
v0.2.4
PrivateHeaderKit v0.2.4
Bug Fixes
- Make
dump_headers --forcereplace successful framework output directories (includinglayout=headersnormalization) to avoid stale headers; failures keep existing output and are recorded in_failures.txt. - Honor the hidden
--skip-existingflag when provided.
Documentation
- Clarify
--forcebehavior in the README. - Align
headerdump -chelp text with dyld shared cache usage.
Full Changelog: v0.2.3...v0.2.4
v0.2.3
PrivateHeaderKit v0.2.3
Improvements
- Rename the CLI product and output messaging to
headerdump(binary name, errors, runtime logs). - Split rebuild controls:
--clean-buildclears.build,--rebuildrebuildsheaderdumponly, and env var is nowPH_REBUILD_HEADERDUMP.
Documentation
- Clean up README usage notes and align options with current flags.
Full Changelog: v0.2.2...v0.2.3
v0.2.2
PrivateHeaderKit v0.2.2
New Features
- Prefer simulator execution by default with host fallback when simulator setup fails.
- Add clean-build flags (
--clean-build/--cleanbuild/--rebuild) to clear.buildbefore rebuilding classdump-dyld.
Documentation
- Document clean-build/rebuild options in the README.
Full Changelog: v0.2.1...v0.2.2
v0.2.1
PrivateHeaderKit v0.2.1
New Features
- Automatically clone and use a default Simulator device when none is specified (
Dumping Device (iOS <version>))
Bug Fixes
- Avoid failures with long header names by generating safe filenames with a stable hash
- Auto-boot the Simulator and retry when it isn’t running
Improvements
- Add
--rebuild-classdump/PH_REBUILD_CLASSDUMP=1to force rebuildingclassdump-dyld - Prefer the newest host/simulator binary when both exist
Other Changes
- Move core logic to
HeaderDumpCoreand add CLI tests - Update
Package.resolved
Full Changelog: v0.2.0...v0.2.1