From 0e5287d114497e2ffe2da788c28a84b09535ea8e Mon Sep 17 00:00:00 2001 From: Strycher Date: Tue, 4 Aug 2026 02:31:43 -0400 Subject: [PATCH] chore(#516): cut 1.4.0+65 Bump pubspec to 1.4.0+65 and add the four release-gate docs for the follow-up to the 1.3.0 launch: button/buzzer settings for headless devices (#483), Send Again on channel messages (#513), caps byte 2 in Device Info (#480), and per-radio data-correctness fixes (#505/#506, #472, #425, #495, #497). Co-Authored-By: Claude Opus 4.8 --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ discord/1.4.0.md | 15 +++++++++++++++ play/1.4.0.txt | 3 +++ pubspec.yaml | 2 +- release-notes/1.4.0.md | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 discord/1.4.0.md create mode 100644 play/1.4.0.txt create mode 100644 release-notes/1.4.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 37c481d..379c9ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,40 @@ All notable changes to Offband Meshcore. Pre-releases are tagged `-beta.N` / `-rc.N`. +## [1.4.0] - 2026-07-30 + +A follow-up to the 1.3.0 production launch: settings for headless devices, a +resend action for channel messages, and a batch of per-radio data-correctness +fixes. + +### Added + +- Button and buzzer settings for headless devices, capability-gated so they only + appear on radios that report support (#483). +- "Send Again" resend on channel messages, with the direct-message resend action + relabeled to match (#513). +- Device Info shows the second offband capabilities byte, so more capability bits + are visible at a glance (#480). +- `@[name]` self-mention matching is now ASCII case-insensitive, so a mention + matches regardless of case (#486). + +### Fixed + +- Block list is scoped per radio again: an accidental global block list was dropped, + so blocking on one radio no longer leaks to another (#505, #506). +- Per-radio in-memory caches are cleared on reconnect, so data from a previously + connected radio cannot linger into the next session (#472). +- Translation-model downloads retry transient 5xx errors with backoff instead of + failing outright, and the backoff tracks actual elapsed time (#425). +- `@[name]` mentions are treated as a verbatim wire token (no stray trim), matching + the reference contract (#497). +- Routed replies are sent at the contact's path-hash width instead of width 1 + (#495). + +### Under the hood + +- CI now guards against em-dash characters in `lib/` and `test/` (#464). + ## [1.3.0] - 2026-07-30 The first Offband release published to the Google Play production track. A large diff --git a/discord/1.4.0.md b/discord/1.4.0.md new file mode 100644 index 0000000..ed2b862 --- /dev/null +++ b/discord/1.4.0.md @@ -0,0 +1,15 @@ +🔧 **Offband Meshcore 1.4.0** is up, a focused follow-up to the 1.3.0 production launch. + +🔘 **Button and buzzer settings for headless devices.** On radios that report support, configure the button and buzzer straight from settings. + +🔁 **"Send Again" on channel messages.** Resend a channel message in one tap, with the DM resend action relabeled to match. + +🔎 **More capability detail in Device Info**, so more of your radio's capability bits are visible at a glance. + +🛠️ **Fixes:** the block list is scoped per radio again (an accidental global list is gone), per-radio caches clear on reconnect so nothing lingers from another radio, translation-model downloads retry on transient errors, and routed replies use the correct path width. + +**📥 Get it on Google Play:** search **Offband MeshCore**, or https://play.google.com/store/apps/details?id=app.offband.meshcore +💻 **Desktop (Windows / Linux) and Android APK:** https://github.com/OffbandMesh/meshcore-client/releases/tag/v1.4.0 +🌐 **Or run it in your browser:** https://offband.app + +💚 Thanks as always to the OKIMesh community (https://okimesh.org/). Offband is free and open source and always will be. If you'd like to help keep it going: https://offband.org/donate diff --git a/play/1.4.0.txt b/play/1.4.0.txt new file mode 100644 index 0000000..96bc762 --- /dev/null +++ b/play/1.4.0.txt @@ -0,0 +1,3 @@ +Offband Meshcore 1.4.0 + +A follow-up to the 1.3.0 launch. New button and buzzer settings for headless devices, a one-tap Send Again on channel messages, and more capability detail in Device Info. Fixes: the block list is scoped per radio again, per-radio caches are cleared on reconnect so nothing lingers from another radio, translation-model downloads retry on transient errors, and routed replies use the correct path width. diff --git a/pubspec.yaml b/pubspec.yaml index 861aee2..4fb2043 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.3.0+64 +version: 1.4.0+65 environment: sdk: ^3.9.2 diff --git a/release-notes/1.4.0.md b/release-notes/1.4.0.md new file mode 100644 index 0000000..01476bb --- /dev/null +++ b/release-notes/1.4.0.md @@ -0,0 +1,34 @@ +## Offband Meshcore 1.4.0 + +A focused follow-up to the 1.3.0 production launch: new settings for headless +devices, a resend action on channel messages, and a set of per-radio +data-correctness fixes. + +### New + +- **Button and buzzer settings for headless devices.** On radios that report + support, you can now configure the button and buzzer right from settings, + capability-gated so the controls only show where they apply (#483). +- **"Send Again" on channel messages.** Resend a channel message in one tap, with + the direct-message resend action relabeled to match (#513). +- **More capability detail in Device Info.** The second offband capabilities byte is + now shown, so more of your radio's capability bits are visible at a glance (#480). +- **Case-insensitive self-mentions.** An `@[name]` mention of yourself now matches + regardless of case (#486). + +### Fixed + +- **Block list is per-radio again.** An accidental global block list was dropped, so + blocking someone on one radio no longer carries over to another (#505, #506). +- **Clean slate on reconnect.** Per-radio in-memory caches are cleared on reconnect, + so data from a previously connected radio can't linger into the next session + (#472). +- **Sturdier translation-model download.** Transient server errors now retry with + backoff instead of failing the download outright (#425). +- **Mention and routing correctness.** `@[name]` mentions are handled as a verbatim + wire token, and routed replies are sent at the contact's path-hash width instead + of width 1 (#497, #495). + +Offband is free and open source and always will be. If you would like to help keep +it going, there is a donation page at https://offband.org/donate. Thank you for being +part of it.