Skip to content

v1.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Aug 21:19
· 18 commits to develop since this release
cee5131
chore: bump version to 1.2.1 (#22)

* docs: document the develop/main branching workflow (#12)

Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.

* docs: split README reference sections into docs/ (#13)

Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.

* docs: soften detection claims, add download CTA and Obtainium install (#14)

- Feature tables now say "flags possible X" instead of "detects X" for
  heuristic security checks (IMSI catcher, tracker, deauth, hidden
  camera, RF bug sweeper) — these can false-positive/miss, and the
  disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.

* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)

Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.

* Release: branching docs, README split, promotion fixes, demo GIF (#18) (#19)

* docs: document the develop/main branching workflow (#12)

Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.

* docs: split README reference sections into docs/ (#13)

Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.

* docs: soften detection claims, add download CTA and Obtainium install (#14)

- Feature tables now say "flags possible X" instead of "detects X" for
  heuristic security checks (IMSI catcher, tracker, deauth, hidden
  camera, RF bug sweeper) — these can false-positive/miss, and the
  disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.

* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)

Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.

* Release: branching docs, README split, promotion fixes, demo GIF (#18) (#20)

* docs: document the develop/main branching workflow (#12)

Explains the new branch protection setup — develop as the default
working branch, main as the protected release branch reachable only
via PR from develop with passing CI.

* docs: split README reference sections into docs/ (#13)

Moves Architecture, Project Structure, Battery Optimization,
Permissions, and Hardware Compatibility out of the README into their
own docs/ files, mirroring the existing docs/TOOLS.md pattern. The
README keeps a short summary + link for each so it stays a fast
on-ramp instead of the single source of truth for implementation
detail. Updates the FAQ cross-references and the bug report template
to point at the new files.

* docs: soften detection claims, add download CTA and Obtainium install (#14)

- Feature tables now say "flags possible X" instead of "detects X" for
  heuristic security checks (IMSI catcher, tracker, deauth, hidden
  camera, RF bug sweeper) — these can false-positive/miss, and the
  disclaimer already says so; the feature copy should match.
- Adds a prominent "Download Latest Release" button under the badges.
- Adds Obtainium install instructions to Download & Build.

* docs: add demo GIF with SSIDs/MAC addresses redacted (#17)

Real live scan of WiFi Analyzer, BLE Scanner, and Sensor Dashboard,
but the network/device list regions are blurred throughout — the
first version of this exposed real neighbor SSIDs and router MAC
addresses (one SSID contained what looked like a real person's name)
and was removed from develop's history. This version keeps the real
functionality (network counts, channel chart, live sensor readings)
visible while redacting anything identifying.

* fix: audit and repair core tools across the app

BLE Scanner:
- show real device names via scanRecord (not just paired-device cache)
- fix bookmark toggle not reflecting in UI during/after scan
- redesign device list layout to stop character-by-character text wrap

GPS Tracker:
- sort satellites by fix usage then signal strength
- add real satellite name lookup (GPS/Galileo/QZSS/IRNSS) and carrier frequency/band display
- fix list layout wrap issues

IR Remote:
- hide interactive remote UI entirely when no IR hardware is present

Permission gating:
- add missing PermissionGate to UWB, Wi-Fi Aware, and USB Camera screens

USB device access:
- add UsbConnectionManager for proper requestPermission/openDevice/claimInterface flow
- wire Connect/Disconnect UI into SDR and USB Camera screens

Wardriving:
- move scan collection into the foreground service so it survives in-app navigation
- fix CSV export failing on large sessions via FileProvider + EXTRA_STREAM
- redesign record list to lead with geo/time data instead of duplicating WiFi Analyzer's fields

Cell Tower Monitor:
- reset analyzer state on each new monitoring session (was carrying stale baseline across restarts)
- filter 3GPP "unavailable" sentinel values out of LAC/CID
- add PCI, RSRQ, SNR, timing-advance distance estimate, bandwidth, and carrier name (MCC/MNC lookup table)
- redesign screen with neighbor cell list and signal timeline chart

GPS Spoof Detector:
- read altitude/speed/satellite count from structured fields instead of regex-parsing check text

Network Scanner:
- widen host discovery from 5 probe ports to the full scan port set (was missing most non-server devices)

Signal Logger:
- fix RSSI text wrapping character-by-character down the screen edge

EMF Mapper:
- add gauge overflow indicator for readings above the 200uT dial max
- smooth baseline calibration over ~10 samples instead of locking to a single first reading
- add visible labels to reset/clear icon buttons

* fix: sign release builds with a stable keystore instead of shipping debug APKs

GitHub Releases were shipping renamed assembleDebug output, since the release
buildType had isMinifyEnabled but no signingConfig at all. Android Studio's debug
keystore is machine-specific and regenerates on reset, so any two debug builds can
carry different signing identities -- installing one over an existing install (or a
fresh download hitting a stale prior install) fails with "package conflicts with an
existing package".

- add a release signingConfig sourced from keystore.properties (local, gitignored)
  or RELEASE_* environment variables (CI secrets), applied only when configured so
  assembleDebug/lint/test and unconfigured assembleRelease builds are unaffected
- gitignore keystore.properties and *.jks/*.keystore
- add RELEASING.md documenting keystore generation and both local and CI signing
- add a release workflow that builds, signs, and uploads a proper *-release.apk to
  GitHub Releases on version tags, replacing the manual debug-APK upload process

Verified end-to-end with a throwaway local keystore: assembleRelease produces an APK
signed with the configured identity (confirmed via apksigner), and assembleDebug/test
still pass with no keystore configured.

* chore: bump version to 1.2.0 (versionCode 3)

* fix: fail release CI clearly when the keystore secret is bad

The v1.2.0 release run failed deep inside packageRelease with a cryptic
KeytoolException because RELEASE_STORE_FILE_BASE64 decoded to a corrupted
keystore. Verify the decoded keystore right after decoding so a bad secret
fails fast with an actionable message instead of a Gradle stack trace.

* fix: guard CellIdentityLte#getBandwidth behind API 28 check

getBandwidth() was added in API 28 but minSdk is 26, so lint correctly
flagged this as a NewApi violation blocking the required CI build check.

* chore: bump version to 1.2.1 (versionCode 4)

v1.2.0's release build never succeeded (broken keystore secret), so
re-cutting as 1.2.1 rather than reusing/moving the existing v1.2.0 tag.