From 9d0bdc477c28af23362300e8dc7159eb0513dbf8 Mon Sep 17 00:00:00 2001 From: R0ck Date: Wed, 9 Sep 2026 14:39:28 +0100 Subject: [PATCH] changelog: 0.1.0, the first public stable release Adds node.regions and the two engine fixes since 0.0.11 - the calculated noise fluctuation that gives seeds something to move, and the snapshot regions following the scenario - and marks the line stable. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Q9HbD44EKWWTRYgxbFGxf6 --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 283a522b..7d536bc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,39 @@ had changed in them - which is the gap this file exists to close. ## [Unreleased] +## [0.1.0] - 2026-09-09 + +The first public stable release. It carries everything the 0.0.x line built - +the RF-accurate channel, real MeshCore firmware native and emulated, the study +and experiment verbs, the two release channels - and closes the batch of fixes +the pre-release passes found. + +### Added + +- **`node.regions` reads a running node's real region map.** A region set + straight over a node's own console lands in the firmware and never in the + model, so `nodes.list` reported none for a node that held one. `node.regions` + asks the running firmware (`region list allowed`, `region default`), parses + the reply, and writes the model; `nodes.list` also carries `default_scope` + now. + +### Fixed + +- **The calculated noise floor fluctuates, so seeds move a run.** Calculated + reception was a pure function of geometry, so every seed produced the + identical run and a sweep's `rx_spread` - the figure every experiment delta + is read against - was structurally zero. The floor now carries a per-reception + Gaussian fluctuation (σ = 2 dB, tunable), so a link within a couple of dB of + threshold decodes on one seed and misses on the next. The run stays + reproducible, and the waveform path is untouched. +- **Regions applied to a running mesh stay in the view.** They reached the + scenario and the firmware - the mesh relayed scoped traffic - but vanished + from `nodes.list` within a tick, so the one place the manual says to read + regions answered "none" on a mesh where every node held one. The snapshot's + region columns are now re-projected from the scenario every readout, the way + the scores and trails already are, so a row cannot drift from the scenario + for longer than a readout. + ## [0.0.11] - 2026-09-09 ### Added