diff --git a/AGENTS.md b/AGENTS.md index cef15b7..27f58d5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,7 +71,7 @@ adb logcat -s MeshAnd MeshAnd/SDK - The emulator has no real Bluetooth, so BLE must be tested on a physical phone. - Toolchain: AGP 9.4.1 (built-in Kotlin), Kotlin 2.4.20, Gradle 9.8.0, compileSdk 37, targetSdk 36, minSdk 24 (Android 7; Meshtastic SDK minSdk 26 overridden in the manifest, core library desugaring on). - Versions live in `gradle/libs.versions.toml`. -- **App version:** `versionCode` / `versionName` in `app/build.gradle.kts` (currently 5 / 0.2.0; versionName was reset to 0.1.0 for the first public release, and versionCode keeps rising). Bump both for every APK handed out. +- **App version:** `versionCode` / `versionName` in `app/build.gradle.kts` (currently 6 / 0.3.0; versionName was reset to 0.1.0 for the first public release, and versionCode keeps rising). Bump both for every APK handed out. - **Release:** `./gradlew :app:assembleRelease` signs with `signing/meshand-release.jks`, using the passwords in `keystore.properties`. Both are gitignored: **never commit them, never print the passwords.** If the properties file is missing, the release build is unsigned. - **Remote:** `origin` is `git@github.com:mategogiberidze/MeshAnd.git` (branch `main`). - **Repository rules (GitHub rulesets, 2026-10-05):** diff --git a/CHANGELOG.md b/CHANGELOG.md index aaf4017..d58afdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ What changed in each MeshAnd version. The section for a version becomes the desc [GitHub Release](https://github.com/mategogiberidze/MeshAnd/releases), so write it for people using the app, not for developers. -## Unreleased +## 0.3.0 + +Chat, phone GPS for your radio, and radio details. ### New @@ -29,6 +31,13 @@ using the app, not for developers. - MeshAnd now uses version 0.2.0 of the Meshtastic SDK (the library that talks to your radio). Nothing changes in how you use the app. +### Updating + +- Install the new APK over 0.2.0. Your radio pairing, settings, trails and pins are kept. +- MeshAnd still mostly listens. It sends a chat message or a pin only when you tap **Send**, and + your phone's position only to your own radio, and only while **Phone GPS** is switched on. +- MeshAnd asks for location permission only when you switch on Phone GPS. + ## 0.2.0 Trails, shared pins, a GPS check, and a new look. diff --git a/README.md b/README.md index e281a3f..203eff7 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,22 @@ radio keeps re-sending an old position are flagged "GPS not updating". Choose who to watch, and get a notification if someone hasn't been heard for 15 minutes to 2 hours. + + + + + +### 💬 Chat +Every channel on your radio has its own conversation, and direct messages to one person get +theirs. You see when a message was delivered or relayed, and get a notification for new ones. + + + + +### 📡 Phone GPS for your radio +If your radio's GPS is stuck indoors, in a car or broken, MeshAnd can give it your phone's +location. The radio shares it with the team on its usual schedule. Off until you switch it on. + @@ -92,12 +108,15 @@ Choose who to watch, and get a notification if someone hasn't been heard for 15 **Also:** - **Stays connected in your pocket.** It works with the screen off, reconnects by itself and remembers your radio. -- **Remembers trails and pins** across restarts, with one button to clear them. +- **Radio details:** battery (or "Plugged in"), how busy the channel is, your own airtime, + uptime, and the radio's hardware, firmware, role and LoRa settings. +- **Remembers trails, pins and messages** across restarts, with one button to clear them. - **Light or dark theme**, or follow the phone. - **Tells you about new versions** by asking GitHub when it opens. This is its only internet use, and you can switch it off. -- **Mostly just listens.** Apart from pins you choose to send, MeshAnd never transmits anything - and never changes your radio's settings. +- **Mostly just listens.** It transmits only what you choose to send (messages and pins, plus + your phone's position to your own radio while Phone GPS is on), and never changes your radio's + settings. - **Only shows people heard in the last 24 hours**, so old nodes don't clutter the map. ## Why it exists diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6dd72c8..fd1bd57 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,8 +25,8 @@ android { // versionName is what people see (first public release: 0.1.0). versionCode is an internal // counter that must go up with every APK handed out; it stays at 4 because 0.4.0 test builds // with code 4 are already installed, and Android refuses to install a lower code over them. - versionCode = 5 - versionName = "0.2.0" + versionCode = 6 + versionName = "0.3.0" } signingConfigs { diff --git a/site/public/index.html b/site/public/index.html index 0f8aca0..91d4ab8 100644 --- a/site/public/index.html +++ b/site/public/index.html @@ -437,14 +437,14 @@

Shared pins

-

Chat Next version

+

Chat

Every channel on your radio has its own conversation, and direct messages to one person get theirs. You see when a message was delivered or relayed, and get a notification for new ones.

-

Phone GPS for your radio Next version

+

Phone GPS for your radio

If your radio's GPS is stuck indoors, in a car or broken, MeshAnd can give it your phone's location. The radio shares it with the team on its usual schedule. Off until you switch it on.

@@ -463,7 +463,7 @@

Quiet-teammate alerts

-

Radio details Next version

+

Radio details

See your radio's battery (or "Plugged in"), how busy the channel is, your own airtime, how long it has been running, and its hardware, firmware, role and LoRa settings.

@@ -471,7 +471,7 @@

Radio details Next version