Repository navigation
[0.3.0] - 2026-09-29
Added
- Persistent build-identity badge in the app header showing the running build's version and short git hash, so a stale bundle is instantly recognizable; the backend logs the same identity at startup and exposes it over typed IPC.
- Language quick-select chips on the match wizard review step: one toggle per language detected in the plan, plus an Other group for undetected subtitles; detected languages are resolved backend-side and attached to match plans.
- Canonical dev launcher (
npm run dev:app) that sweeps orphaned app/vite processes and stale port holders before launching, ending stale-webview sessions from bare restarts.
Fixed
- Header tagline truncates cleanly at the minimum window width instead of clipping the version badge; the badge carries no fallback string, so its absence stays a reliable stale-bundle signal.
- Build identity capture watches unborn symbolic refs and degrades gracefully when no git hash is available.
- Version formatter isolated into its own module so Fast Refresh continues to work on the header.
Installation Notes & Security Caveats
This release is distributed without Apple Developer or Windows Authenticode code-signing signatures.
Linux Compatibility Floor
- Built against glibc 2.39 (Ubuntu 24.04+, Debian 13+, Fedora 40+). Prebuilt binaries require glibc 2.39 or newer on Linux systems.
macOS Security Gatekeeper
- Unsigned binaries trigger macOS Gatekeeper ("SubX is damaged and can't be opened"). Remove the quarantine attribute after installation:
xattr -dr com.apple.quarantine /Applications/SubX.app
Windows SmartScreen
- Windows Defender SmartScreen may show an untrusted publisher warning on launch. Click More info, then select Run anyway.
Verifying Build Provenance
- Verify the authentic build provenance of any released asset using the GitHub CLI:
gh attestation verify <file> --repo jim60105/subx