diff --git a/CHANGELOG.md b/CHANGELOG.md index b36c288..6930a08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,64 @@ All notable changes to Offband Meshcore. Pre-releases are tagged `-beta.N` / `-rc.N`. +## [1.2.0] - 2026-07-21 + +A major uplift: the storage engine moved to a real database, the app got a new +navigation shell, and GIFs are now shareable across MeshCore clients. First +release cut end-to-end through CI (signed, all platforms). + +### Storage + +- **Bulk data (messages, contacts, channels, and more) now lives in a drift / + SQLite database** instead of individual SharedPreferences entries. Existing + data is **migrated automatically on first launch** and preserved, not + discarded (#335, #355, #348). +- The database is stored in the app-support directory, so it is not caught up in + OneDrive/Documents sync on desktop (#335). +- Message history is kept in full; only the in-memory window is bounded, so + reopening a conversation no longer risks losing older messages (#343). +- Storage failures that used to fail silently now surface (#306, #333). + +### Navigation + +- **New app shell with a hamburger nav drawer that can be pinned open** (#292). +- The channel list lives in the drawer and is switchable from inside a channel; + channels swap in place so a pinned panel stays put (#289). +- Map layer toggles moved into the nav panel; Disconnect and Settings moved into + the panel footer (#291, #290). +- Contacts gained a prebuilt filter rail, including a Sensors type (#307, #308). +- Back-button behavior fixed: back now backgrounds the app instead of killing + it, and no longer drops a user off a connected radio (#291). + +### GIFs + +- GIFs are now shared as a **Giphy URL** instead of the Offband-only `g:`, + so other MeshCore clients can open them (#282). +- Pasted Giphy / Tenor URLs render inline, behind a trusted-host allowlist + (#283, #284). + +### Other features + +- Desktop window position and size are remembered across launches (#349). +- Reach a contact's settings from its long-press menu (#351). +- FEM LNA toggle in Radio Settings and Offband capabilities shown in Device Info, + gated on firmware support (#304). +- Message arrival time (rxTime) is logged and persisted, distinct from the + claimed send time (#285). + +### Fixes + +- You can no longer accidentally block your own node (#250). +- Path length decodes per the firmware contract (width-aware), and path + diagnostics report units truthfully (#309, #298). +- Connecting no longer rewrites the entire preferences file per channel (#306). + +### Under the hood + +- Offband is now buildable and deployable as a web app (offband.app), and every + release is built, signed, and published across Android, Windows, Linux, and web + through CI. + ## [1.1.2-rc.3] - 2026-07-17 Combined entry for rc.2 (versionCode 59) and rc.3 (versionCode 60). Both shipped diff --git a/discord/1.2.0.md b/discord/1.2.0.md new file mode 100644 index 0000000..3700c95 --- /dev/null +++ b/discord/1.2.0.md @@ -0,0 +1,13 @@ +**Offband Meshcore 1.2.0 is out** 🚀 + +This is a big one, and the first release built + signed + shipped for every platform automatically through our new CI pipeline. + +🗄️ **New storage engine.** Your data now lives in a real SQLite database instead of scattered preference files. Existing messages and contacts migrate automatically on first launch, nothing gets dropped, and full message history is preserved. On desktop it no longer fights with OneDrive/Documents sync. + +🧭 **New navigation.** A hamburger drawer you can **pin open**, with the channel list built in and in-place channel switching so you never lose your place. Map layer toggles and a contacts filter rail moved into the panel, and the back button finally behaves. + +🎞️ **Cross-client GIFs.** GIFs now send as a Giphy link instead of an Offband-only code, so folks on other MeshCore clients can actually see them. Pasted Giphy/Tenor links render inline. + +Plus: desktop window size/position is remembered, contact settings from the long-press menu, FEM LNA control where the radio supports it, and you can't accidentally block your own node anymore. + +Grab it for your platform below. Full changelog in the repo. diff --git a/play/1.2.0.txt b/play/1.2.0.txt new file mode 100644 index 0000000..92d6e69 --- /dev/null +++ b/play/1.2.0.txt @@ -0,0 +1,8 @@ +What's new in 1.2.0. A major update. + +- Your data now lives in a real database. Existing messages and contacts migrate automatically on first launch, nothing lost. +- New navigation drawer you can pin open, with the channel list built in and in-place channel switching. +- GIFs share as links now, so people on other MeshCore apps can see them. +- Desktop remembers its window size and position. +- Reach contact settings from the long-press menu. +- Back-button, path decoding, and connect-speed fixes. \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index bd175d8..0da6b94 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.1.2-rc.3+60 +version: 1.2.0+61 environment: sdk: ^3.9.2 diff --git a/release-notes/1.2.0.md b/release-notes/1.2.0.md new file mode 100644 index 0000000..85038df --- /dev/null +++ b/release-notes/1.2.0.md @@ -0,0 +1,44 @@ +## Offband Meshcore 1.2.0 + +A big one. This release rebuilds how Offband stores your data, gives the app a +new navigation shell, and makes GIFs work across every MeshCore client. It is +also the first Offband release built, signed, and published across all platforms +automatically through CI. + +### Your data now lives in a real database + +Messages, contacts, channels, and the rest have moved from scattered preference +entries to a proper drift / SQLite database. **Your existing data is migrated +automatically the first time you open this version, and nothing is thrown away.** +Message history is kept in full, storage errors no longer fail silently, and on +desktop the database no longer gets tangled up in OneDrive/Documents sync. + +Because this is a one-time on-device migration, it is worth backing up nothing in +particular but simply being aware that the first launch does a little more work +than usual. + +### A new way to get around + +There is a new navigation drawer you open from the hamburger button, and you can +pin it open so it stays alongside your chat. The channel list lives there and you +can switch channels without leaving the one you are in. Map layer toggles moved +into the panel, Disconnect and Settings moved to its footer, and Contacts gained +a filter rail. The back button now behaves the way you would expect: it +backgrounds the app instead of killing it, and it no longer knocks you off a +connected radio. + +### GIFs that work everywhere + +GIFs are now sent as a plain Giphy link instead of an Offband-only code, so +people on other MeshCore clients can actually see them. Pasted Giphy and Tenor +links render inline, behind a trusted-host allowlist. + +### Also in this release + +- Desktop remembers your window position and size. +- Reach a contact's settings straight from its long-press menu. +- FEM LNA control and Offband capability readout in Device Info, where the radio + supports it. +- You can no longer accidentally block your own node. + +Full details in the changelog.