Skip to content

Releases: owntracks/android

v2.6.0-beta1

v2.6.0-beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 12:53

Security

This release addresses a security advisory covering several intent-handling vulnerabilities. Users are strongly encouraged to upgrade. Thanks to Noel Gomillion & Pranati Majhi at Texas A&M for working with us on this.

  • External configuration loading (via owntracks:// URLs and config files) is now disabled by default and must be explicitly enabled in Settings → Advanced
  • A confirmation dialog is shown when enabling external configuration, warning that any config URL can fully reconfigure the app
  • The allowIntentControl intent receiver now requires a shared secret (intentAuthKey) in every intent, preventing unauthorised apps from triggering location publishes or changing monitoring mode
  • BackgroundService is no longer exported; only explicit intents from within the app are accepted
  • EXIT and SEND_EVENT_CIRCULAR intent actions have been removed
  • OngoingNotification service intents are now explicit
  • Security-related preferences (allowConfigurationByURIAndConfigFile, allowIntentControl, intentAuthKey) cannot be changed via imported config files or URLs
  • Certificate fingerprint verification migrated from SHA-1 to SHA-256

New features

  • New Remote Control preferences screen showing the intent auth key (with a copy-to-clipboard button) for use with automation apps such as Tasker
  • Config import screen now shows a structured diff of what is changing, with human-readable preference names, highlighting new values alongside the current values — unchanged settings are summarised rather than listed in full
  • Waypoints in an imported config are listed individually in the import review screen
  • Preference setting (Android 16 and later only) to allow user to enable GNSS location source for Significant Monitoring mode (#2155)

Bug fixes

  • DEBUG and VERBOSE log messages are no longer emitted to the system Logcat in release builds, preventing potential PII (e.g. coordinates) leakage via TimberInMemoryLogTree (CWE-532)
  • HTTP mode no longer treats an unparsable or empty response body as a send failure. A 200 OK response is sufficient to confirm a message was delivered successfully; response body parse errors are logged as warnings and ignored (#2242)
  • Fix geofences silently failing to register with Google Play Services on devices with significant uptime, due to a Long.MAX_VALUE overflow when computing the expiration time (#2245, thanks @Cooad)

v2.5.9

Choose a tag to compare

@github-actions github-actions released this 15 May 17:56
9dc39fc

Bug fixes

  • Location message validation now properly enforces minimum required fields (timestamp, latitude, longitude, and tracker ID or topic). Also, hopefully we don't crash on receiving a message with null values in (!) (#2235)

v2.5.8

Choose a tag to compare

@github-actions github-actions released this 15 May 17:56
69e3270

Bug fixes

  • Don't crash when MQTT reconnect is attempted with an invalid configuration (whoops!)
  • Don't crash when the MQTT client throws an unexpected exception during disconnect

v2.5.7

Choose a tag to compare

@github-actions github-actions released this 15 May 17:55
4a18111

New features

  • Belgian and Estonian translations added

Bug fixes

  • Fix slow start caused by replacing the map SDK on every resume.
  • Fixed map to show a sensible view when the activity is being resumed
  • My location fab now has a little more space from the edge of the display (#2182)
  • Google drive log export doesn't appear to fail (#2213)

v2.5.6

Choose a tag to compare

@github-actions github-actions released this 02 Mar 10:33
189cdd0

New features

  • Migrated message queue to use Room database instead of tape2 for better async performance and reliability
  • Updated map min zoom levels to allow viewing most of the world (#2176)

Bug fixes

  • Fix slow starts by avoiding blocking the main thread on startup with the disk-backed queue.
  • Significantly reduced battery drain and improved responsiveness in MQTT mode during poor network conditions by changing reconnection retry strategy from linear to exponential backoff
  • Don't show the directions toolbar on Google Maps when the user selects a region
  • Fix race condition on network change events (#2201 & #2202)
  • Fix MQTT reconnect task being silently ignored if another reconnect was already queued (#2203)

v2.5.5

Choose a tag to compare

@github-actions github-actions released this 28 Dec 13:42
6237c1e

New features

  • Visible reconnection feedback on Connection preferences page (#2156)

Bug fixes

  • "Request Location" button on contact now sends the command message to the right topic in MQTT mode (#2101)
  • Fixed MQTT not automatically reconnecting after network loss by preventing reconnect tasks from being cancelled prematurely (#2132)
  • Fixed crash when location provider returns null location on Android 16 (#2110)
  • Significantly reduced memory usage in logging infrastructure by reducing in-memory log buffer from 10,000 to 500 entries and eliminating redundant SimpleDateFormat instances (~98% memory reduction)
  • Improved side navigation drawer layout handling for better compatibility with system bars (#2102)

v2.5.5-beta1

v2.5.5-beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Dec 10:57
20c0d71

New features

  • Visible reconnection feedback on Connection preferences page (#2156)

Bug fixes

  • "Request Location" button on contact now sends the command message to the right topic in MQTT mode (#2101)
  • Fixed MQTT not automatically reconnecting after network loss by preventing reconnect tasks from being cancelled prematurely (#2132)
  • Fixed crash when location provider returns null location on Android 16 (#2110)
  • Significantly reduced memory usage in logging infrastructure by reducing in-memory log buffer from 10,000 to 500 entries and eliminating redundant SimpleDateFormat instances (~98% memory reduction)
  • Improved side navigation drawer layout handling for better compatibility with system bars (#2102)

v2.5.4

Choose a tag to compare

@github-actions github-actions released this 26 Aug 16:53

New features

  • Galician Translation (thanks to Miguel Anxo Bouzada)
  • Hebrew Translation (thanks to Ahiel and Natan)
  • Dutch Translation (thanks to all contributors)
  • Setting a preference that doesn't actually change the value won't have any effects (such as MQTT reconnecting) (#1875)
  • Status messages contain the app version and flavour
  • There's now an option to send a remote command "request location" to selected contacts from the map view
  • New experimental preference discardNetworkLocationThresholdSeconds that allows OT to discard locations from inaccurate providers (e.g. network) if there's been a recent location from an accurate provider (e.g. gps/fused). (#2053)

Bug fixes

  • Try to not block the main thread when generating an Status Message, which causes an ANR
  • Messages that fail to send because the endpoint isn't ready now retry every 10 seconds, not every second
  • Import config screen displays JSON config LTR under RTL locales
  • setting / importing configuration options that are enums are now case-insensitive
  • Fix regression where setting the locatorPriority preference using a number wasn't working (#1874)
  • Slightly less noisey and more useful logging at the info level
  • Persistent notification updates its "when" displayed time to be that of the last update (#1954)

v2.5.3

Choose a tag to compare

@github-actions github-actions released this 22 Sep 15:35
2f01b85

New features

  • OSM map is a little easier to zoom without accidentally rotating (#1825)

Bug fixes

  • Use AGP-provided version of R8 rather than version from Google so that F-Droid can build it (#1852)

v2.5.2

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:43
33fabdc

Changelog

Version 2.5.2

New features

  • Added cog field to location messages showing current bearing (#1777)
  • Added status remote command to retrieve system configuration status (#1618)
  • On crash, details written to file and then printed at the top of the log next time OT starts

Bug fixes

  • Fix crash where changing the theme via setting the preferences remotely causes the theme change to not happen on the main thread
  • Fix crash where trying to close the MQTT connection whilst it's connecting thows an unhandled exception
  • Only latest stop reason should be printed to logs on startup
  • Fix bug where geofencing client wasn't initialized properly, leading to very unreliable region transition detection (#1764)
  • Fix bug where some settings (pubQos, mqttProtocolLevel etc.) couldn't be set via the config editor (#1801)
  • Fix crash when trying to decode an invalid face image on an info card
  • Fix MQTT disconnect when receiving an encrypted message that can't be decrypted (#1831)
  • Fix HTTP client certs not working properly with Nginx (#1793)
  • Fix ability to handle trigger="v" and "C" locations generated from iOS (#1768)