Skip to content

Releases: yetisoldier/FlockFree-Navigation

v1.9.5: All-ALPR Camera Coverage

Choose a tag to compare

@yetisoldier yetisoldier released this 11 Sep 17:31

Changed

All-ALPR Camera Coverage

FlockFree now shows every US plate reader camera, not just Flock Safety hardware. Motorola/Vigilant, Genetec, Leonardo/ELSAG, Axon, Rekor, PlateSmart, Ubicquia, Ekin, Neology, Verkada, and unbranded ALPR nodes are now included, growing the national dataset from about 88K to about 140K cameras.

Dataset and avoidance settings now say "plate reader camera" instead of "Flock camera" to match the all-brand dataset.

Fixed

Upgraded installs clear the old Flock-only camera database and reload the full all-brand dataset on first launch after updating.

Fixed the bundled seed asset path so clean installs and offline upgrades load the packaged 140,125-camera seed without a network connection. The Android asset packager stores the seed decompressed as cameras.geojson, but the app was still looking for cameras.geojson.gz, a path that no release APK contains.

APK SHA-256: b0ad97561876eeb538f987ca52a2bfab16af54989a876ccbd2be9999cc3312af

v1.9.4 — Divided Highway Fix, Camera Flicker Fix, Cone Zoom Scaling

Choose a tag to compare

@yetisoldier yetisoldier released this 31 Jul 15:15

Fixes

Divided Highway GPS Snapping

Route segment selection now uses bearing as a tiebreaker when candidate segments are within 15m of each other in orthogonal distance. Prevents GPS from snapping to the wrong side of divided highways when accuracy is poor.

Camera Marker Flicker

Native camera markers now use an atomic swap — the new marker collection is added to the renderer before the old one is removed, eliminating the 1-2 frame gap that caused cameras to disappear and reappear.

Camera Cone Zoom Scaling

Camera cones now scale with zoom level using sqrt scaling (2^(zoom-15)*0.5). Cones grow when zooming in and shrink when zooming out, staying proportional to the road without dominating the screen at high zoom or vanishing at low zoom. Pin icons also scale by zoom group (1.0x/0.7x/0.5x).

v1.9.3: Full US Routing + Camera Overlay Stability

Choose a tag to compare

@yetisoldier yetisoldier released this 31 Jul 02:30

What's New

Full US Routing Graph

The FlockFree GraphHopper backend now covers the entire United States (70.3M nodes, 86.9M edges) instead of the previous 5-state upper Midwest extract. Online routing works nationwide.

Note: Online routing (Fastest and Privacy profiles) works within the United States only. Offline OsmAnd routing remains available worldwide with downloaded vector maps.

Camera Overlay Stability

Camera overlay rendering has been stabilized across zoom changes, map rotation, and pan animations using the native OpenGL map scene. Camera cone orientation now renders correctly after map rotation.

Fixes

  • Camera overlay rendering stabilized across zoom, rotation, and pan animations
  • Camera cone orientation renders correctly after map rotation
  • Navigation HUD reflow fixed after resume and in landscape route comparison
  • Online routing POST requests use UTF-8 byte lengths and longer timeouts
  • FlockFree online routing calculates missing Fastest/Privacy counterparts, preserves stops, ignores stale comparison jobs
  • Position animation stays enabled at high speed (no more GPS marker jumps above ~34 mph)
  • Map renderer surface change refresh and FlockFreeLayer OpenGL import fix

Performance

  • Camera layer only processes cameras in the current viewport with padded SQLite cache
  • Online camera penalty models capped at 500 nearest cameras per route corridor
  • Camera avoidance capped at 4 full route searches with 15-second budget
  • Redundant OSM overlay queries removed from merged camera lookups
  • Camera deduplication uses spatial index before exact distance check

MD5: 8d127fd5ca06ae88c6447e9603e393c0
SHA256: 6a7c9de57264dc6b349437656d732e9c6571ed0b32dd0d66ca78485b47a9cce3

v1.9.2: Camera Avoidance Overhaul

Choose a tag to compare

@yetisoldier yetisoldier released this 21 Jul 01:53

Camera Avoidance Overhaul

Major upgrade to FlockFree's camera avoidance routing system, implementing Phases 1-3 of the FlockFree avoidance roadmap.

New Features

Direction-Aware Camera Filtering

  • Cameras now only block road segments matching their facing direction (±60°)
  • Reduces over-blocking on divided highways and parallel roads
  • Falls back to omnidirectional blocking when bearing data is missing

User-Selectable Avoidance Modes

  • Warnings Only — Show cameras and alerts, never reroute
  • Balanced — Reroute with 15 min / 1.5x guardrails (default)
  • Strict Privacy — Reroute with 30 min / 2.0x guardrails

OSM Overpass Second Data Source

  • Nightly Overpass API pull for ALPR cameras from OpenStreetMap
  • Separate overlay table with deduplication
  • Configurable endpoint and refresh interval (default weekly)

Route Comparison Cards

  • Fastest vs Privacy options shown in route info menu
  • Shows camera count, time, and distance for each option

Improvements

  • Greedy incremental avoidance replaces block-all-then-relax algorithm
  • Severity-tier staged blocking
  • Route-association caching (LRU, 5-min TTL)
  • Active-navigation horizon planning (10km forward, 5s budget)
  • Dual-route motorway penalty
  • Manufacturer-based camera matching (OSM canonical tags)
  • 1.5x wider blocking radius vs scanning radius
  • FALLBACK status preserves comparison data

Known Limitations

Hard-block approach cannot steer router toward surface street alternatives when interstate is fundamentally faster. Weighted penalty approach (Phase 4) deferred.

Build

  • Signed with FlockFree release keystore
  • Target: arm64
  • Version: 5.4.0

v1.9.1

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 18:23

Periodic GPS Resend to CYD

Fixed

  • GPS goes stale when phone is stationary — Android throttles location updates when the device isn't moving ('location delivery blocked - too close'), so the app stopped receiving new fixes and stopped sending GPS to the CYD. The CYD's GPS would then show as stale, and detections would lack coordinates.

  • 5-second periodic resend — the app now re-sends the phone's last known location to the CYD every 5 seconds, as long as the location is less than 2 minutes old. This keeps the CYD's GPS data fresh even when the phone is stationary or indoors.

APK

Download via in-app updater or GitHub releases.

v1.9.0

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 17:51

BLE Reliability Improvements

Improved

  • Write failure recovery — a single BLE write failure no longer kills the connection. Writes retry up to 2 times before giving up.
  • Write timeout watchdog — if a BLE write callback never fires (common ESP32 BLE stack hang), a 5-second watchdog detects the stall and recovers gracefully instead of blocking all future writes forever.
  • Queue overflow protection — stale GPS data is dropped when the write queue backs up instead of piling up unbounded.
  • MTU-aware chunking — GPS fix data now uses the negotiated BLE MTU (up to 244 bytes per chunk) instead of the default 20 bytes, reducing each GPS send from 4 BLE writes to 1.
  • Auto-reconnect — retries increased from 3 to 10 with 2-second back-off, covering ~20 seconds of reconnection attempts.

Also includes (v1.8.8–v1.8.9)

  • Speed limit sign z-order fix
  • CYD detections stored regardless of GPS status
  • CYD detections enriched with phone GPS when CYD GPS is missing
  • Online search sorted by distance

APK

Sideload APK SHA-256: 2120f3e9e2094459b704575348943dbea09798c8bfeb6450b66a9daf99e4a026

v1.8.9

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 16:35

CYD Detection GPS Enrichment

Fixed

  • CYD detections now get phone GPS location. The CYD reports "GPS OK" on its status screen, but may not include coordinates in every detection packet sent to the phone. Detections that arrive without GPS are now enriched with the phone's last known location (within 30 seconds), so every detection has a location and shows up in the "View CYD detections" list.
  • Speed limit sign renders above the layers button (z-order fix).
  • All detections stored and persisted regardless of GPS status.

Changed

  • Online search results sorted by distance — closer matches first.

APK

Sideload APK SHA-256: da05853168a7d7c8cc28935a531a40f94c6e4af5545b950d23c73589211fad6e

v1.8.8

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 16:27

Fixes

Speed Limit Sign Z-Order

  • The speed limit sign no longer renders behind the layers button in free-drive mode. Added elevation to the alarm warning widget so it draws above the layers button.

CYD Detections Without GPS

  • The 'View CYD detections' list now shows all detections, including those without a GPS fix. Previously, detections without GPS coordinates were silently dropped from both the in-memory list and the persisted store, causing "No detections recorded" even when the CYD status screen showed active detections.

Changed

  • Online search results sorted by distance — closer matches appear first.

APK

Sideload APK SHA-256: 6e0ad11c966ceb068551eb5ab8e89ff6b5cb00cb9b3df405d61fe94afd7cf05b

v1.8.7

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 15:55

Online Search Sorted by Distance

Changed

  • Online search results are now sorted by distance from your current location, so closer matches appear first. Previously results came back ordered by Nominatim relevance, which could show something 2000 miles away above a nearby match.
  • Offline fallback search keeps relevance-based sorting (appropriate for local data).

APK

Sideload APK SHA-256: d5a116bcf0b0bc74e9929061e83b60d06e9d707790cab5ff6234c46c747ee432

v1.8.6

Choose a tag to compare

@yetisoldier yetisoldier released this 30 Jun 15:33

Online-First Search with Offline Fallback

Changed

  • Search now defaults to online when internet is available, for all query types — not just street addresses. Previously only queries that looked like street addresses (starting with a digit and containing street suffixes like "ave" or "st") would trigger online search.
  • Automatic offline fallback — if online search returns no results, the search automatically retries with offline/local data so you always get the best available results.

APK

Sideload APK SHA-256: c7769fa647964a539c1ced5c537b3ca7b5d7769bc77886348cd5d1fd003f7935