v5.0.8-05b0a45
What's new
Allow event streaming
Allow events are now opt-in over XPC to reduce CPU usage. The events screen subscribes only while visible; other clients no longer receive allow-event traffic, cutting serialization and IPC overhead. Subscribers get a newest-first backfill of buffered allow events on subscribe so the UI populates immediately. Deny events continue to reach all GUI clients. If opfilter restarts while the events screen is visible, the client re-subscribes automatically on reconnect.
Window and dock behaviour
Closing the main window (red traffic light) now hides it cleanly and removes the dock icon. Reopening from the menu bar restores the window and brings the dock icon back. Previously the window closed but the dock icon could linger inconsistently.
Bundle protection — ancestry trust
BundleProtectionEvaluator now performs ancestry trust checks before allowing bundle updates, with wildcard-aware matching in BundleUpdaterSignature. com.apple.MobileInstallationHelperService is trusted as an App Store installer.
Internal
- Refactor: ancestor updater predicate extracted; magic path string removed.
Commits
05b0a45re-subscribe to allow event stream on reconnect when events screen active72a60beintercept window close to hide and toggle dock icon visibility95a2350wire client-side allow event stream callsdd55191expose allow-event stream via XPC protocol and wire server345e25ebeginAllowStream returns allow-only backfill newest-first23e4c8afilter allow events to subscribed clients only in broadcast()b8a6d34add allow-stream subscription state to EventBroadcasterc17e090trust com.apple.MobileInstallationHelperService as app store installera404e56extract ancestor updater predicate and remove magic path string3071b7badd ancestry trust checks to BundleProtectionEvaluatorc00bbc6add wildcard-aware matches() to BundleUpdaterSignature