Skip to content

v0.3.0

Latest

Choose a tag to compare

@lynnswap lynnswap released this 08 Jul 09:01
aaa9a7b

WebInspectorKit v0.3.0

Breaking Changes

  • Replaced the public SDK product split: WebInspectorCore, WebInspectorTransport, WebInspectorNativeBridge, WebInspectorNativeSymbols, and WebInspectorUI are no longer public library products.
  • Introduced WebInspectorProxyKit, WebInspectorDataKit, and WebInspectorProxyKitTesting as the supported SDK layers. WebInspectorKit remains the built-in UIKit inspector product.
  • Moved native bridge, symbol resolution, and transport internals behind WebInspectorProxyKit; SDK consumers should no longer import those implementation targets directly.

New Features

  • Added WebInspectorProxyKit with WebInspectorProxy, WebInspectorTarget, typed DOM/CSS/Network/Console/Runtime/Page command clients, and domain event streams.
  • Added WebInspectorDataKit with WebInspectorContainer, WebInspectorContext, observable DOM, Network, Console, Runtime, and CSS models, fetched results APIs, and typed domain controllers.
  • Added WebInspectorProxyKitTesting for exercising ProxyKit/DataKit consumers without the native WebKit bridge.
  • Added DataKit-backed DOM tree snapshots, DOM editing operations, CSS style sections/property editing, Runtime object models, Console messages, Network request queries, redirects, body fetch state, and WebSocket lifecycle state.

Improvements

  • Rebuilt the built-in UIKit inspector on top of DataKit while keeping the app-facing WebInspectorViewController / WebInspectorSession facade.
  • Improved DOM rendering and updates with streamed tree snapshots, mutation deltas, selection reveal handling, picker highlight restoration, and undo/redo handling.
  • Improved Network list performance and correctness with fetched-results-driven updates, off-main request diffing, stable filtering/searching, redirect preservation, and body preview fetch lifecycle handling.
  • Hardened ProxyKit target routing, current-page retargeting, event stream closure, command reply decoding, and navigation lifecycle recovery.
  • Hardened native inspector symbol resolution on older iOS runtimes.

Bug Fixes

  • Fixed stale async Network request updates from mutating retired request identities.
  • Fixed selection and content cache invalidation across filters, context changes, detach, retarget, and presentation lifecycle changes.
  • Fixed CSS hydration, stale style refreshes, hidden CSS protocol payload exposure, and selected-style invalidation after DOM/CSS changes.
  • Fixed DOM picker selection highlighting, frame document projection, keyboard commands, multi-delete undo behavior, and stale undo/redo actions.
  • Fixed target-scoped Console, DOM, Runtime, Network, and CSS protocol state across page/frame retargeting.

Documentation

  • Updated README and architecture docs for the new WebInspectorProxyKit / WebInspectorDataKit / WebInspectorKit SDK split.
  • Added ProxyKit and DataKit package READMEs.
  • Added WebKit runtime version mapping notes.

Migration Notes

  • Use WebInspectorKit for the built-in UIKit inspector UI.
  • Use WebInspectorDataKit for custom UIs that want observable inspector models.
  • Use WebInspectorProxyKit for custom UIs that want typed protocol commands/events directly over an inspected WKWebView.
  • Remove imports of WebInspectorCore, WebInspectorTransport, WebInspectorNativeBridge, WebInspectorNativeSymbols, and WebInspectorUI from SDK consumer code.

Full Changelog: v0.2.0...v0.3.0