Skip to content

ipb 0.4.0 — reliable native deep AX snapshots

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:29
· 33 commits to main since this release
61ac445

ipb v0.4.0 fixes deep AX collection failures on dynamic login overlays and keyboards.

  • ipb ui --deep now takes the complete tree and rectangles from one native snapshot, without reconciling a separately collected ordinary AX graph.
  • Deep JSON changes to schema 2. --deep --full-state reports later state/role fields under each node's supplementalAX, with a separate status/count/error summary. Native fields are preserved. Consumers should check schemaVersion and the supplemental status.
  • An individual supplemental read failure returns nonzero (1, or 5 for a request timeout), but preserves a complete validated native tree after successful cleanup. Native/global-budget/cancellation/cleanup failures still produce no result. A nonzero exit is never full-state success.
  • Default ordinary ipb ui and element actions retain schema 1. Deep remains opt-in; observations are non-atomic and node IDs belong to one snapshot. No XCTest Runner or phone-side third-party app is required.

On iPhone 13 Pro / iOS 27.0, ten interleaved Bilibili login-overlay/numeric-keyboard trials improved from v0.3.0 deep 6/10 to native-only 10/10 and separated full-state 10/10, preserving all ten digit-key rectangles. A live close-overlay control returned AX error 8 during supplementation, exited 1 and retained the complete 170-node native tree.

The release candidate passes macOS 27 ARM64 native builds, 52 AX regressions and the host suite, archive/signature/startup/hash checks, and an actual precompiled Homebrew install/test. These package checks and the scoped local/USB-forwarded AX device results do not close the full supported native HID/media/interactive device matrix, which remains open. This release is published under the maintainer's explicit scoped authorization.

Requires macOS 27 ARM64 with compatible Xcode 27/CoreDevice development components and a paired iOS 27+ device. Optional AX Python dependencies remain separate. No Apple framework or DDI is bundled; signatures are ad-hoc, without Developer ID notarization.

See UI setup and schema, verification scope, and changes since v0.3.0.

Build/package/Homebrew verification: release run 38522264753. Tagged source: 61ac445eac29f173888766446f0450af999f1eb1.