Skip to content

Android release history

This page records every documented FreqMapper Android version, newest first. It covers both the private signed installer and Google Play testing builds. For the current private-update channel, see Android OTA Notes. For current versions on every platform, see Mobile apps and updates.

Android uses a version name followed by its numeric build code in parentheses. Google Play controls availability for enrolled testers; a prepared Play build may therefore appear here before it reaches every tester.

The newest 15 releases have complete notes and tester checks below. Older releases retain full entries when they introduced a major app capability; every other version remains in the dated archive so no release history is lost.

Recent releases

Android 1.0

Prepared October 13, 2026 · build code 123 · Google Play internal-testing candidate This is the first Android candidate with the public 1.0 version number. It keeps the existing package name, signing identity, and increasing build-code sequence, so Google Play installations can update directly from the 0.1 series. This build is published only to internal testing; it has not reached closed testing, open testing, or production.

  • Shows positioned Watchers on the Map with their Meshtastic short names.
  • Adds saved Meshtastic TCP radio connections using a hostname or IP address and port 4403 by default.
  • Starts Active Patrol or Silent Recon without a FreqMapper server connection when the required saved region and offline approval are available.
  • Keeps encrypted wardrive evidence queued locally and resumes uploads after any connection capable of reaching the FreqMapper server returns.
  • Uploads checksum-verified MapLibre native symbols with the Play artifact, making supported native crashes and ANRs easier to diagnose in Play Console.

What to test

  1. Update a Google Play installation from Android 0.1.109 to 1.0 without uninstalling. Confirm the linked profile, saved radios, and local data remain.
  2. Connect and synchronize both a Bluetooth radio and a saved TCP radio.
  3. Complete short Active Patrol and Silent Recon trips online, then repeat without the FreqMapper server and confirm queued uploads resume afterward.
  4. Confirm positioned Watchers, the phone marker, cyan breadcrumb, and wardrive TX/RX counters remain correct on the Map.
  5. Background and reopen the app during a trip, then stop it and confirm the completed trip appears once with no duplicate or missing samples.

Android 0.1.109

Prepared October 11, 2026 · build code 114 · Google Play internal-testing candidate

This build is prepared for a private, single-account Google Play internal test. It has not been uploaded and does not change the private OTA channel.

  • Shows positioned Watchers on the Map with their Meshtastic short names.
  • Adds saved Meshtastic TCP radio connections using a hostname or IP address and port 4403 by default.
  • Starts Active Patrol or Silent Recon without a FreqMapper server connection when the required saved region and offline approval are available.
  • Uses a blank driving canvas when remote map data is unavailable while keeping the phone marker and a cyan breadcrumb visible.
  • Keeps encrypted wardrive evidence queued locally and resumes uploads after any connection capable of reaching the FreqMapper server returns.

What to test

  1. Open the Map in a region with positioned Watchers and confirm each Watcher appears with its short name.
  2. Connect to a Meshtastic TCP radio by hostname and by IP address. Disconnect and reconnect once, confirming PhoneAPI synchronization completes.
  3. Remove the FreqMapper server connection and start both Active Patrol and Silent Recon. Confirm the same trip continues collecting GPS and radio data.
  4. Relaunch without server access and confirm the blank canvas, phone marker, and cyan breadcrumb remain usable without a crash.
  5. Restore any server-capable connection and confirm queued uploads resume. Repeat once in airplane mode with working Wi-Fi.

Android 0.1.108

Available for testing October 10, 2026 · build code 109 · Google Play closed testing

Google Play accepted this build on the completed alpha track. Availability remains limited to enrolled closed-test accounts.

  • Adds private Android crash and support reporting. Sending remains optional, and a pending crash report stays on the phone until the person chooses to send it.
  • Separates Public summary from Private report when feedback is sent. Optional reply contact, diagnostics, attachments, and operator notes remain private in either mode.
  • Includes a redacted diagnostic timeline with useful app, device, radio, enrollment, region, wardrive-readiness, and upload events while excluding routes, current location, channel keys, message contents, and Bluetooth addresses.
  • Preserves the selected report visibility when feedback is queued. Older queued reports do not silently gain consent for new diagnostic sharing.
  • Gives clear recovery guidance when a wardrive cannot start because the connected radio is unidentified, no active region is available, or the phone has not saved a region for offline use.
  • Prioritizes useful crash, connection, enrollment, channel, region, and blocked-start diagnostics over repetitive progress entries, and clears the current location-upload error after uploads recover.

What to test

  1. Open each Android feedback form and switch between Public summary and Private report. Confirm the public/private explanation is clear and the selected visibility survives an offline queue and retry.
  2. Review a pending crash report without sending it, then submit only after choosing to do so. Confirm its preview does not expose route points, current coordinates, channel keys, message contents, or Bluetooth addresses.
  3. Attempt to start a wardrive with an unidentified connected radio. Confirm the app blocks the start and directs you to reconnect, wait for Ready, and try again.
  4. Test an online location without an active FreqMapper region and an offline location without a saved region. Confirm each blocked start gives the correct region or offline-preparation guidance.
  5. Generate several routine progress events around a meaningful connection, enrollment, region, or upload failure. Confirm Recent issues retains the useful failure and that a location-upload error clears after recovery.

Android 0.1.107

Built October 7, 2026 · build code 108 · Uploaded to Google Play closed testing

Google Play accepted this build on October 7 and reports version code 108 on the completed alpha track. Store processing and per-tester availability can still take additional time.

  • Places newly discovered radios above saved radios after a scan and orders new choices by strongest Bluetooth signal first, making an unpaired radio easier to find and select.
  • Shows live wardrive progress in the ongoing Android notification, including the mode, TX and RX totals, region, latest completed Watcher result, and the countdown to the next scheduled test.
  • Keeps the GPS trip active if the radio disconnects, pauses radio work, and resumes the same trip after the expected radio reconnects and its shared wardriving channel is ready.
  • Lets a profile-linked app share selected completed-trip coverage. Shared links show aggregate TX and RX coverage without exposing the route, radio identity, packets, or individual samples.
  • Adds an Update existing radio path for Meshtastic 2.8 identity changes so an eligible radio can keep its enrollment, region, history, and invite usage without being enrolled as a second radio.
  • Includes the Android 15+ edge-to-edge, status-bar, display-cutout, navigation, keyboard, and splash-screen compatibility improvements from the private 0.1.106 test build.

What to test

  1. Scan with a previously saved radio and a new Meshtastic radio nearby. Confirm the new radio appears above connection details and saved radios, and that stronger new radios appear first.
  2. Start Active Patrol and confirm the ongoing notification follows the Map's TX and RX totals, mode, region, Watcher result, and next-test countdown.
  3. During a short wardrive, interrupt and restore the expected radio connection. Confirm GPS recording continues, radio work pauses, and the same trip resumes after the channel is ready.
  4. From a profile-linked installation, share a completed trip and confirm the public link shows aggregate coverage without the private route or radio identity. Unlink the app and confirm its active trip links stop working.
  5. Connect an enrolled radio after updating it to Meshtastic 2.8. When its node ID changed, use Update existing radio and confirm no new invite key is required and the earlier enrollment is retained.
  6. On Android 15 or later, check all tabs with gesture and three-button navigation, then open Chat with the keyboard visible. Confirm controls remain clear of system bars and display cutouts.

Android 0.1.106

Built October 2, 2026 · build code 107 · Private development OTA

  • Keeps app controls clear of the status bar, camera cutouts, and navigation controls when Android 15 or later enforces edge-to-edge display.
  • Preserves safe map, Chat, and tab layouts with gesture navigation, three-button navigation, and the on-screen keyboard.
  • Updates Android splash-screen compatibility for modern display cutouts.
  • Shrinks, optimizes, and obfuscates future Google Play bundles with R8 while retaining source-position metadata for Play crash reports. The private OTA build remains unminified for local diagnostics.

What to test

  1. Install the development OTA on Android 15 or later. Check every tab in both light and dark appearance and confirm headings and controls remain below the status bar and camera cutout.
  2. Test both gesture and three-button navigation. Confirm the bottom tabs, warning banners, and map controls stay above the system navigation area.
  3. Open Chat and show the keyboard. Confirm the channel selector, recent messages, composer, and send button remain reachable.
  4. Connect a test radio, open the map, and run a short wardrive. Confirm BLE, location, map controls, and saved uploads behave normally.

Android 0.1.105

Built September 25, 2026 · build code 106 · Google Play closed testing

  • Lets a saved wardrive continue uploading after the server permanently rejects one unusable GPS point. The bad point is skipped without deleting the rest of the session.
  • Keeps retryable connection, authentication, server, and trip-order failures queued instead of discarding them.
  • Rejects new Android locations with missing, non-finite, configured-over-limit, or server-impossible accuracy before they enter wardrive storage.
  • Replaces raw server validation JSON with a plain-language recent-issue notice.

What to test

  1. Update a phone that has saved sessions blocked by an accuracy_meters validation error, open FreqMapper, and confirm the pending count begins falling automatically.
  2. Open Settings → Profile & data and manually retry the saved session. Confirm unusable points are skipped while the remaining valid data uploads.
  3. Open Settings → Help & about → Recent issues and confirm the app explains that unusable saved GPS data was skipped without showing raw JSON.
  4. Interrupt connectivity during a retry. Confirm remaining data stays queued and resumes after the connection returns.

Android 0.1.104

Built September 24, 2026 · build code 105 · Google Play closed testing

  • Adds a close control to every warning banner so GPS accuracy and other notices cannot cover the map and Wardrive controls. Closing a banner hides the notice without erasing it from the recent issue history.
  • Adds in-app deletion for an account or this app's personal data. People can delete now or schedule deletion with seven days to cancel; contributed coverage remains on the community map without their identity attached.
  • Separates Report a bug and Request a feature forms. The app explains which text becomes public and keeps optional reply contact, diagnostics, and attachments private for FreqMapper administrators.
  • Safely pauses Active Patrol transmissions outside an approved region and resumes after valid regional authority is available. Receive mapping continues while transmissions are paused.

What to test

  1. During a wardrive, trigger a GPS accuracy warning and close it. Confirm the map and Wardrive controls remain usable and the warning is still available in Settings → Help & about → Recent issues.
  2. With a test account or unlinked test installation, open the data-deletion controls. Confirm the immediate and seven-day choices clearly explain what is removed, what coverage remains, cancellation, and recoverability.
  3. Open both feedback forms. Confirm required fields match the selected type and the optional reply contact, diagnostics, and attachments are described as private rather than part of the public feedback issue.
  4. In an approved boundary test, confirm Active Patrol pauses transmissions when regional authority is unavailable, continues receive mapping, and resumes only after valid authority is restored.

Android 0.1.103

Built September 20, 2026 · build code 104 · Google Play closed testing

  • Adapts the map information bar, navigation, wardrive controls, and map tools to split-screen windows on tablets and smaller phones.
  • Lets a replacement app retry a connected radio after the app is linked to the same profile as its earlier installation. Radio selection and pending uploads remain local to the phone.
  • Clarifies profile linking in Settings. The in-app unlink control appears when the connected service supports it; the profile website also offers unlinking.

What to test

  1. Open FreqMapper beside Google Maps on a tablet and a smaller phone. Confirm the map tools and Wardrive controls remain reachable as the divider moves.
  2. On a test profile linked before reinstalling, link the replacement app to that same profile and reconnect the radio. Confirm eligible enrollment recovery; an earlier unlinked installation still needs admin help.
  3. If the in-app unlink control appears, confirm it explains its effect and that linking again restores the association without deleting server records.

Android 0.1.100

Built September 18, 2026 · build code 101 · Google Play closed testing

  • Compares the connected radio's LoRa region, modem preset, frequency slot, primary channel name, and primary channel key with the selected region's official settings. Differences are explained without changing the radio.
  • Restores an eligible radio enrollment after a reinstall or phone change when the replacement app is linked to the same FreqMapper profile.
  • More reliably resumes retained wardrive uploads, including GPS samples, coverage tests, received mesh traffic, and the completed-session update.

What to test

  1. Connect a radio that matches its region and confirm the Radio tab reports a match. Change one setting on a test radio and confirm the difference is identified without FreqMapper changing the radio automatically.
  2. On a linked test profile, reconnect a radio saved under an earlier app installation and confirm its regional enrollment is restored.
  3. Briefly remove internet access during a wardrive, restore it, and confirm queued GPS, coverage-test, and received-mesh data upload automatically.
  4. Complete the wardrive and confirm its final state reaches the server without requiring a manual upload.

Android 0.1.99

Built September 16, 2026 · build code 100 · Google Play closed testing

  • Shows Meshtastic emoji tapbacks below the Chat message they reference, including the reacting node's name or short node identifier.
  • Keeps received tapbacks with the app's local seven-day Chat history.
  • Removes the managed wardriving channel from the Chat picker and rejects ordinary messages sent to it, reserving that channel for automatic coverage tests.

What to test

  1. Receive an emoji reaction to a known sent or received message and confirm it appears below the correct message with the reacting node's identity.
  2. Restart FreqMapper and confirm the reaction remains with that message in local Chat history.
  3. Change the same node's reaction and confirm the newer emoji replaces its earlier reaction instead of creating a duplicate.
  4. Prepare an Active Patrol channel and confirm it is absent from the Chat channel picker while normal Meshtastic channels remain available.
  5. Send messages on two normal channels and confirm neither is blocked by the wardriving-channel protection.

Android 0.1.98

Built September 16, 2026 · build code 99 · Google Play closed testing

  • Shows a dedicated Bluetooth access card with the current Nearby devices or legacy scanning-permission state and whether Bluetooth is turned on.
  • Prompts for the missing permission or asks Android to turn Bluetooth on before scanning or connecting instead of failing without a clear next step.
  • Explains unsupported Bluetooth, permission denial, Bluetooth-off, and scan failures separately, with direct recovery controls.

What to test

  1. Start with Nearby devices access denied and confirm Allow opens the correct Android permission prompt.
  2. Turn Bluetooth off, select Turn on, and confirm scanning resumes after Bluetooth is enabled.
  3. Deny access or leave Bluetooth off and confirm the Radio tab explains the exact problem and provides a useful recovery action.
  4. Grant access, scan, and connect to a Meshtastic radio normally.

Android 0.1.97

Built September 16, 2026 · build code 98 · superseded by 0.1.98

  • Prevents enrolled radios from being saved with a missing name by waiting for the Meshtastic Long Name before enrollment and using the Short Name or node ID only when needed.
  • Moves Offline Mode below the radio connection controls so connection and identity remain the first actions on the Radio tab.
  • Tightens and repositions the Top Watchers card so it stays close to the left edge without clipping in portrait or landscape.

What to test

  1. Enroll or reconnect a radio and confirm Enrolled on this phone shows its Meshtastic name instead of null or a Bluetooth label.
  2. Confirm Offline Mode appears below the radio connection controls.
  3. During online Active Patrol, rotate the phone and confirm the Watchers card remains compact, readable, and fully on screen.

Android 0.1.96

Released September 16, 2026 · build code 97

  • Adds a dedicated Offline Mode that pauses server access while securely queuing wardrive data until Go Online is selected.
  • Makes radio connection, app-version requirements, and wardrive readiness clearer before a trip starts.
  • Shows up to three recent Watcher short names from the latest completed mapping test during online Active Patrol and hides server-derived Watchers offline.
  • Opens the Google Play listing when a Play build requires an update instead of trying to install the private APK.

What to test

  1. Turn on Offline Mode, start an approved Silent Recon trip, and confirm no server-derived Watchers appear while work remains safely queued.
  2. Select Go Online and confirm queued trip data uploads.
  3. Start online Active Patrol and confirm the latest completed test can show up to three Watcher short names without covering map controls.
  4. Try an out-of-date Google Play build and confirm its update action opens the Play listing.

Android 0.1.95

Released September 15, 2026 · build code 96

  • Uses the connected Meshtastic radio's Long Name in enrollment and mapping records, then its Short Name or node ID when the Long Name is unavailable.
  • Stops using a Bluetooth advertising or connection label as the radio's saved identity.
  • Applies the same identity order on Android and iPhone source.

What to test

  1. Connect a radio whose Bluetooth label differs from its Meshtastic Long Name and confirm FreqMapper displays and saves the Long Name.
  2. Repeat with a radio that has no Long Name and confirm the Short Name or node ID is used instead.
  3. Confirm enrollment and a short mapped trip retain the same radio identity.

Android 0.1.94/build 95 was not published; the recorded releases move directly from Android 0.1.93/build 94 to Android 0.1.95/build 96.

Android 0.1.93

Released September 15, 2026 · build code 94

  • Rebuilds the Android app with its MapLibre and AndroidX native libraries processed by the Android NDK strip tool instead of the fallback packaging path.
  • Keeps the redesigned Trips list, mapped TX/RX activity, tappable signal timeline, and MapLibre 13.6.1 update from Android 0.1.92.

What to test

  1. Update from Android 0.1.92 and confirm Settings reports version 0.1.93.
  2. Open a saved trip and confirm both the mapped activity and signal timeline behave the same as in Android 0.1.92.
  3. Open the main map and confirm map rendering, panning, and zooming work normally.

Android 0.1.92

Released September 15, 2026 · build code 93

  • Redesigns Trips with mode-first summaries and clear duration, GPS, coverage test, and heard-packet counts.
  • Opens each trip's saved TX coverage tests and RX heard packets on a fitted map.
  • Adds a tappable signal timeline that separates Watcher-reported TX evidence from the driving radio's RX RSSI and SNR details.
  • Updates MapLibre to 13.6.1.

What to test

  1. Open Trips and confirm each trip shows its mode, time, duration, GPS points, TX coverage tests, and RX heard packets.
  2. Select View map and confirm the map fits the trip and displays its saved TX and RX activity.
  3. Open Signal timeline, tap both TX and RX points, and confirm the detail sheet clearly identifies the signal source and available RSSI/SNR data.
  4. Confirm trips without one of those activity types still open normally and explain the missing data without an error.

Android 0.1.91

Released September 14, 2026 · build code 92

  • Keeps quiet Bluetooth sessions alive with the changing heartbeat values expected by current Meshtastic firmware.
  • Keeps an explicitly connected radio active while FreqMapper is backgrounded.
  • Gives Android and the radio more time to release an old Bluetooth session before reconnecting.
  • Records the underlying connection cause and heartbeat timing in redacted support diagnostics.

What to test

  1. Connect a radio and leave it idle beside the phone for at least 15 minutes, confirming it remains connected.
  2. Background FreqMapper for at least five minutes, return to the app, and confirm Radio and Chat still show the live connection.
  3. Power the radio off and back on, then confirm the automatic reconnect uses the five scheduled attempts and restores the session.
  4. If the session disconnects unexpectedly, include the diagnostic timeline in a support report and confirm it identifies the SDK cause and last heartbeat.

Android 0.1.90

Released September 14, 2026 · build code 91

  • Fixes automatic radio reconnection so the five scheduled retries start real Bluetooth connection attempts.
  • Keeps the Chat header and channel selector visible while typing instead of allowing the keyboard to pan them off screen.
  • Keeps the message field above the keyboard and moves the send button higher beside it.

What to test

  1. Connect a radio, interrupt its Bluetooth connection, restore it nearby, and confirm an automatic retry reconnects without requiring Connect.
  2. Open Chat, select a channel, focus the message field, and confirm the Chat header and channel selector remain visible above the resized conversation.
  3. Type and send a message while the keyboard is open, confirming the message field and send button both remain visible and usable.

Android 0.1.89

Released September 14, 2026 · build code 90

  • Moves the enrollment reminder above Chat so it cannot cover the message box.
  • Opens the Radio tab and invite-key form directly when the enrollment notice is selected.
  • Adds a close control that hides the reminder without clearing the enrollment requirement or removing it from Recent Issues.

What to test

  1. Connect a radio that needs enrollment, open Chat, and confirm the enrollment notice stays above the conversation and message box.
  2. Send a Chat message while enrollment is still required, then select Open Radio and confirm the Radio tab and invite-key form open.
  3. Close the enrollment notice and confirm it stays out of the way while the Radio tab still shows that enrollment is required.

Android 0.1.88

Released September 14, 2026 · build code 89

  • Prevents the App updates panel from remaining on Checking for updates when Android correctly skips a recently completed automatic check.
  • Prevents a normal app restart from being recorded as The map could not be updated while the previous screen's background work is being closed.
  • Keeps genuine update-service, map, and session-refresh failures visible and actionable.

What to test

  1. Check for an update, close and reopen FreqMapper within 12 hours, and confirm App updates shows a settled status rather than an endless progress bar.
  2. Restart FreqMapper several times with a working connection and confirm no map-update warning flashes or appears in Recent Issues.
  3. Temporarily remove internet access and confirm a genuine update or map failure still produces useful guidance rather than remaining busy forever.

Android 0.1.87

Released September 14, 2026 · build code 88

  • Shows separate Verified and RX map counts for this app's current mapping session. Other users' activity is not included in these private counters, and closing the app clears them.
  • Keeps the connected radio's battery percentage in the map header without an unnecessary label.
  • Adds separate RX contribution totals and RX points to mapper profiles, leaderboards, and general statistics without counting them as verified TX.

What to test

  1. Start a mapping session and confirm Verified and RX both begin at zero and increase only from activity collected by this app during the current session.
  2. Confirm received traffic from other mappers can still appear on the public map without changing the private session RX count.
  3. Connect a radio and confirm its battery icon and percentage remain visible at the upper right of the map without a Node battery label.
  4. Open a mapper profile and the leaderboard and confirm RX samples and RX points are shown separately from verified points.

Android 0.1.86

Released September 14, 2026 · build code 87

  • Adds a channel selector to Chat and uses the channel names reported by the connected radio, with Primary Channel only as the unnamed slot-0 fallback.
  • Records passive RX mapping traffic heard on any configured channel the radio can decode while keeping secondary-channel chat available.
  • Adds server-approved offline Active Patrol, a cleaner enrollment dialog shown only when a connected radio needs enrollment, and radio battery status on the map.

What to test

  1. Connect a radio with several named channels and confirm Chat can send on each one and shows the radio's actual slot-0 name.
  2. During a mapping session, receive decodable traffic on primary and secondary channels and confirm both can create private RX samples.
  3. After one successful online Active Patrol start, disconnect the phone from the internet and confirm another approved start queues and later uploads its work.
  4. Connect an unenrolled radio and confirm enrollment opens as a focused dialog; reconnect an enrolled radio and confirm the dialog stays hidden.

Android 0.1.85

Released September 10, 2026 · build code 86

  • Allows previously configured phones to start and continue a wardrive offline, saving work securely and uploading it when internet access returns.
  • Adds clearer, dismissible offline status and streamlines Settings navigation.
  • Moves signed production builds to the live https://freqmapper.net service.

What to test

  1. Complete setup online, start a wardrive without internet, and confirm the app clearly reports that work is safely queued.
  2. Restore internet and confirm the queued session uploads automatically.
  3. Confirm a signed release build uses the production FreqMapper service while an Android Studio debug build continues to use development.

Android 0.1.84

Released September 10, 2026 · build code 85

  • Checks for a newer FreqMapper release at startup, after returning to the app, and when internet access returns.
  • Shows one clear Update now or Later prompt, then waits 24 hours before prompting again for the same release.
  • Keeps the update available under Settings for a manual check or installation.
  • Downloads the versioned APK, verifies its published SHA-256 checksum, and then opens Android's normal installer for final approval.
  • Treats normal releases as optional; Update required is reserved for a release explicitly marked incompatible or unsafe for older builds.

What to test

  1. From version 0.1.83, use the existing Settings updater to install 0.1.84; older builds cannot display a popup that was added by this release.
  2. Confirm Settings reports version 0.1.84 as current.
  3. When a later OTA is published, start 0.1.84 while online and confirm the new update prompt identifies that release.
  4. Choose Later, reopen the app, and confirm the same release does not immediately prompt again while it remains available in Settings.
  5. Choose Update now, approve Android's install-source permission if asked, and confirm Android opens its normal installer.
  6. Start offline and confirm the update check neither blocks mapping nor shows a network-error popup.

Android 0.1.83

Released September 10, 2026 · build code 84

  • Replaces the long Settings page with a short overview organized around the choices people use most.
  • Adds quick access to mapping-test timing, idle auto-stop, and map colors.
  • Groups the remaining controls into Driving & radio, Map & appearance, Profile & data, Help & app, and Advanced pages.
  • Shows connection readiness and active problems at the top without mixing diagnostics, account forms, and destructive actions into the main list.

What to test

  1. Open Settings and confirm the readiness card and three quick settings are visible without scrolling through the full configuration.
  2. Open each category and confirm its controls still work and the Android back button returns to the Settings overview.
  3. Confirm an active connection or radio issue appears near the top and opens the Help & app page.
  4. Confirm GPS recording and radio-cleanup controls are under Advanced.

Selected earlier milestones

These releases introduced larger capabilities that remain useful historical reference points. Other older versions are summarized in the complete archive.

Android 0.1.80

Released September 9, 2026 · build code 81

  • Shows a prominent, plain-language alert when a radio cannot connect, loses its connection, or cannot finish automatic reconnection.
  • Explains enrollment and shared-channel problems, including when a radio is still enrolled on another phone, and tells the user what to do next.
  • Reports GPS, wardrive startup, regional map, server, and saved-upload problems without exposing low-level system wording.
  • Keeps a private Recent issues history in Settings, marks recovered problems as resolved, and retains a short support code for diagnostics.
  • Can show an urgent system notification when an active wardrive stops or GPS and radio updates are lost while FreqMapper is in the background.

What to test

  1. Try starting with a radio enrolled on another phone. Confirm the start stops and the app clearly explains that an administrator must remove the previous enrollment.
  2. Turn off Bluetooth or internet temporarily. Confirm the app reports the problem and later marks it resolved after the connection returns.
  3. Open Settings and confirm Recent issues contains the explanation, suggested next step, time, and support code without exposing invite keys or secrets.

Android 0.1.75

Released September 8, 2026 · build code 76

  • Adds Signal Burst, an intentional one-shot coverage test available during Active Patrol or Silent Recon when the region permits transmissions.
  • Shares the hard 15-second safety timer with scheduled coverage tests. Sending a Signal Burst restarts Active Patrol's automatic timer instead of creating a second overlapping transmit schedule.
  • Allows up to three attempts in one 100 m coverage cell when each position is at least 25 m from the previous test. This lets a mapper retry from a meaningfully different part of a cell that was not heard without restarting the wardrive or sending repeated stationary packets.
  • Requires a fresh, accurate device position, a ready enrolled radio, and the shared wardriving channel. Regions configured for Silent Recon only disable Signal Burst, and the service independently rejects those manual records.
  • Keeps radio acceptance separate from independent Watcher proof; sending or queueing a burst does not by itself create verified coverage.

What to test

  1. Start Active Patrol, wait for a scheduled test, and confirm Signal Burst remains locked until the shared 15-second timer finishes.
  2. Move at least 25 m within the same coverage cell and send another test. Confirm the status advances to two and then three attempts without starting a new wardrive.
  3. Confirm another attempt is blocked after three tests in that cell, and that moving into a new cell makes testing available again.
  4. Start Silent Recon in a region that allows both missions and confirm Signal Burst works without starting an automatic transmit timer.
  5. In a region configured for Silent Recon only, confirm Signal Burst is visibly locked and no manual coverage test is transmitted.

Android 0.1.73

Released September 8, 2026 · build code 74

  • Automatically tries to reconnect after a fully connected radio drops out, using bounded retries after 2, 5, 10, 20, and 30 seconds.
  • Provides Cancel reconnect, stops retrying after a manual disconnect, and still requires an explicit connection after launching the app.
  • Reloads the radio and safely re-checks the enrolled shared wardriving channel after reconnecting.
  • Simplifies the Radio tab to the connection action and a clear Ready to drive result after the server, enrollment, and managed-channel checks pass. Technical node, channel, signal, pairing, firmware, and telemetry details no longer clutter this tab.

What to test

  1. Connect a radio, power it off, and confirm automatic reconnect attempts are shown without tapping Connect.
  2. Turn the radio back on during the retry window and confirm the app returns to Ready to drive after setup finishes.
  3. Tap Cancel reconnect and confirm no further automatic attempt begins.
  4. Confirm the connected Radio tab does not show radio statistics or channels.

Android 0.1.67

Released September 7, 2026 · build code 68

  • Added two clear wardrive missions: Active Patrol sends paced coverage tests while mapping received traffic, and Silent Recon maps eligible received traffic without sending coverage-test packets.
  • Replaced the basic mode buttons with richer mission cards that show TX + RX or RX-only behavior before the mapper starts driving.
  • Added regional policy enforcement. Region administrators may allow both missions or require Silent Recon throughout their region.
  • Kept the configured wardriving channel unchanged in Silent Recon. The app simply ignores it while transmissions are disabled.
  • Preserved the evidence boundary: received traffic never becomes verified TX coverage or awards verified-coverage points.

What to test

  1. Choose Active Patrol and confirm its mission card and running status show TX + RX behavior.
  2. Choose Silent Recon and confirm GPS and eligible RX activity continue while no coverage-test countdown or transmission appears.
  3. In a Silent Recon-only region, confirm Active Patrol is visibly unavailable and the trip starts in Silent Recon.
  4. Switch between the missions and confirm the radio's configured wardriving channel remains present and unchanged.
  5. Confirm received markers remain separate from verified coverage and points.

Android 0.1.65

Released September 7, 2026 · build code 66

  • Added private Received here sampling for ordinary Meshtastic text, position, node-info, and telemetry packets during a wardrive.
  • Purple RX markers and coverage cells use the driving phone's reception location and the connected radio's RSSI/SNR. They never infer the sender's location, create verified TX coverage, or award leaderboard points.
  • RX details compare the driving radio with up to three approved Watchers and label cross-region Watchers separately.
  • Added stateful TX markers for pending, relayed, verified, and completed not-heard tests.
  • Added saved Standard, Accessible, and Monochrome map palettes plus outline patterns that do not rely on color alone.
  • Added evidence-driven degradation: one credible newer miss retains the previous result, two misses across separate trips show degraded coverage, three show not heard, and a new verified receipt restores coverage.
  • Expanded the in-app legend with TX/RX priority, the three purple RX quality levels, hollow and filled markers, relay rings, and map controls.
  • Filtered Bluetooth scan results toward Meshtastic radios.
  • Made enrollment and shared-channel failures persistent in Settings, with separate invite-check and radio-programming stages. Diagnostic reasons do not retain the invite key.

What to test

  1. Update over the existing installation and confirm the saved radio, settings, and local trip history remain.
  2. Scan for and connect to a Meshtastic radio. Check that unrelated Bluetooth devices are reduced without hiding the intended radio.
  3. Start a wardrive, change tabs, and briefly background FreqMapper. Confirm GPS, radio tests, received packets, and queued uploads continue.
  4. Receive ordinary mesh traffic. Confirm a hollow purple marker appears at the phone's reception location and becomes filled after it is saved.
  5. Tap an RX marker. Confirm driving-radio signal remains separate from Watcher comparisons and cross-region Watchers are labeled.
  6. Try all three Color vision choices, restart the app, and confirm the choice and distinct coverage outlines remain.
  7. Apply a valid invite key and watch the enrollment and shared-channel stages. If an enrollment fails, confirm the reason remains visible and can be retried without exposing the invite key in Activity or diagnostics.

Android version archive

The table records the main tester-visible purpose of every Android version in the repository. Several early builds were rapid private-test iterations rather than broadly announced releases.

Version Date Main update
0.1.82 (83) Sep 9 Completed app-profile linking state and restored controls after unlinking
0.1.81 (82) Sep 9 App-to-profile linking, Radio-tab enrollment, and offline enrollment memory
0.1.80 (81) Sep 9 Plain-language mobile issue alerts, Recent issues history, and background warnings
0.1.79 (80) Sep 9 Scalable Received-here RX coverage and viewport-based Watcher loading
0.1.78 (79) Sep 9 Viewport-based verified TX coverage and independent map-layer refreshes
0.1.77 (78) Sep 9 Scalable coverage rendering and large-region map performance
0.1.76 (77) Sep 8 Free map exploration during an active wardrive
0.1.75 (76) Sep 8 Signal Burst and three-attempt coverage-cell testing
0.1.74 (75) Sep 8 Confirmation before removing a managed wardriving channel
0.1.73 (74) Sep 8 Automatic radio reconnection and a simplified Radio tab
0.1.72 (73) Sep 8 Clearer unexpected-disconnect status and recovery
0.1.71 (72) Sep 8 Guided stale-pairing recovery, radio readiness checks, and safer managed-channel cleanup
0.1.70 (71) Sep 8 Enrollment gating and expanded privacy-safe radio diagnostics
0.1.69 (70) Sep 8 Centered WarDrive launcher and manual coverage refresh
0.1.68 (69) Sep 7 Public aggregate purple RX coverage and aligned mission cards
0.1.67 (68) Sep 7 Active Patrol, Silent Recon, richer mission cards, and regional mission policy enforcement
0.1.66 (67) Sep 7 BLE worker crash containment, safer location callbacks, and protected crash reports
0.1.65 (66) Sep 7 Persistent enrollment diagnostics and actionable, privacy-safe failure reasons
0.1.64 (65) Sep 7 Complete cross-platform map legend and RX/TX display explanations
0.1.63 (64) Sep 7 Private received-here mapping, accessible palettes, stateful TX markers, and degradation states
0.1.62 (63) Sep 6 Meshtastic-focused Bluetooth scan results
0.1.61 (62) Sep 2 Animated map vehicles with reduced-motion support
0.1.60 (61) Sep 2 Wardrive display fixes and keep-screen-awake behavior while driving
0.1.59 (60) Sep 2 Generic tank and helicopter marker labels
0.1.58 (59) Sep 2 Expanded vehicle markers and corrected service connection
0.1.57 (58) Sep 2 Map controls and verified leaderboard access
0.1.56 (57) Sep 2 Mapping safeguards, adaptive 300 m/100 m coverage cells, and idle-stop policy
0.1.55 (56) Sep 1 Multiple enrolled radios per installation and saved-radio switching
0.1.54 (55) Sep 1 Server connection status and manual retry
0.1.53 (54) Sep 1 Encrypted offline wardrive upload queue and recovery
0.1.52 (53) Aug 31 Restored map follow and rejected unusable iPhone GPS fixes in shared mobile behavior
0.1.51 (52) Aug 31 Recenter reliably resets the driving zoom
0.1.50 (51) Aug 31 Closer default wardrive zoom
0.1.49 (50) Aug 31 Mobile memory, battery, and offscreen refresh cleanup
0.1.48 (49) Aug 31 Mesh-relay confirmation separated from Watcher verification
0.1.47 (48) Aug 31 Redesigned mobile chat and clearer delivery states
0.1.46 (47) Aug 31 Seven-day local chat history
0.1.45 (46) Aug 31 Improved map controls, legends, and shared mobile presentation
0.1.44 (45) Aug 31 Follow-up beta packaging and version update
0.1.43 (44) Aug 31 Simulated-location blocking for verified wardrives
0.1.42 (43) Aug 30 Center map on the first usable GPS fix
0.1.41 (42) Aug 30 Free map movement while no wardrive is active
0.1.40 (41) Aug 30 Android map markers aligned with iPhone
0.1.39 (40) Aug 30 Heading-up map markers
0.1.38 (39) Aug 29 Google Play beta build preparation
0.1.37 (38) Aug 27 Shared regional coverage on the Android map
0.1.36 (37) Aug 26 More reliable OTA downloads on slower connections
0.1.35 (36) Aug 26 Invite redemption waits for a connected radio
0.1.34 (35) Aug 26 Clearer region invite and enrollment instructions
0.1.33 (34) Aug 26 Apply mobile radio enrollment from Settings
0.1.32 (33) Aug 26 Require radio enrollment before mapping
0.1.31 (32) Aug 26 Wardrive screen stays synchronized with its foreground service
0.1.30 (31) Aug 26 Resume wardrive start after location permission is granted
0.1.29 (30) Aug 26 Refresh shared and current-session coverage
0.1.28 (29) Aug 26 Continue first wardrive start after obtaining GPS
0.1.27 (28) Aug 26 Retain local mapping markers for the app session
0.1.26 (27) Aug 26 Mark local mapping-test positions
0.1.25 (26) Aug 26 Require a ready radio before starting a verified wardrive
0.1.24 (25) Aug 26 Display a shared coverage snapshot
0.1.23 (24) Aug 26 Keep wardrives tied to fresh device GPS
0.1.22 (23) Aug 26 Retain radio details and trip evidence
0.1.21 (22) Aug 26 Reset local coverage counters per app session
0.1.20 (21) Aug 26 Retain the BLE session across screen rotation
0.1.19 (20) Aug 26 Refresh verified wardrive coverage
0.1.18 (19) Aug 26 Send the first mapping test reliably
0.1.17 (18) Aug 25 Wardrive send cadence and countdown status
0.1.16 (17) Aug 25 Radio chat and wardrive diagnostics
0.1.15 (16) Aug 25 Correct wardrive text dispatch and startup
0.1.14 (15) Aug 25 Correct broadcast dispatch and status badge
0.1.13 (14) Aug 25 Live wardrive session monitoring
0.1.12 (13) Aug 25 Verify radio acceptance before registering a test
0.1.11 (12) Aug 25 Send mapping tests from the foreground-service timer
0.1.10 (11) Aug 25 Keep the Android map live across tabs
0.1.9 (10) Aug 25 Use the HTTPS development service
0.1.8 (9) Aug 25 Connected-radio inspector
0.1.7 (8) Aug 25 Connected-radio GPS fallback
0.1.6 (7) Aug 25 Start wardriving after shared-channel setup
0.1.5 (6) Aug 25 Simplified radio connection status
0.1.4 (5) Aug 25 Prepare the wardriving channel after radio connection
0.1.3 (4) Aug 25 First signed private updater release under the final app identity
0.1.2 (3) Aug 24 Signed private Android updater preparation
0.1.1 (2) Aug 24 Diagnostics and safer wardrive startup
0.1.0 (1) Aug 21 Initial Android mapper foundation; renamed from Freq51 Mapper to FreqMapper

Reporting an Android problem

Include the exact version and build code, phone model, Android version, radio model and firmware, approximate time, and the action that failed. Screenshots of the map or a redacted Activity screen are useful. Never include invite keys, channel keys, API tokens, Bluetooth identifiers, private coordinates, or message content.

See Troubleshooting for recovery steps or use the Send feedback link at the top of this Help site.