github hewigovens/app-detective 1.6.0

5 hours ago

What's new since 1.5.3

Detection

  • Results are now traits grouped by kind, so an app can be SwiftUI and Swift and Sparkle at once instead of having a single stack.
  • Languages for every app: Swift, Objective-C, Rust, and Go, found in the app's executable, its own frameworks, and its extensions. Tailscale shows Go from its network extension; SwiftUI apps with a Rust core show both.
  • New kinds:
    • Graphics: Metal, OpenGL, Vulkan (MoltenVK).
    • Distribution: App Store, TestFlight, Developer ID, Apple, and ad-hoc signed, read from the code signature. App Store moves here from Updaters, and TestFlight builds are no longer reported as App Store.
    • Updaters: Sparkle, Squirrel, and Tauri Updater.
    • Security: App Sandbox, Hardened Runtime, and Notarized (when the ticket is stapled).
    • Background items: login items, launch agents and daemons, privileged helpers, and system extensions.
  • Bundles without an executable are reported as Other but keep what their contents show.
  • Cached results are re-detected on first launch.

Main window

  • The sidebar has a section per kind; pick one trait from each to combine filters.
  • App rows keep their tags to how the app is built (UI, language, renderer, updater); the inspector lists every kind.
  • The evidence list says which traits were inferred, such as AppKit and Objective-C when nothing more specific matched.
  • A trait filter stays visible after switching to a category without it, and an empty result offers Reset Filters.
  • File → Export Results… is disabled when no apps match, and CSV gets a column per kind.

Command-line tool

  • Text output prints one line per kind. In --json, traits is an object keyed by kind (ui, language, renderer, graphics, distribution, updater, security, background).
  • Unknown options are reported instead of being read as the app path.

Performance

  • Binaries are searched in place instead of through strings: Tern went from 3.7s to 0.6s, and a full /Applications scan takes a few seconds.

Don't miss a new app-detective release

NewReleases is sending notifications on new releases.