Skip to content

Releases: MeshMapper/MeshMapper_Project

MeshMapper App v1.4.0(1788454569)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 03 Sep 18:54
1a76259

✨ New

  • (iOS) The CarPlay card sizes its repeater rows to the space it is given, so
    you always see whole rows, and the wide card now fits six repeaters in its
    compact view.
  • (iOS) The Apple Watch section in Settings now sits right under Radio
    instead of at the bottom of the page.

🐛 Fixes

  • Connecting to a radio is more forgiving. Connect timeouts, transient
    Bluetooth errors and service discovery failures now retry on their own, a
    handshake that dies right after connecting is re-run once automatically,
    and a connect attempt that used to hang silently now reports its error.
  • The blue GPS arrow on the map no longer freezes at an old position and
    heading for the rest of the session.
  • Crossing a zone boundary while the coverage overlay was refreshing could
    crash the map. Fixed, and overlays no longer stack on top of each other.
  • Stopping auto-ping while a ping is in progress now takes effect right away
    in every case, instead of locking the controls for 12 seconds or, at worst,
    continuing to ping. Passive mode now shuts down discovery on stop the same
    way Hybrid does.
  • The distance-since-last-ping readout resets after discovery and trace pings
    too, not only TX pings. Ping spacing rules are unchanged.
  • (iOS) The CarPlay card no longer goes blank while counting down to the next
    ping. The seconds readout caused it and has been removed; rows dim when they
    belong to a finished cycle.
  • Session keepalives are paced so a phone with a fast clock can no longer
    flood the server.

MeshMapper App v1.4.0(1788027895)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 29 Aug 18:29
1a76259

✨ New

  • The lock screen Live Activity's progress bar is colored by the running
    mode again: green for Active, the discovery color for Passive, cyan for
    Trace, and Hybrid switches with each half of its cycle. Color vision
    settings apply here too.

MeshMapper App v1.4.0(1788003599)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 29 Aug 12:35
1a76259

✨ New

  • Siri shortcuts on iOS: start or stop a wardriving session, send a ping,
    reconnect your radio, and ask for session status by voice.
  • Redesigned Live Activity card for CarPlay and the watch Smart Stack: it
    matches the app's look, shows repeater names next to their IDs, and adds
    noise floor, radio battery, and a live countdown to the next ping. The
    watch version leads with the MeshMapper logo and a short status word so
    it's readable at a glance.
  • New setting to switch the Live Activity between named repeater rows and
    the compact grid that fits more repeaters.

🐛 Fixes

  • Pings are held and uploaded later when you have no cell signal, instead
    of being lost.
  • Hybrid mode no longer gets stuck when a ping it was waiting on never
    happens.
  • The app now reports the power of the radio that's connected, not the
    previous one.
  • The coverage overlay now fades the moment you move the opacity slider.
  • Clearer messages when a region has flooding disabled, when an offline
    map download can't start, and when a Siri request fails.

MeshMapper App v1.4.0(1787585785)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 24 Aug 15:48
1a76259

New Features

  • ⌚ Apple Watch App: MeshMapper on your wrist. See your pings and the repeaters that heard them on a map, view the strongest nodes, and count down to the next ping. Start and stop sessions from the watch without pulling your phone out. Any control you can't use tells you why. Requires watchOS 11.
  • Live Activities: While wardriving, the session shows on your Lock Screen and in the Dynamic Island: current status, countdown to next ping, repeaters hearing you, and TX/RX/queue counts. Also fills the Smart Stack card on a paired watch and appears in CarPlay on the newest iPhones. Requires iOS 16.2.
  • MyMeshMapper Accounts: Sign in to your MyMeshMapper account from Settings and link your radio so wardriving counts toward your account. Sign-in happens in your browser, and the app always asks before linking a radio.
  • Auto-Stop: Wardriving now shuts itself off after 30 minutes parked instead of pinging the same spot all afternoon.
  • Dog GPS Marker: New dog marker alongside Car, Bike, Boat and Walk.
  • Offline → Custom API: Offline sessions now forward to your Custom API endpoint after they upload.

🔧 Improvements

  • Clearer Zones and Regions: A region with flood traffic turned off now reads as "Flood Off" in blue instead of looking like a full zone in red. The explanation says why flood traffic was turned off and that Passive and Trace still work, and it no longer pops up the moment you connect. Zone bar also stops overflowing on narrow phones.
  • Coverage Tap: Tapping coverage now tells the difference between "there is nothing here" and "we could not reach the server." You can retry a failed load straight from the sheet instead of reading a screen full of zeros.
  • Landscape layout fixes on the navigation and connection screens.
  • 3-byte repeater IDs no longer get clipped.
  • Stale fix now says it is the phone's clock, not your GPS.

🐛 Bug Fixes

  • Fewer Pings Lost: Fixed a few edge cases where a ping could quietly vanish (affected ~0.02% of all pings). Pings are now saved offline before a failed batch is discarded, last observations survive a session expiring, and untaggable pings are refused rather than sent nowhere. Anonymous Mode also stays anonymous when offline sessions upload later.

⚠️Removed

  • The web app is no longer built or published. Android and iOS only.

MeshMapper App v1.3.0

Choose a tag to compare

@MrAlders0nMrAlders0n released this 23 Jun 16:30
1a76259

This is a major release, it has been in beta since April. The map engine has been fully rewritten and a ton of new features and fixes are packed in. Please report any issues you run into.

New Features

  • Map Engine Migration: Replaced flutter_map (raster tiles) with maplibre_gl (vector tiles via OpenFreeMap). Liberty is the new default map layer, check it out, it's quite nice!
  • Offline Maps & Tile Caching: New "Offline Maps" screen in Settings lets you download map regions for offline wardriving. Multiple downloads can be queued and run back-to-back. Tiles are cached automatically between sessions. Thanks @dedskelly for all the work writing the code for this feature!
  • TCP, USB Serial: MeshMapper now supports connecting to your device over TCP (Wi-Fi/LAN), USB Serial (Android via OTG, based on MeshCore-Open). Connect screen now has tabs for each transport.
  • Broadcast My Coords Toggle: Off by default. The app uses a wiretag on the mesh for privacy instead of broadcasting GPS coordinates.
  • Anonymous Mode UX: Enabling anonymous mode now shows a progress popup instead of switching to the Connect tab.
  • Multi-Hop TX Echo Grouping: Multi-hop TX echoes (2+ hops) are now grouped under their parent TX ping instead of appearing as anonymous RX observations. TX markers use three outcome states: green (direct echo), RX-colored (multi-hop only), red (no response).
  • RX Hop Path: Tapping an RX marker now shows the full mesh path the packet travelled as a tappable chain of repeater chips. The same chain renders on every RX entry in the Log tab. CSV export gains a path_hops column.
  • Session History Tab: The "Graph" tab has been renamed to "History." View past sessions on the map with ping markers and camera fit-to-bounds, or open the Noise Floor graph. Tapping history markers opens the same detail sheets as live sessions.
  • Repeater Marker Clustering & Spiderfy: Stacked repeater markers now collapse into a cluster bubble with a count. Tapping a cluster at max zoom fans the members out in a ring with leader lines, each independently tappable.
  • Tap Repeaters & Tiles on Map: You can now tap repeaters and coverage tiles on the map to see details, just like the web UI. This is the beginning of more features being moved to the app.
  • Grid Mode Tap Details: In Detailed grid mode, tapping a cell now shows pings from the full 3x3 blob and outlines that block on the map, matching the web UI. Simplified mode focuses the single tapped cell.
  • Unified Focus Mode: Focus mode is now shared across ping markers, repeaters, and tile taps. All use a common themed minimized detail bar that can be expanded for more detail. The bottom sheet can be minimized to freely explore the map.
  • Flood Traffic Toggle in Settings → Modes (default OFF). When OFF, Send Ping, Active, and Hybrid controls are hidden. Passive and Trace stay visible. Auto-syncs with regional admin flood policy on connect and zone change.
  • Zone Transfer Auto-Registration: Crossing into a new zone no longer drops your session if the server hasn't seen your device before. The app auto-registers silently so wardriving resumes without a reconnect.
  • Stale Repeater Filtering: Repeaters not heard within the region's stale threshold are hidden from the map. The repeater picker and Log tab still show everything.
  • Duplicate Repeater ID Indicator: Ambiguous repeater IDs now show amber "DUPLICATE ID" lines on the map and amber (i) icons in the log tab. Tap the warning to see all possible matches with names, distances, and status.
  • Radio Settings Capture: The app now captures radio settings from your device and publishes them to the backend, enabling data filtering by radio preset.
  • Offline Session Download: Offline sessions can be downloaded on mobile through the system share sheet.
  • Landscape Minimize Button: Landscape control panel now has a minimize button with a compact collapsed bar.

🔄 Offline Uploads Reworked

  • Multi-region drives just work. Your trip can cross as many region borders as you like and the whole thing uploads in one go, with no more session errors partway through and no more manual retries.
  • Every ping lands where it was actually recorded. Each ping is individually placed into the correct region's map, so a Sheffield to Nottingham drive shows Sheffield coverage in Sheffield and Nottingham coverage in Nottingham.
  • You can see where your upload went. After a successful upload, the session in your list shows a summary like "Uploaded · DSA 88 · EMA 157", and you can tap it for the full per-region breakdown.
  • Pings far outside any region are handled gracefully. A stray ping more than 50 km outside every mapped region is reported back as "too far" rather than being dumped into the nearest region or silently lost.
  • Uploading from anywhere works. Even if you are outside all coverage when you hit upload, the session is created and your data is placed correctly by location.
  • Your uploaded sessions stick around. Nothing is auto-deleted, and download stays available after upload.

🔧 Improvements

  • Auto-Follow Zoom: Tap follow and the map zooms to street level once; after that it just pans. Pinch-zooming while following now sticks instead of fighting you.
  • Ping Button Responsiveness: Send Ping and auto-mode buttons now respond instantly on tap instead of occasionally needing multiple taps. Reduced unnecessary UI rebuilds for snappier controls during wardriving.

🐛 Bug Fixes

  • Phone Heat & Battery Drain: The coverage overlay refresh was running dual GPU layers on every cycle. Replaced with a lightweight refresh that eliminates the overhead.
  • (iOS) Launch & Resume Crashes: Fixed multiple crashes caused by MapLibre firing camera animations before the GL surface was ready on cold start and resume from background.
  • (Android) Background Resume Crash: Fixed the same MapLibre GL surface crash on Android. Also fixed flutter_local_notifications TypeToken errors on startup.
  • (iOS) BLE Reconnect: Fixed reconnect taking 4+ minutes with stale bond keys, now under 10 seconds.
  • (iOS) TCP Background: TCP connections now auto-reconnect on resume since iOS doesn't preserve TCP sockets in the background.
  • (Android) TCP Background: Added foreground service permission and tcpNoDelay to prevent TCP drops when backgrounded.
  • Anonymous Mode: Fixed Anonymous mode getting permanently stuck after an unexpected Bluetooth disconnect. Your real name is now persisted and automatically restored.
  • TX Pings Silently Dropped: Fixed TX pings being dropped when driving a new area or on a later day, leaving DEAD tiles. Only beta users were impacted.
  • Fixed focus mode jumping to (0, 0) off the coast of Africa when heard repeaters have no published location.
  • Fixed map label flicker at max zoom during follow mode.
  • Fixed GPS marker drifting toward the top of the map in heading mode.
  • Fixed spider fan-out pulling in markers from neighbouring clusters and rendering at 2x intended radius.
  • Fixed offline map cancel during setup orphaning the native download.
  • Fixed being unable to switch from offline back to online mode while connected.
  • Fixed auto-ping permanently stopping on zone transfers, reconnects, and grace period re-entry. Multiple related fixes for mode validation, setting persistence, and cooldown timer conflicts across zone boundaries.
  • Fixed path hash mode not reconfiguring correctly when moving between enforced and non-enforced zones.
  • Fixed zone admin overrides persisting after moving to a less restrictive zone.
  • Fixed Connect screen always defaulting to BLE instead of remembering last used transport.
  • Fixed misleading "No empty channel slots" error when BLE disconnects during connection.
  • Fixed generic "Timestamp is too old" registration failure now diagnosing a device clock stuck in the future with actionable instructions to power-cycle.
  • Fixed Hive preferences being wiped by transient open failures on startup.
  • Settings now flush to disk immediately after every write, preventing loss on crash.
  • Fixed RX ping popup showing wrong header badge colour.
  • Fixed performance freeze when entering focus mode.
  • Fixed coverage overlay disappearing after background/foreground transitions.
  • Corrected multi-byte path-mode warning text.
  • Fixed failed discovery markers being untappable in drop mode.

MeshMapper App v1.3.0(1782214423)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 23 Jun 11:38
1a76259

Bug Fixes

  • Attempting to fix GPS icon flicker regression

MeshMapper App v1.3.0(1782148813)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 22 Jun 17:27
1a76259

✨ New

  • The Region Coverage filter in regional admin now includes a status filter and a free-text filter, so admins can narrow coverage results by status or search by text.
  • Added share buttons to the Repeater List and Observers modals, each with a deep link so you can link straight to that modal.

🐛 Fixes

  • Fixed: TX pings are no longer silently dropped when driving a new area or on a later day. The server treated a new wire-tag ping from a same-ID increment on a different day as a duplicate and skipped it, leaving DEAD tiles. RX and DISC were unaffected, and only beta users were impacted.

MeshMapper App v1.3.0(1782016879)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 21 Jun 04:44
1a76259

New Features

  • Focus mode is now shared across ping markers, repeaters, and tile taps with a common minimized detail bar that expands for more detail

Improvements

  • Reworked offline sessions

Bug Fixes

  • Fixed a render bug
  • Another attempt at fixing the iOS boot crash caused by MapLibre
  • Another attempt at fixing repeater marker order

MeshMapper App v1.3.0(1781957897)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 20 Jun 12:20
1a76259

New Features

  • Landscape Minimize Button: Added a minimize button to the landscape control panel. The collapsed state shows a compact bar centered along the bottom of the map.
  • Repeater Coverage Overlay & Tile Tap: Added repeater coverage overlay and tile tap inspect to the repeater line drawing view. Both of these bring more functionality from the web UI into the app.

🐛 Bug Fixes

  • Offline Uploads: Finally I think I fixed offline uploads.
  • (iOS) App Open Crash: Pretty sure I fixed the iOS crashes on app open. Let me know if you're still seeing it.
  • App Crash on Launch/Resume: Fixed crash caused by invalid map coordinates being passed to MapLibre on launch and resume from background.

MeshMapper App v1.3.0(1781864859)

Pre-release

Choose a tag to compare

@MrAlders0nMrAlders0n released this 19 Jun 11:24
1a76259

New Features

  • Grid Mode Tap Details: In Detailed grid mode, tapping a cell now shows pings from the full 3x3 blob that colours it and outlines that block on the map. Simplified mode focuses the single tapped cell. This now matches the web UI behaviour.
  • Offline Session Download: Offline sessions can now be downloaded on mobile through the system share sheet (Save to Files, Drive, email, etc.), available before upload and for sessions that failed to upload.

🐛 Bug Fixes

  • Offline Upload Fix: Fixed offline sessions failing to upload. The app now waits for server acceptance before sending, and never discards pings it couldn't upload. Failed pings are kept and retried instead of being lost as a "partial upload."
  • Map style and colour-vision (CVD) palette changes now apply immediately instead of requiring a map reload.
  • Smoother ping and marker display in long sessions. Coverage markers now update only when they actually change, so display lag no longer grows the longer a session runs.
  • Corrected the multi-byte path-mode warning: it now says the app restores your original radio setting on a normal disconnect (only an unclean disconnect requires a manual revert in Settings).

🔄 Changed

  • With "Broadcast My Coordinates" enabled, TX pings now send the keyed wire-tag and your plaintext coordinates on-air. The API still receives only the tag, so coverage uploads and TX validation are unchanged. The session-limit guard now applies in both privacy and broadcast modes.