Skip to content

Releases: lynnswap/PrivateHeaderKit

v0.4.1

18 Feb 16:57
dc543dd

Choose a tag to compare

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

12 Feb 18:19
f342554

Choose a tag to compare

PrivateHeaderKit v0.4.0

New Features

Dump specific targets with --target

  • Add --target (repeatable) to dump individual frameworks, SystemLibrary bundles, and /usr/lib dylibs.
  • Add presets: @frameworks, @system, @all.
  • Enable nested bundle dumping (XPCServices / PlugIns) by default; add --no-nested to 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 --target presets, --no-nested, and suffix stripping behavior.

Full Changelog: v0.3.0...v0.4.0

v0.3.0

11 Feb 12:39
e22fda5

Choose a tag to compare

PrivateHeaderKit v0.3.0

New Features

Add macOS header dumping support

  • Add --platform macos (and PH_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 macOS target 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

10 Feb 19:46

Choose a tag to compare

PrivateHeaderKit v0.2.5

New Features

  • Add Swift-based CLIs: privateheaderkit-install (installer) and privateheaderkit-dump (header dumping).
  • privateheaderkit-dump can list runtimes/devices (--list-runtimes, --list-devices) with optional --json output.
  • 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 simctl commands fail.
  • Honor PH_OUT_DIR consistently (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 --prefix override env BINDIR, and exit non-zero on unsupported platforms.
  • Support xcodebuild -list output 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_headers script (use privateheaderkit-dump instead).

Full Changelog: v0.2.4...v0.2.5

v0.2.4

05 Feb 19:30
f7ec422

Choose a tag to compare

PrivateHeaderKit v0.2.4

Bug Fixes

  • Make dump_headers --force replace successful framework output directories (including layout=headers normalization) to avoid stale headers; failures keep existing output and are recorded in _failures.txt.
  • Honor the hidden --skip-existing flag when provided.

Documentation

  • Clarify --force behavior in the README.
  • Align headerdump -c help text with dyld shared cache usage.

Full Changelog: v0.2.3...v0.2.4

v0.2.3

02 Feb 16:04

Choose a tag to compare

PrivateHeaderKit v0.2.3

Improvements

  • Rename the CLI product and output messaging to headerdump (binary name, errors, runtime logs).
  • Split rebuild controls: --clean-build clears .build, --rebuild rebuilds headerdump only, and env var is now PH_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

02 Feb 03:36
ee909f9

Choose a tag to compare

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 .build before rebuilding classdump-dyld.

Documentation

  • Document clean-build/rebuild options in the README.

Full Changelog: v0.2.1...v0.2.2

v0.2.1

01 Feb 18:45
3c5a59c

Choose a tag to compare

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=1 to force rebuilding classdump-dyld
  • Prefer the newest host/simulator binary when both exist

Other Changes

  • Move core logic to HeaderDumpCore and add CLI tests
  • Update Package.resolved

Full Changelog: v0.2.0...v0.2.1

v0.2.0

01 Feb 16:05

Choose a tag to compare

PrivateHeaderKit v0.2.0

New Features

  • Default to skipping existing headers; add --force/PH_FORCE to re-dump, plus --layout to choose bundle vs headers outputs.
  • 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_CACHE controls.
  • Build classdump-dyld with 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

v0.1.0

01 Feb 02:17
62ce9a1

Choose a tag to compare

PrivateHeaderKit v0.1.0

New Features

  • Initialize PrivateHeaderKit with header dump script, docs, and classdump-dyld submodule.
  • Auto-initialize classdump-dyld submodule when missing.