Skip to content

PkgLift v0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 20:26
· 53 commits to main since this release
320c8cb

PkgLift v0.1.0 is the first public release of a conservative CocoaPods-to-SwiftPM migration CLI for Apple projects.

Highlights

  • Analyze CocoaPods dependencies and existing Xcode targets without evaluating Ruby.
  • Generate reviewable migration plans with AUTO, REVIEW, BLOCKED, and UNKNOWN classifications.
  • Apply only fully evidenced AUTO migrations with clean-Git enforcement, backups, atomic rollback, and typed errors.
  • Add exact SwiftPM package and product references through the Xcode project model.
  • Preserve unknown pods, target blocks, unrelated Ruby, and remaining CocoaPods integration.
  • Structurally verify project parsing, package references, product links, and migrated Podfile declarations.
  • Validate the bundled registry of 10 verified mappings.

Install on Apple Silicon

Download both release assets, then run:

shasum -a 256 -c pkglift-macos-arm64.tar.gz.sha256
tar -xzf pkglift-macos-arm64.tar.gz
sudo mkdir -p /usr/local/libexec/pkglift /usr/local/bin
sudo cp pkglift /usr/local/libexec/pkglift/
sudo cp -R PkgLift_PkgLiftRegistry.bundle /usr/local/libexec/pkglift/
sudo ln -sf /usr/local/libexec/pkglift/pkglift /usr/local/bin/pkglift

Archive SHA-256:

4bae076b56d788413b6feaa65b0ec7e9b8f8567ed1f29e8cdfd3da858023d1c1

Verification

  • 74 automated tests passed: 69 XCTest and 5 Swift Testing tests.
  • Build, Test, Registry Validation, and final Release workflows passed on commit 320c8cb.
  • The downloaded public archive passed checksum, arm64, direct-execution, and symlink-installation smoke tests.
  • A missing registry bundle returns a typed error with exit code 1 instead of trapping.
  • A representative real Capacitor/CocoaPods project pilot produced zero unsafe AUTO migrations and no project mutation.

v0.1.0 limitations

  • Release binary targets Apple Silicon and macOS 14 or later.
  • Only CocoaPods-to-SwiftPM migrations are supported.
  • Automatic migration requires a verified registry mapping, a lockfile-backed semantic version, and exactly one destination target.
  • Dynamic Ruby, hooks, external pod sources, ambiguous targets, and unsupported configurations remain manual-review cases.
  • PkgLift does not run pod install automatically.

Release hardening