ShiftMiles
Change Log
User-facing release history for ShiftMiles. Newest releases appear first and changes are grouped by category.
Production releases
ShiftMiles 1.0.0 will be the first production release. Once published, production release notes will appear here, newest first.
Pre-release version history — versions 1.1.0–1.2.2
Earlier ShiftMiles version notes are kept here for reference.
ShiftMiles 1.2.2
Improved
- Voice-entry pause handling: Voice entry now stays active across natural pauses, combines recognition chunks, and allows up to 15 seconds of continuous silence before ending automatically. The displayed timeout is tied to the same setting used by the recognizer.
Fixed
- Backup password consistency: Encrypted backups now consistently accept the intended minimum of 8 characters throughout the backup flow.
- Restore tracking privacy: Restoring a backup now preserves the target device's existing Automatic Drive Tracking and Tracking mode settings instead of importing those privacy-sensitive settings from the backup source.
ShiftMiles 1.2.1
Added
- Notification preferences: Added a dedicated Notifications screen with separate controls for tracking problems, forgotten trips & Work Shifts, backup warnings, and the daily mileage-review notification. Android's required tracking-status notification remains separate.
- Exact daily mileage-review notification: Users can choose the local time for a once-per-day mileage-review check. ShiftMiles stays quiet when nothing needs review and opens the mileage-review flow when action is required.
- Named support requests: Report / Request now requires the user's name as well as a reply email so support confirmations and replies can address the customer correctly. The name is submitted with that support request and is not added to the ShiftMiles account/profile model.
Improved
- Notification timing: Daily mileage-review timing now uses Android's exact-alarm scheduling instead of an approximate background-work window. On Android versions that require it, ShiftMiles explains and requests Alarms & reminders access rather than silently falling back to late delivery.
- Notification recovery: The selected daily review schedule is restored after reboot, app replacement, clock or time-zone changes, and exact-alarm permission changes. Legacy scheduled review work is canceled to avoid duplicate notifications.
- Notification identity: Tracking status, daily review, and important ShiftMiles alerts now share a consistent monochrome ShiftMiles notification icon so the app is easier to recognize in the status bar and on the lock screen.
- Important tracking alerts: Optional tracking-problem notifications now warn when Automatic vehicle tracking is enabled but cannot operate because Tracking mode, Precise Location, Physical Activity, background location, Android Location Services, or restart restoration is unavailable.
- Forgotten trip & Work Shift alerts: Important alerts now focus on stopped GPS trips that still need finishing, unusually long manual trips, and over-threshold Work Shifts instead of treating every long active GPS drive as a problem.
- Backup warning escalation: Backup protection alerts use meaningful age stages and avoid repeatedly posting the same unresolved warning. Wording now naturally explains how many days of data have not been backed up.
- Backup actions and navigation: Backup warnings in Checks & Reminders and Android notifications now lead directly to Backups. Android backup warnings include a Create a backup action, including when App Lock must be passed first.
- Backup-state reconciliation: Successfully saving an encrypted ShiftMiles backup or readable/restorable ZIP now clears the pending backup-risk state and removes the corresponding warning instead of leaving the reminder behind.
- Backup restore file selection: Restore no longer opens with an unrestricted all-files picker. ShiftMiles uses its backup MIME type for new encrypted backups, keeps compatible ZIP/JSON options for older backups, rejects APK/AAB and common executable/package files, and validates selected content before showing the destructive restore confirmation.
- Large local backups: Removed the fixed 64 MB restore-input limits, 32 MB ZIP JSON limit, and 64 MB encrypted-payload limit. ShiftMiles no longer imposes an arbitrary app-level backup-size ceiling; practical limits depend on the device's available resources.
- First-run tracking setup: Enable GPS Tracking now launches Android's foreground Location permission request first, then continues through Physical Activity and Notifications as needed. Approximate-only Location keeps the existing Precise Location explanation/retry path, while Allow all the time remains a separate Automatic Tracking step.
- Voice-entry pause tolerance: Added longer silence hints and segmented recognition where supported so natural pauses are less likely to cut off speech or replace earlier segments. The more reliable 15-second pause handling followed in 1.2.2.
- Support identity consistency: Manual-share fallback reports include the same user-entered name as centralized support submissions, and older clients that still send a generic app-user label are handled without producing an awkward customer greeting.
Fixed
- Clean-install GPS enable action: Fixed a first-run regression where tapping Enable GPS Tracking could stop at ShiftMiles' internal Precise Location state without launching Android's actual permission prompt.
- Backup reminder destination: Fixed backup items in Checks & Reminders opening Security / App Lock instead of the Backups screen.
- Backup reminder clearing: Fixed backup warnings remaining active after a successful manual backup was actually written to the selected destination.
- Restore-file error handling: Fixed unrelated files such as APKs being offered as restore candidates and then producing misleading backup-size errors.
- Automatic-trip arrival integrity: Android STILL activity is now supporting evidence only and can no longer establish an authoritative trip endpoint or end time. Credible resumed driving invalidates stale stationary candidates.
- Automatic-stop confirmation: A real vehicle-exit event can begin stop confirmation without requiring a later walking event, while resumed vehicle movement immediately cancels the pending stop and fully returns the tracker to the driving state.
- Destination and end-time accuracy: Confirmed parking coordinates and arrival timing are preferred over stale stationary metadata, and the confirmed parking point is preserved as the saved route endpoint so map completion and address autofill stay aligned.
- Important-alert reconciliation: Unresolved important alerts are no longer treated as already delivered when Android notification permission prevents posting, and resolved alert notifications are reconciled instead of remaining stale.
ShiftMiles 1.2.0
Added
- Guided first-run tutorial: New users can follow an interactive walkthrough across Track, Trips, Work, CashFlow, Reports, and Settings, including Checks & Reminders, Feedback, Help & Feedback, and the Privacy Policy. The tutorial can be replayed later from Settings.
- Trips odometer checkpoints: Trips now includes an Odometer Checkpoints card showing the latest reading with direct Add checkpoint and History actions.
- Trip-linked odometer values: Tracked trips can store optional start and end odometer readings, and ShiftMiles keeps their matching checkpoint records synchronized to the trip's timestamps and vehicle.
Improved
- Tutorial navigation: Section changes now clearly identify the next app tab and let the user tap the highlighted destination instead of silently moving them between areas. Back, Skip Tour, and Next use stable, evenly distributed controls.
- Checks & Reminders guidance: The walkthrough now points out Checks & Reminders and explains the kinds of mileage, work, tracking, vehicle, trip, odometer, backup, and long-shift items that may need attention.
- Odometer guidance: The guided tour now calls out the Trips-page odometer checkpoint workflow and explains how optional trip start/end odometer values relate to checkpoint records.
- Tutorial support and privacy guidance: The Settings portion now makes it clear where users can report a problem, request a feature, replay the tutorial, review Help & Feedback, and find the Privacy Policy.
ShiftMiles 1.1.9
Added
- Pause & resume work tracking: Business trips and Work Shifts can now be paused without ending them, allowing a separate Personal or Business trip to be recorded before the original work session resumes.
- Segmented resumed routes: Resumed work trips begin a fresh GPS segment so intervening driving is not connected to the original route or added to its GPS mileage.
Improved
- Pause-aware odometer tracking: Optional pause and resume odometer checkpoints can exclude miles driven while the work trip or Work Shift was paused.
- Pause-aware work time: Paused intervals are excluded from active trip and Work Shift time, and Work Shift history now shows total paused time.
- Paused work context: A paused Work Shift remains open but stops applying its Work Profile to new drives until it is resumed.
Fixed
- Route and record separation: Separate trips recorded during a pause remain independent and do not add mileage, route geometry, or work context to the paused trip.
- Post-shift status: Ending a resumed Work Shift now clears the stale “Work shift resumed” status and returns Track to the appropriate ready state.
ShiftMiles 1.1.8
Added
- Track work context: Track now shows the active Work Shift context and lets a manually started GPS trip choose a Work Profile for that trip without applying it to unrelated automatic drives.
Improved
- Tracked trip review: Saved and pending tracked-trip review now use cleaner ShiftMiles-style cards and clearer Business, Personal, Needs Review, date/time, mileage, Work Profile, Save, and Void controls.
- Trip review controls: Business, Personal, and Needs Review use matching button dimensions, with the full Needs Review label visible.
- Work Profile autofill: Selecting or changing a Work Profile refreshes its default work source, business purpose, and tags. Selecting Personal clears profile-derived work fields for manual entry.
- Track work-context wording: When no active Work Shift or per-trip Work Profile is selected, Track now says “No work profile selected.”
Fixed
- Work Profile scoping: A saved preferred Work Profile no longer silently marks unrelated GPS drives or new records as work. Active Work Shifts remain authoritative, and automatic drives without a shift begin as Needs Review.
- Unified Needs Review queue: Any completed tracked trip or manual mileage record left as Needs Review now uses the same launch prompt, Trips review queue, and overdue local reminder flow used for automatic-trip reviews.
ShiftMiles 1.1.7
Added
- Expanded CashFlow expenses: CashFlow now records Fuel, Tolls, Maintenance / Repairs, and Other operating expenses in one unified ledger.
- CashFlow dashboard: A redesigned overview shows Income, Expenses, Net CashFlow, an expense-category breakdown, and a mixed Recent Activity ledger.
- CashFlow filters: CashFlow records can be narrowed by date and by Income, All expenses, Fuel, Tolls, Maintenance, or Other activity.
- Expense-linked odometer records: When an expense includes an odometer reading, ShiftMiles keeps the matching odometer checkpoint synchronized when that expense is added, edited, or removed.
- Active-trip Quick Add: While a GPS trip is active, + Quick Add can create Job / Note, Income, Fuel, Toll, Maintenance, or Odometer records without interrupting tracking.
- Voice input across record forms: Voice entry now extends beyond Jobs & Notes to CashFlow, mileage, odometer, trip, vehicle, Work Profile, Work Shift, and other supported record fields, with review before saving.
- Tax Ready export controls: Before previewing a Tax Ready PDF, CSV, or JSON export, users can choose the sections to include with Recommended, Select All, and Clear Optional shortcuts.
- Track vehicle switcher: When no trip is active, the active vehicle can be switched directly from Track instead of requiring a trip through Settings.
Improved
- CashFlow and report coverage: Operating expenses now flow through backups, CashFlow reports, professional PDF/CSV/JSON exports, and Tax Ready supporting records while keeping tax treatment separate from recordkeeping.
- Existing fuel history migration: Existing fuel records carry forward into the generalized expense ledger without duplicating stored fuel history.
- Voice recognition workflow: ShiftMiles uses its native in-app Android recognizer, prefers verified on-device speech when available, keeps recognized text reviewable, and reuses the same voice framework across supported forms.
- Call and microphone warning: If a phone or VoIP call owns the microphone, ShiftMiles shows a prominent blocking warning instead of appearing to listen without usable audio.
- Manual or Voice entry choices: CashFlow, active-trip Quick Add, and Jobs & Notes use a more consistent Manual or Voice entry choice where whole-record voice entry is supported.
- Checks & Reminders: Track now shows a compact pending-count notice. The Work reminder center uses ShiftMiles-style cards, and reminders can open the exact workflow that needs attention.
- Tracking and Logbook permissions: Tracking requires Precise Location, Automatic tracking follows Android's background-location flow, and an immediate Logbook-to-Tracking reversal can cancel a still-pending permission reset before Android removes access.
- Active-trip record context: New income and expense records can preserve their active-trip, vehicle, Work Shift, and Work Profile associations when those relationships are available.
- Tax Ready expense context: Tax Ready can show recorded operating expenses as supporting records without labeling every expense as automatically tax-deductible.
- Clearer record wording: CashFlow and Work Shift expense wording was tightened so the app describes recorded spending without overstating tax treatment.
- Change-log access: The in-app What's New screen keeps the current update concise and links to this public ShiftMiles Change Log for the complete release history.
Fixed
- Tax Ready section selection: Selected Tax Ready sections are reliably enforced in the generated PDF, CSV, and JSON artifacts instead of only changing the on-screen choices.
- Shared voice transcript delivery: Recognized speech is reliably returned to the requesting voice-entry form instead of occasionally opening a review form without the expected transcript.
- Migrated fuel merchant details: Legacy fuel records keep their merchant/provider information when migrated into the generalized expense ledger.
- Automatic tracking permission reset: Turning off Automatic vehicle tracking starts Android's background-location cleanup. On supported Android versions, Allow all the time access is removed while normal foreground tracking access can remain available.
- Automatic tracking permission setup: When background location is missing, ShiftMiles uses Android's background-location permission flow so the current Location permission can be restored before automatic tracking arms.
- Tracking and Logbook permission reset: Switching to Logbook mode disables automatic tracking immediately and removes tracking permissions on supported Android versions. Returning to Tracking mode reruns the required permission flow.
ShiftMiles 1.1.6
Added
- Automatic trip review queue: Completed automatic trips remain in a sequential review queue until explicitly saved or voided.
- Overdue trip-review reminders: Unreviewed automatic trips can trigger an occasional reminder after 3 days, with a Review my trips action.
- Restart-safe automatic tracking: Automatic vehicle tracking can re-arm after a phone reboot or app update when Android has granted Allow all the time location access.
- What's New: ShiftMiles surfaces important user-facing changes after an update and provides a permanent entry point under Help & Feedback.
Improved
- Automatic drive detection: Stronger GPS movement evidence reduces false starts while preserving validated start-up GPS samples so less of the beginning of a real drive is lost.
- Park-to-walk separation: On-foot and low-speed post-stop handling reacts sooner after parking without weakening normal slow-traffic mileage tracking.
- Live trip maps: Higher-contrast maps, clearer heading and centering controls, live status and mileage, quicker GPS start-up, and denser route geometry.
- Background-location setup: ShiftMiles checks Android's background-location state before automatic tracking can arm.
Fixed
- Trip completion and review flow: Automatic tracking re-arms correctly after manually stopped trip review, user-stopped automatic trips are protected from immediately restarting, and stop/void navigation is cleaner.
- Completed trip map status: Review and historical route maps show Trip complete instead of Tracking active and no longer inherit mileage or status from a different live trip.
ShiftMiles 1.1.5
Improved
- Mileage motion reliability: Refined GPS motion handling to preserve legitimate vehicle mileage while rejecting stationary drift.
- Slow-driving coverage: Improved fallback handling for slow vehicle movement, including low-speed drive-through conditions.
- Trip map controls: Improved map centering and navigation controls during tracking.
- Live mileage visibility: Added clearer live mileage state directly on the tracking map.
ShiftMiles 1.1.4
Added
- Support screenshots: Bug reports and feature requests can include up to three user-selected screenshots.
- Save to phone: Manual encrypted backups and readable ZIP exports can be saved directly to a user-selected device location while Share remains available.
- Settings search: Added search to the redesigned Settings hub.
Improved
- Support workflow: Bug reports and feature requests now go directly to the private INHER1TOR LABS Support Inbox instead of the retired Google Sheets / Apps Script receiver.
- Settings organization: Settings was reorganized into App Preferences, Backups, Driving & Work, Help & Feedback, Manage Account, Privacy, and Security.
- Privacy links: ShiftMiles now opens the official INHER1TOR LABS ShiftMiles Privacy Policy.
- Feedback access: Restored the quick Feedback shortcut at the top of Settings.
ShiftMiles 1.1.3
Added
- Google Play in-app update detection: ShiftMiles can check Google Play for a newer version and offer the Play-managed update flow when an update is available.
ShiftMiles 1.1.1
Fixed
- App Lock navigation restoration: Returning to ShiftMiles from another app and unlocking it now restores the screen you were using instead of incorrectly resetting navigation.
ShiftMiles 1.1.0
Added
- Editable record date and time: Tracked trips, manual trips, Work Shifts, Jobs & Notes, income, fuel, and odometer records gained date/time correction support.
- Voice Job/Note entry: Added voice-assisted work-record capture with local parsing into the normal editable record form.
- Quick Job/Note during tracking: Active GPS trips gained direct access to Add Job/Note.
- Void Work Shift: Work Shifts can be voided without deleting linked trips, jobs, income, or fuel records.
- Shared record filtering: Added common date/time filtering across Trips, Work Shifts, Jobs & Notes, income, and fuel records.
Improved
- Record History: Audit history remains available but is collapsed by default to reduce clutter.
- Jobs & Notes: Record time is displayed directly with the date.
- CashFlow: The Income area was reorganized as CashFlow for income and fuel transactions, with report analytics kept in Reports.
- Reports: Reports moved to a category-first layout with Overview, Mileage, CashFlow, Tax Ready, and Work & Performance, using contextual periods, exports, and charts.