v7.0.0
v7.0.0: The Intelligence & Polish Update
Recommendation Engine Overhaul
- New buildPreferenceProfile with score-weighted averaging, trait frequency, and variance
- Adaptive N for top traits selection (elbow detection, min 2 max 6)
- Top 2 traits get 1.5x boost for sharper recommendation signals
- Parallel characteristics fetch via async let for faster cold-cache loads
- Task cancellation prevents stale results from overlapping requests
Welcome Screen & Onboarding
- First-launch welcome sheet with TMDB API key setup guide and demo mode
- Re-accessible via Settings → Connect → Help → Show Welcome Screen
Search UX Improvements
- Escape dismisses search and clears the search query
- Search no longer replaces navigation stack
Copy Title & Toast Feedback
- Context menu and toolbar button to copy title
- Toast feedback for: copy title, state cycling, mark watched, taste changes, add to library
Continue Watching Fix
- Episode toggle now properly updates lastInteractionDate in onWatchedToggle
Networking Improvements
- 5xx server errors retried with exponential backoff
- Custom timeouts: 15s API, 10s images
- OMDB cache TTL extended to 30 days
- Backdrop images saved at w1280 (fixes Retina upscaling)
Performance & SwiftData
- propertiesToFetch on full-object fetches
- DiscoveryCard animation fix, ScrollVelocityTracker throttled
- ImageCache disk pruning every 50th save
Settings & Code Quality
- Auto-complete toggle removed, debug section hidden
- Dead code removed, memory leak and data race fixes
- macOS 14 minimum, universal binary for Apple Silicon + Intel