Repository navigation
Releases: trikset/trik-gamepad
Release list
v2.48 — timer-based pad send, coverage improvements, CI deps
- Timer-based pad send with configurable interval (noisy Wi-Fi fix)
- Reconnect safety: pad state reset on disconnect
- Branch coverage 85.58% (passes 85% gate)
- F-Droid submission template, version_manager generates .yml at bump
- CI: gradle/actions v6.3.0→v6.4.0, download-artifact v7→v8
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQlSStTp4j/Vg6SAbCQS/rThjV68AUCasUWLwAKCRCQS/rThjV6
8GVcAQDJd3xf3ulu7TKcnA21fTxWrilukC1onpnqnALkTnv/JgD8C1+RRXts3Vj6
g4GVqcu/g6IqDmgiBjHAjaKw6jh12AU=
=1Rfe
-----END PGP SIGNATURE-----
TRIK Gamepad 2.47 — F-Droid scanner compliance, submission template
What's new
This release fixes the final F-Droid scanner issue: the encrypted dependency metadata block inserted by the Android Gradle Plugin is now stripped from the APK, making the build fully compatible with F-Droid's reproducible build verification. A template for generating F-Droid submission metadata is now included in the repository, ensuring the metadata file for each release is consistent and correct.
Still fully offline: no account, no internet — just your local Wi-Fi to the robot.
Key improvements
- F-Droid scanner compliance: the encrypted dependency metadata block is now stripped from the APK signing block.
- F-Droid submission template: a reusable template with version substitution markers makes metadata generation consistent across releases.
- Pre-release validation gates (version_manager.py check) catch F-Droid metadata issues before tagging.
For developers
| Version | versionCode | minSdk | targetSdk |
|---|---|---|---|
| 2.47 | 210247 | Android 5.0 Lollipop (API 21) | 36 |
- feat: single-source app version, F-Droid reproducible builds, de/fr/vi locale metadata (#42)
- ci: publish GitHub release automatically from signed release tags (#43)
- feat: read versionCode from version.properties, add VERSION_CODE field (#44)
- feat: store fdroiddata metadata in-repo, sync via version_manager.py bump (#44)
- feat: add fdroiddata validation to version_manager.py check (7 gates) (#45)
- fix: asset naming uses versionCode, drop API suffix from Binaries (#45)
- fix: restrict UpdateCheckMode regex to v2.46+ (skip old tags) (#45)
- fix: disable encrypted dependency metadata block for F-Droid scanner (#46)
- feat: fdroiddata YAML template with substitution markers (#46)
Contributors: @iakov
Detailed comparison with previous release v2.44: v2.44...v2.47
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQlSStTp4j/Vg6SAbCQS/rThjV68AUCarfDlQAKCRCQS/rThjV6
8JXIAQCaBHMd9qtXmKfkwrZbxiGSdrFMFABSrHveIRX+CDuQPwD+NLqHKA0hlTUx
K5v/G5pAXPOxAhq1x6GLmsALAS6K+Qk=
=RRHy
-----END PGP SIGNATURE-----
TRIK Gamepad 2.46 — F-Droid ready, versionCode-based assets, pre-release validation
What's new
This release makes the app ready for the F-Droid free app store: the metadata has been cleaned up per the maintainer review, reproducible builds are verified, and the release pipeline is fully automated. The app now links its privacy policy directly from the project page for full transparency.
On the build side, the version numbering is now handled from a single source, and the release asset naming uses the version code instead of the API level — making it robust to future SDK bumps without manual URL updates. A pre-release validation script catches common mistakes before tagging.
Still fully offline: no account, no internet — just your local Wi-Fi to the robot.
Key improvements
- The privacy policy is now linked from the project page for full transparency.
- App versioning is consolidated into a single source (version.properties), making builds simpler and more reliable.
- Release asset names now use the version code (e.g. TRIKGamepad-210246-release.apk), automatically future-proof for minSdk changes.
- A pre-release validation script (version_manager.py check) runs 7 automated gates to catch F-Droid metadata issues before tagging.
- The app is prepared for the F-Droid store: reproducible builds verified, metadata follows the canonical format, signing key registered.
For developers
| Version | versionCode | minSdk | targetSdk |
|---|---|---|---|
| 2.46 | 210246 | Android 5.0 Lollipop (API 21) | 36 |
- feat: read versionCode from version.properties, add VERSION_CODE field (#44)
- feat: store fdroiddata metadata in-repo, sync via version_manager.py bump (#44)
- feat: add fdroiddata validation to version_manager.py check (7 gates) (#45)
- fix: asset naming uses versionCode, drop API21 suffix from Binaries (#45)
- docs: comprehensive F-Droid submission reference with error catalog
Contributors: @iakov
Detailed comparison with previous release v2.44: v2.44...v2.46
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQlSStTp4j/Vg6SAbCQS/rThjV68AUCareN7QAKCRCQS/rThjV6
8AOcAP9c2O1F3blxstcumxC8eFUDFBadjG/Ekn3Z2aLeS5ElAwEAjFFsU1/TDQzm
AdgWRSmco05EVsY8/B7o+NDNVjkNewQ=
=P0OK
-----END PGP SIGNATURE-----
TRIK Gamepad 2.45 — F-Droid readiness and version cleanup
What's new
This release lays the groundwork for distributing the app through the F-Droid store. The app now links its privacy policy directly from the main page, and the version numbering is handled from a single source — making builds simpler and more reliable. No changes to how you drive the robot: still fully offline, no account, just your local Wi-Fi.
Key improvements
- The privacy policy is now linked from the project page for full transparency.
- Internal version handling is consolidated into a single source, preparing for F-Droid store submission.
For developers
| Version | versionCode | minSdk | targetSdk |
|---|---|---|---|
| 2.45 | 210245 | Android 5.0 Lollipop (API 21) | 36 |
- feat: read versionCode from version.properties, add VERSION_CODE field (#44)
- feat: store fdroiddata metadata in-repo, sync via version_manager.py bump (#44)
- chore: bump v2.44→v2.45 for next release (#44)
Contributors: @iakov
Detailed comparison with previous release v2.44: v2.44...v2.45
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQlSStTp4j/Vg6SAbCQS/rThjV68AUCarVLWAAKCRCQS/rThjV6
8PVtAQDz2zd2XRPRczjhijWkh/A287vHrU/NGHENDjf14KyOhQEA2xPChQAQfaTS
d//Umfmmi/zL5FcUKXyP8kbU0adtggQ=
=cryj
-----END PGP SIGNATURE-----
TRIK Gamepad 2.44 — clear video status and F-Droid readiness
What's new
This release makes it easier to see what your robot is doing. If the video from the robot's camera cannot load within ten seconds, a clear badge now appears in the picture area — no more staring at an empty spot and wondering. A new crossed-eye symbol shows at a glance that there is no video, so you always know the state of the connection. On the inside, the app is now prepared for distribution through the F-Droid store, with a simpler version numbering scheme.
The app still works fully offline: no account, no internet — just your local Wi-Fi to the robot. You drive the robot from the touchscreen, and the video comes straight from the robot's camera.
Key improvements
- If the video feed cannot start, you now see a clear "no video" badge after ten seconds instead of an empty area.
- A new crossed-eye symbol on the HUD shows at a glance that there is no video, and the on-screen icons stay better synchronized.
- The app is now prepared for the F-Droid app store: store pages for French, German and Vietnamese were added.
- App versioning is now handled from a single source, which makes builds simpler and more reliable.
For developers
Version
| Version | versionCode | minSdk | targetSdk |
|---|---|---|---|
| 2.44 | 210244 | Android 5.0 Lollipop (API 21) | 36 |
Major changes
- feat: video load timeout with placeholder badge and button mapping docs (#40)
- feat: single-source app version with F-Droid reproducible builds and de/fr/vi locale metadata (#42)
- ci: publish GitHub release automatically from signed release tags (#43)
- feat: crossed-eye glyph for no-video, sync centre/chip eye, README restructure (#41)
- feat: add F-Droid fastlane metadata, bump to v2.44 (#39)
Contributors: @iakov
Detailed comparison with previous release v2.43: v2.43...v2.44
TRIK Gamepad v2.43
TRIK Gamepad v2.43
v2.42 — Kotlin rewrite (no prior tag published)
Complete Kotlin rewrite with zero Java files. Package: com.trikset.gamepad2.
For users:
- UDP control transport with robot keepalive liveness detection
- MJPEG and RTSP video streaming with auto-recovery
- Redesigned HUD with magic buttons, thumb pads, status pill
- Hardware gamepad support (D-pad, analog sticks, face buttons)
- Two-screen settings: app preferences + robot connection presets
- Diagnostics report builder with crash capture and share-in
- Video-source preset chips (Camera 1/2, USB, No video)
- Lossless WebP app icon, edge-to-edge display, 5 locale strings
- Accessibility: 48 dp targets, WCAG contrast, TalkBack labels
For developers:
- AGP 9.2.1, Gradle 9.7.1, configuration-cache enabled
- GitHub Actions CI: build, Robolectric tests (85% branch gate), emulator tests
- Static analysis: detekt, Lint, SpotBugs, Spotless (ktfmt)
- 77 Robolectric tests, JaCoCo 95% line / 85% branch gate
- Python tooling: gate scripts, APK analyzer, translation sync checker
v2.43 — Privacy policy, CI refresh
- In-app privacy policy link (store compliance)
- PRIVACY.md — bilingual EN/RU privacy document
- Dependency bumps: Pillow 12.3.0 (CVE), CI action updates
About system, keepalive, UI fixes.
- New
About systemin preferences (tap to copy). - minor UI fixes
- Keepalive message initial support
- Fixed crash for malformed video URI
Android 9 compatibility fix
Merge pull request #4 from iakov/master v31: New logo, Android 9, new build-tools
Compatibility fix
20180329-v29 v29: fix permissions in manifest
v27 +Oreo -Gingerbread
20171230-v27 Android 8.1 compatibility; dropped ver 2.3.x compatibility