Releases: mendhak/gpslogger
v134 - experimental significant motion, passive filter, bugfixes
Bugfix: Auto send alarm should get cancelled when logging stops. #1196
Bugfix: Ignore stale locations. This seems to happen when screen is off. #1224
Bugfix: Added ability to export profile as a stream #1220
Bugfix for FAQ activity on edge to edge layout for Android 15.
"Ignore battery optimization" is now mandatory because the OS starts killing services without it.
PR #1213 Adding passive location filter
PR #1218 Email bugfixes:
Adds a Message-ID header to outgoing emails to help reduce spam filtering by mail relays.
Fixes incorrect MIME types by removing a duplicated application/ prefix.
Ensures that the MIME-Version header is included, as recommended by email standards.
WorkManager: for HTTP based background work like Custom URL, should now make use of internet validation before attempting to send.
Experimental: Using significant motion sensor to prevent logging, to save battery
This uses the TYPE_SIGNIFICANT_MOTION sensor. https://developer.android.com/develop/sensors-and-location/sensors/sensors_motion#sensors-motion-significant
"A significant motion is a motion that might lead to a change in the user's location; for example walking, biking, or sitting in a moving car."
I have no idea how I overlooked this for 10 years.
The significant motion detection is provided by the OS itself, so it could be completely 'off' for some devices.
Verification:
cosign verify-blob gpslogger-134.apk --bundle gpslogger-134.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v134
v134-rc2
Verification:
cosign verify-blob gpslogger-134-rc2.apk --bundle gpslogger-134-rc2.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v134-rc2
v134-rc1
Verification:
cosign verify-blob gpslogger-134-rc1.apk --bundle gpslogger-134-rc1.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v134-rc1
v133 - layout fix
Issue #1110 - fix for the layouts on Android 15. What a nightmare this new feature is. So much pointless busywork.
Issue #1187 - auto send timer was causing the app to crash if the background work permission had been optimized or denied. I've now made it use Alarm Manager Compat.
Verification:
cosign verify-blob gpslogger-133.apk --bundle gpslogger-133.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v133
v133-rc1
Verification:
cosign verify-blob gpslogger-133-rc1.apk --bundle gpslogger-133-rc1.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v133-rc1
v132 - SDK upgrades, Android 4.x dropped
Maintenance release:
- SDK version upgrades.
- FDroid and sideloading should stop complaining about being built for older versions of Android.
- Jetpack needs a minSdk of 21 as of April 2024.
- Android 4.x no longer supported due to SDK upgrades
Internal code updates:
- Pending Intents need to indicate if they're mutable or immutable.
- Upgraded logger version and fix parameter formatting in log view fragment.
- GpsStatus is deprecated, using GnssStatus instead for older versions.
- Some pending Intents are still marked as mutable.
- Increased size of the queue for NMEA logger due to its rapid processing time.
- Rejection Handler now correctly identifies rejected items.
Verification:
cosign verify-blob gpslogger-132.apk --bundle gpslogger-132.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v132
v132-rc3
Verification:
cosign verify-blob gpslogger-132-rc3.apk --bundle gpslogger-132-rc3.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v132-rc3
v132-rc2
Verification:
cosign verify-blob gpslogger-132-rc2.apk --bundle gpslogger-132-rc2.apk.cosign.bundle --new-bundle-format --cert-oidc-issuer https://token.actions.githubusercontent.com --cert-identity https://github.com/mendhak/gpslogger/.github/workflows/generate-release-apk.yml@refs/tags/v132-rc2
v132-test1
version 132-test1
v131 - Migrating to WorkManager, OSM prompt option, file upload broadcast, notification for errors, SPD_KPH param
Oops, this got released as "131-rc2" in the version name. It's meant to be 131.
Housekeeping and Maintenance
The JobQueue library is quite good, but the library is abandoned, and the same developer has done some work on Android WorkManager.
Switching to WorkManager.
One limitation, you can't pass information in the constructor to the worker (like you did with the JobQueue), instead it has to be passed via a Data, and maximum data size is 10kb.
That size limit means instead of passing an array of locations, I have to pass the file name and get the worker to read from the file and build the locations itself.
I've also updated the build dependencies, some libraries too, seen in build.gradle and AndroidManifest.xml.
Issues
#1129 Clarifying that the auto send also sends when the file name changes.
#1131 OpenStreetMap option to prompt for details when logging starts.
#1083 Send a broadcast when a file is uploaded. This should allow users to delete the file if they'd like.
#1139 A new %SPD_KPH
custom URL parameter to help with logging to OwnTracks.
#1138 #1053 Show an error notification when permissions have been revoked but the user is trying to run the app.