Releases

Changelog

Every change to UIScope, documented. Follows Keep a Changelog and Semantic Versioning.

v1.0.0 5 June 2026 Latest

First public release — all four product modes ship in a single installer.

Added — PC Inspector
  • Live accessibility tree inspection for any window on Windows, macOS, and Linux
  • Windows UIAutomation via JNA — no C++ code, pure Kotlin
  • macOS AX API via JNA (ApplicationServices.framework)
  • Linux AT-SPI2 via JNA (D-Bus / atspi-2.0)
  • Alt+Shift+P global hotkey — locks pick mode on the element under the cursor from any app
  • Hover highlight overlay drawn live on the desktop (always-on-top overlay window)
  • PC code generation: AutoHotKey v2, Python pywinauto, C# FlaUI, PowerShell
Added — Android Inspector
  • USB and wireless ADB device discovery (auto-scans every 5 s)
  • UIAutomator tree dump via adb exec-out uiautomator dump /dev/tty — no on-device agent
  • Live screencap refresh (configurable 1–30 s interval)
  • Bidirectional selection — click node → highlight on screenshot; click screenshot → select node
  • Wireless ADB: pre-Android 11 IP connect + Android 11+ pairing code flow
  • Android code generation: Python uiautomator2, Kotlin UIAutomator2, Appium Java, Appium Python, Maestro YAML, XPath
Added — Shared Inspector
  • Three-panel layout: Element Tree | Device Canvas | Properties panel
  • Properties panel: all node fields, one-click copy per field, "Fragile selector" warning badge
  • Breadcrumb bar — full ancestor path, click any crumb to jump up
  • Bookmarks — pin/unpin any node, persisted to SQLite
  • Search / filter (Ctrl+F) — fuzzy match across all node fields in real time
  • Export: JSON, XML, UIAutomator outline
  • Session auto-save to ~/.uiscope/uiscope.db + screenshot on every capture
Added — Diff Mode
  • Pick any two saved sessions and compare them side-by-side
  • Three-column view: added (green), removed (red), changed (amber)
  • Property-level diff for changed nodes
Added — Watch Mode
  • Define rules: element appears / disappears / text matches / text changes
  • Continuous monitoring on connected Android device
  • Toast notification + log entry when a rule fires
Added — App Shell
  • Launcher screen — mode picker with last-mode memory
  • Onboarding screen — first-run ADB and OS accessibility check with one-click fixes
  • History screen — browse, search, and re-open past sessions
  • Settings screen — ADB path, polling interval, theme, export format, screenshot quality, tray behaviour, startup mode
  • System tray (Windows / Linux) with quick-launch menu
  • Global hotkeys: Alt+Shift+P (pick), Alt+Shift+R (refresh), Ctrl+F (search)
  • Auto-update check at launch — silent GitHub Releases API call, animated banner if newer version found
  • Multi-window: File → New Window (Ctrl+Shift+N) opens a fully independent second inspector
  • Native menu bar: File + View on every window; dark/light theme toggle in View menu
Added — Distribution
  • Windows: EXE (NSIS), MSI (enterprise), MSIX (Microsoft Store / WinGet)
  • macOS: DMG, PKG — optional notarization via GitHub secrets
  • Linux: DEB (Ubuntu/Debian), AppImage (universal)
  • GitHub Actions CI — auto-builds all 7 installer formats on every v*.*.* tag push
  • Published to Microsoft Store
Technical
  • Kotlin 2.0.0 / Compose Multiplatform Desktop 1.6.11
  • JVM target 19 (GraalVM CE 22.3.1 for local dev; Temurin 21 in CI)
  • SQLDelight 2.0.2 — SQLite at ~/.uiscope/uiscope.db
  • JNA 5.14.0 — pure Kotlin bindings to OS accessibility APIs, no native code
  • jnativehook 2.2.2 — system-wide hotkeys without OS permission dialogs
  • Software renderer forced on Linux (-Dskiko.renderApi=SOFTWARE) for VNC/headless stability
v0.1.0 1 May 2026 Internal skeleton

Internal project scaffold — not publicly released.

Added
  • Gradle multi-module project scaffold: core / engine / ui / app
  • SQLDelight schema: sessions, bookmarks, app_settings tables
  • Core data models: ElementNode, Session, Bookmark, DiffResult, WatchRule
  • LauncherScreen and OnboardingScreen skeletons
  • Compose Multiplatform Desktop wired up with UiScopeTheme (Material 3, dark default)