Changelog
All notable changes to RideLens, newest first.
v2.1.0
May 14, 2026
Sprint 1 · versionCode 40
- Android 16 (API 36) — full compatibility verified
- Network security config: HTTPS-only, cleartext HTTP disabled globally
- Crashlytics integrated (disabled in debug builds; custom keys: parserVersion, versionCode, flavor)
- ProGuard rules optimized for ML Kit, Compose, Hilt, Room, Firebase
- 9-step onboarding wizard: Welcome → Auth → Accessibility → Overlay → Notifications → Battery → MP → Threshold → Done
- Threshold step: dual sliders with live preview ($30/$20 defaults)
- "Şimdilik geç" skip button on optional steps (Auth, MediaProjection)
- "Yenilikler" bottom sheet shown on first launch after upgrade
- About screen: version info, Privacy Policy, Terms, GitHub, support email
- CHANGELOG.md created retroactively with full hotfix history
v2.0.1
May 12, 2026
HOTFIX 16E
- AGENT_CONTEXT.md — AI agent bootstrap document added
- .cursorrules — Cursor editor guidelines
v2.0.1
May 11, 2026
HOTFIX 16C
- 2 new shift-replay fixtures for Vardiya 6 edge cases
- Lyft:
$27.03/hr est. rateno longer mis-parsed as fare — /hr exclusion regex - UsLyftSanitizerEdgeCaseTest: 4 new tests
v2.0.1
May 10, 2026
HOTFIX 16B
- Fixed: rescan budget never reset → after first 3 skips, no further rescans fired
- Fix: reset rescanCount when package changes or gap > 30s
v2.0.1
May 9, 2026
HOTFIX 16A
- Fixed: Lyft offer missed when fare line absent in OCR — was Failure, now Partial(["fare"]) → triggers rescan
v2.0.0
April 25, 2026
Major rewrite
- Full Kotlin + Jetpack Compose rewrite from Java
- :core module — pure JVM: Offer, Grade, Thresholds, Grader, CostModel
- Floating HUD overlay with drag support (DraggableHostView)
- UsUberSanitizer + UsLyftSanitizer with 620+ fixture snapshot tests
- Room database, Hilt DI, ML Kit OCR, product flavors (base/full)
- Grading by gross $/hr (not net) — HOTFIX 14
- MediaProjection crash fix — ViewTreeLifecycleOwner — HOTFIX 15