Changelog
What's new.
Recent releases of ShotSelect for macOS. Apple Silicon and Intel.
Test pyramid expansion
Behind-the-scenes release — 160 new component tests across a 5-layer pyramid; caught 5 real bugs during authoring. No user-visible changes.
- CHORE5-layer test pyramid (static · L2 component · L3 visual · e2e · smoke) with 160 L2 tests across 57 files.
CI: x64 release pipeline back in service
Internal-only release. Restores the Intel-Mac build pipeline; no user-visible app changes.
- CIx64 smoke-launch now tolerates cold-cache Rosetta translation on macOS 26.1 self-hosted runners (300 s cap with heartbeats; first run absorbs the AOT translation, subsequent runs finish in ~10 s).
Best-of-burst grouping + Rust EXIF pipeline
Burst groups now collapse into one keeper automatically — picked by sharpness, not order. Plus a meaningful speed bump for big imports.
- FEATBest-of-burst — rapid-fire sequences group automatically and the sharpest frame is surfaced as the keeper.
- PERFRust-powered EXIF reader speeds up burst grouping ~11.5× on cold import (replaces the exiftool subprocess fan-out).
- FEATRemove session from history with 5-second undo on the home screen.
- FEATAnonymous diagnostics vocabulary expanded to 37 events; wired across panels and main-process boot. Default opt-in, controlled via Settings → Privacy.
- CIPackaged DMGs now smoke-launch before publishing — a boot crash can never ship.
Duplicate IPC hotfix
Fast follow on 1.3.1.
- FIXRemoved duplicate IPC handler registrations that crashed on boot for some users. Added a static gate so the regression cannot return.
Privacy UI, About modal, and first-run consent
A reset on how ShotSelect talks about privacy in the app and on the site. Plus an About modal, release-notes in the update banner, and clearer telemetry controls.
- FEATAbout modal, Help menu items, and a Settings legal section with the canonical privacy phrasing.
- FEATFirst-run privacy + terms acknowledgment footer.
- FEATTier-A anonymous diagnostics — clearer tier labels, per-tier preview, decline button. Default opt-in.
- FEATTier-C crash prompt with the "ask once" flow and a pending-crash queue (no data leaves your Mac unless you allow it).
- FEATUpdate banner now reveals release notes with progressive disclosure.
- FEATMarketing site: security.txt, /security, /status, and an RSS feed for releases.
- FIXMobile horizontal-scroll on shotselect.app.
Smarter on-device search
Search now spans EXIF, dates, and a persistent CLIP cache — repeated queries hit warm indexes instead of re-scanning the disk.
- FEATSearch reads EXIF + capture dates alongside CLIP semantic embeddings.
- FEATPersistent CLIP cache + force-index UI to rebuild on demand.
- PERFThumb disk cache makes repeated grid scrolls near-instant.
Export redesign
Re-exporting the same folder is now safe and predictable.
- FEATExport panel redesigned with a quick popover, simplified two-option cleanup, and idempotent re-export — running export twice on the same selection produces the same result.
Drop-folder ingest hero + redesigned site
Faster onboarding for first-time users, plus a top-to-bottom website refresh.
- FEATDrop-folder hero at the top of Ingest — drag-and-drop a wedding folder anywhere on the panel; plain-English copy and clearer empty state.
- FEATLive PhotoDeck demo on shotselect.app — auto-cycles through a wedding cull and accepts
↑↓←→TSkeys to take over. - FEATSpotlight-style AI search and TagHud chip-rail mockups across the marketing site, mirroring the in-app components.
- FIXKeyboard-mapping accuracy on guides and landing pages: 1–5 stars (0 clears), 6–9 colour labels (red, yellow, green, blue) — no purple.
- PERFHardened SEO + AI-search visibility: FAQ + HowTo JSON-LD, robots.txt opt-in for GPTBot/ClaudeBot/PerplexityBot, tightened CSP and SRI on the marketing site.
Mobile-friendly site, polished tag HUD, faster grid
Touch-up release: better filtering UX, mobile site behaviour, and a quieter top bar.
- FEATTag HUD redesign — Tab chips, mode pill, always-visible ←/→ navigation, redesigned per the in-app design system.
- PERFPersistent
photo_metadatacache + io-gated grid view. Repeated grid loads are now near-instant. - FEATNative macOS integrations + menu-bar cleanup. Cmd-keys behave like a native Mac app.
- FIXOnboarding coachmark now centers on the deck, not the viewport.
Device timeline + workflow stage chip
Resume-mid-cull and bulk-mount banners for photographers shooting across multiple drives.
- FEATDevice timeline: workflow stage chip, resume hero, scan cache, bulk-mount banner.
- FIXRelease pipeline: hoist
version_numassignment so--no-waitdoesn't tripset -u.
Auto-chained version-bump → build
CI/release tooling: version bumps now flow into a build automatically, no manual chaining required.
- CIRelease script auto-chains version-bump to build via
release_pat+scripts/release.sh.
Settings perf, theme alignment, app header polish
Refinement release across settings, theme, and the top bar.
- PERFSettings & presets faster on first paint.
- FEATTheme alignment across the app — light mode parity for new screens.
- FEATApp header refresh — quieter, less crowded.
Distributed settings + spotlight queries
Foundation for cross-device session sync (currently behind a flag) and richer spotlight search.
- FEATDistributed settings — opt-in cross-device session sync (beta).
- FEATSpotlight expanded query coverage (search, lifecycle, exhaustive coverage tests).
Phase A export panel + redesign
Export pipeline rewrite — significantly faster, with a cleaner panel UI.
- FEATExport panel redesign — staged, with deeper preview controls.
- PERFExport pipeline rewrite — cleanup-routes-to-export now uses a tight pull-loop.
Workflow marathon & multi-source ingest
Built and tested for the worst case: 30k frames across 4 sources, no slowdowns.
- PERFWorkflow marathon — sustained-throughput stress tests across multi-hour sessions.
- FEATMulti-source ingest — pull from multiple SD cards or folders into one cull session.
CLIP indexing + cross-session search
On-device semantic search, persistent across sessions, with multi-device share-back.
- FEATCLIP indexing flow with cross-session search index reuse.
- FEATSearch examples, search coverage, union queries.
- FEATFull-drive index mode for single-folder searches across an entire archive.
Preset discoverability + filter bar polish
A pass on filtering and presets so first-time users find the controls.
- FEATPreset discoverability — first-time tooltips, kbd hints, preset menu.
- FEATFilter bar UX — clearer chip states, faster mode switching.
Older releases
The most recent 9 releases are summarised above. For older patch versions or the full history, email [email protected].
Subscribe
No newsletter yet — we'll add one when we have something worth telling you about. For now, email [email protected] and we'll let you know when major versions ship.
Get the latest build
v1.3.0 · ~250 MB · Apple Silicon & Intel · macOS 12+
Related