Releases: lynnswap/PrivateHeaderKit
Releases · lynnswap/PrivateHeaderKit
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
v0.2.0
PrivateHeaderKit v0.2.0
New Features
- Default to skipping existing headers; add
--force/PH_FORCEto re-dump, plus--layoutto choosebundlevsheadersoutputs. - Stage output under
.tmp-<run-id>and lock the output directory to prevent concurrent writes and partial results. - Use dyld shared cache by default; add
--shared-cache/PH_SHARED_CACHEcontrols. - Build
classdump-dyldwith SwiftPM from this repository (no submodule).
Bug Fixes
- Improve runtime fallback (dlopen path resolution, class list iteration safety) to reduce missing classes.
- Handle simulator runtimes more reliably (shared cache checks, x86_64 Mach-O support).
Documentation
- Update CLI options and environment override notes in README.
Other Changes
- Remove user-specific/generated files from version control.
Full Changelog: v0.1.0...v0.2.0