diff --git a/CHANGELOG.md b/CHANGELOG.md index a3fccb5..a883565 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,11 +17,36 @@ allowed to change behaviour, not just add to it. ## [Unreleased] +## [0.3.5] — 2026-09-14 + +### Added + +- A release now rebuilds [meshterm.net](https://meshterm.net) from the tag, so the site + carries the version it links to. + ### Changed +- **The purge preview counts in columns.** The target ladder used to describe each rung in a + phrase — "keeps 45 · archives 12" — so comparing two rungs meant finding the numbers inside + two sentences. Keeps and archives are right-aligned columns now under a pinned + `TARGET / KEEPS / ARCHIVES` header, one lane measured across both sections so the numbers + run straight down the ladder; a rung that archives nothing shows a muted 0. The reasons a + contact ranks low sit in three lanes of their own under one header, instead of running on + from wherever the previous reason ended. + - The PayPal link on the Support page, and in the repository's funding file, is PayPal's own donate address rather than a shortener redirect, so a reader can see where it goes. +### Fixed + +- **A name with a skin tone or a cut-off joiner no longer pulls its row out of line.** Two + real contact names showed it: one carries a skin-tone modifier, which one width table + counted as two cells and the terminal draws as none, so the row reserved four cells for a + two-cell glyph; the other is a flag sequence cut at the name's byte limit just past its + joiner, which swallowed the padding space after it and left the name a cell short. A + modifier now measures zero, and a joiner joins only a pictograph. The purge preview, the + Contacts list and the chat picker all pad names through that one measurement. + ## [0.3.4] — 2026-09-13 ### Fixed @@ -715,7 +740,8 @@ deliberately not reconstructed here. - Two `TYPE_CHECKING` imports the test suite referenced but never imported, on paths that happened never to run. -[Unreleased]: https://github.com/jpmartineau/MeshTerm/compare/v0.3.4...HEAD +[Unreleased]: https://github.com/jpmartineau/MeshTerm/compare/v0.3.5...HEAD +[0.3.5]: https://github.com/jpmartineau/MeshTerm/releases/tag/v0.3.5 [0.3.4]: https://github.com/jpmartineau/MeshTerm/releases/tag/v0.3.4 [0.3.3]: https://github.com/jpmartineau/MeshTerm/releases/tag/v0.3.3 [0.3.2]: https://github.com/jpmartineau/MeshTerm/releases/tag/v0.3.2 diff --git a/README.md b/README.md index 9848da4..2daaa5b 100644 --- a/README.md +++ b/README.md @@ -75,14 +75,14 @@ if anything goes wrong at startup the window closes before you can read why. **Windows** — open Windows Terminal or PowerShell, `cd` to your downloads, then: ```powershell -.\meshterm-0.3.4-windows-x64.exe +.\meshterm-0.3.5-windows-x64.exe ``` **macOS and Linux** — open Terminal, `cd` to your downloads, then: ```bash -chmod +x meshterm-0.3.4-* -./meshterm-0.3.4-* +chmod +x meshterm-0.3.5-* +./meshterm-0.3.5-* ``` ### A word about terminals, on Windows @@ -120,7 +120,7 @@ becomes just `meshterm` from anywhere. > project. > > - **macOS**: *"cannot be opened because the developer cannot be verified"*. Clear it with -> `xattr -d com.apple.quarantine meshterm-0.3.4-*` and run it again. +> `xattr -d com.apple.quarantine meshterm-0.3.5-*` and run it again. > - **Windows**: *"Windows protected your PC"*. Click **More info → Run anyway**. > > Every release ships a `SHA256SUMS` file if you'd rather check the download first. @@ -130,10 +130,10 @@ becomes just `meshterm` from anywhere. > MeshTerm uses that same folder. Set `MESHTERM_HOME` to try one in isolation: > > ```bash -> MESHTERM_HOME=~/meshterm-test ./meshterm-0.3.4-* # macOS, Linux +> MESHTERM_HOME=~/meshterm-test ./meshterm-0.3.5-* # macOS, Linux > ``` > ```powershell -> $env:MESHTERM_HOME = "$HOME\meshterm-test"; .\meshterm-0.3.4-windows-x64.exe +> $env:MESHTERM_HOME = "$HOME\meshterm-test"; .\meshterm-0.3.5-windows-x64.exe > ``` > > Same variable if you run two radios and want them kept apart. diff --git a/docs/cli.md b/docs/cli.md index e5be218..7569e31 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -1460,7 +1460,7 @@ each link; the scripted face prints the link alone. **`--json`:** ```json -{"page":"discord","title":"Join Discord","version":"0.3.4","text":"Join the Discord\n Questions, ideas, bug reports, and mesh talk.\n\n • https://discord.gg/AZwe5Uvb3S","links":["https://discord.gg/AZwe5Uvb3S"]} +{"page":"discord","title":"Join Discord","version":"0.3.5","text":"Join the Discord\n Questions, ideas, bug reports, and mesh talk.\n\n • https://discord.gg/AZwe5Uvb3S","links":["https://discord.gg/AZwe5Uvb3S"]} ``` | Field | Type | Meaning | diff --git a/meshterm/__init__.py b/meshterm/__init__.py index 8715bb1..a1b0f0a 100644 --- a/meshterm/__init__.py +++ b/meshterm/__init__.py @@ -6,7 +6,7 @@ Supports USB, Bluetooth and TCP companion connection. For Windows, macOS and Lin from datetime import datetime -__version__ = "0.3.4" +__version__ = "0.3.5" __author__ = "Jean-Pierre Martineau" #: The year MeshTerm was first published; the copyright span starts here.