chore: rename EastMesh observer release tracks

This commit is contained in:
Jared Dohrman
2026-05-23 20:26:10 +10:00
parent 9415dc4107
commit 52813b539f
21 changed files with 413 additions and 959 deletions
+34 -582
View File
@@ -2,8 +2,8 @@ schema_version: 1
tracks:
- companion-wifi
- repeater-bridge-espnow
- repeater-mqtt
- repeater-mqtt-bridge
- observer-eastmesh
- observer-bridge-espnow-eastmesh
generated_from: "Adjacent git tag comparisons plus non-merge commit subjects."
releases:
@@ -40,550 +40,6 @@ releases:
text: "Updated the companion_wifi firmware base to upstream MeshCore v1.15.0."
breaking_changes: []
- track: repeater-mqtt
version: "1.0.1"
tag: "repeater-mqtt-eastmesh-v1.0.1"
date: "2026-04-09"
previous_version: null
summary: "First EastMesh repeater_mqtt release with MQTT uplink, optional local web panel support, and EastMesh-specific release plumbing."
changes:
- type: added
area: mqtt
text: "Added the EastMesh repeater_mqtt firmware track with MQTT uplink support and EastMesh-specific firmware workflows."
- type: added
area: web-panel
text: "Added the initial local HTTPS repeater web configuration panel for supported targets."
- type: added
area: release
text: "Added EastMesh release documentation, local build guidance, and CI workflows focused on the supported Wi-Fi and MQTT firmware tracks."
- type: changed
area: build
text: "Moved web panel certificate generation into the build flow and kept the web panel optional for tighter firmware targets."
breaking_changes: []
- track: repeater-mqtt
version: "1.1.0"
tag: "repeater-mqtt-eastmesh-v1.1.0"
date: "2026-04-10"
previous_version: "1.0.1"
summary: "Expanded the repeater web panel with a fuller dashboard and MQTT settings, and stabilised HTTPS/TLS startup."
changes:
- type: added
area: web-panel
text: "Added a repeater dashboard and in-panel MQTT settings controls."
- type: changed
area: web-panel
text: "Stabilised HTTPS/TLS startup behaviour for the local repeater web panel."
- type: changed
area: mqtt
text: "Refactored MQTT uplink handling to support the expanded web panel controls and cleaner repeater status reporting."
- type: docs
area: setup
text: "Added CLI rescue guidance for setting Wi-Fi on companion Wi-Fi builds and refreshed README/license content."
breaking_changes: []
- track: repeater-mqtt
version: "1.1.1"
tag: "repeater-mqtt-eastmesh-v1.1.1"
date: "2026-04-10"
previous_version: "1.1.0"
summary: "Added mqtt.status control support and tightened the web panel and migration documentation."
changes:
- type: added
area: mqtt
text: "Added mqtt.status control/reporting support to make broker state easier to inspect from the repeater CLI."
- type: docs
area: migration
text: "Expanded migration guidance and aligned the docs site with the newer EastMesh structure."
- type: docs
area: web-panel
text: "Added dedicated web panel documentation and refreshed the site theme and navigation."
breaking_changes: []
- track: repeater-mqtt
version: "1.1.2"
tag: "repeater-mqtt-eastmesh-v1.1.2"
date: "2026-04-10"
previous_version: "1.1.1"
summary: "Cleaned up legacy MQTT preference handling, restored status publishing, and expanded web panel controls."
changes:
- type: fixed
area: mqtt
text: "Cleared legacy MQTT preference fields so older persisted settings stopped leaking into current repeater behaviour."
- type: fixed
area: mqtt
text: "Restored MQTT status publishing after the earlier control changes."
- type: changed
area: web-panel
text: "Expanded the repeater web panel controls and updated the related CLI and web panel docs."
breaking_changes: []
- track: repeater-mqtt
version: "1.2.0"
tag: "repeater-mqtt-eastmesh-v1.2.0"
date: "2026-04-11"
previous_version: "1.1.2"
summary: "Reduced MQTT and web-panel memory pressure, streamlined broker controls, and polished the repeater admin surface."
changes:
- type: changed
area: mqtt
text: "Reduced MQTT uplink memory pressure and improved runtime behaviour on constrained repeater targets."
- type: changed
area: web-panel
text: "Streamlined broker controls in the web panel and refreshed the end-user admin flow."
- type: fixed
area: web-panel
text: "Corrected the noise floor gauge colouring and exposed prv.key in the web console."
- type: added
area: board-support
text: "Added a battery reporting toggle for Heltec V3 repeater builds."
- type: docs
area: docs
text: "Simplified the end-user guides and aligned the web panel docs with the current UI."
breaking_changes: []
- track: repeater-mqtt
version: "1.2.1"
tag: "repeater-mqtt-eastmesh-v1.2.1"
date: "2026-04-12"
previous_version: "1.2.0"
summary: "Made broker outages less disruptive and expanded the repeater web panel with radio presets and richer operational controls."
changes:
- type: fixed
area: mqtt
text: "Added graceful MQTT reconnect backoff during broker outages."
- type: added
area: web-panel
text: "Added radio preset controls, repeater info cards, and clock sync controls to the repeater web panel."
- type: docs
area: release
text: "Updated release guidance so the web panel can be used for common repeater setup before being disabled for maximum MQTT headroom."
breaking_changes: []
- track: repeater-mqtt
version: "1.2.2"
tag: "repeater-mqtt-eastmesh-v1.2.2"
date: "2026-04-13"
previous_version: "1.2.1"
summary: "Reduced repeater web panel load pressure and improved MQTT diagnostics."
changes:
- type: changed
area: web-panel
text: "Reduced web panel runtime pressure so opening the admin UI had less impact on busy MQTT repeaters."
- type: added
area: mqtt
text: "Improved MQTT diagnostics and status visibility for troubleshooting broker and uplink issues."
- type: docs
area: web-panel
text: "Updated the web panel documentation to match the lighter loading behaviour and operational guidance."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.0"
tag: "repeater-mqtt-eastmesh-v1.3.0"
date: "2026-04-15"
previous_version: "1.2.2"
summary: "Added SD-backed stats history and split the repeater web UI into a lighter /app page and a dedicated /stats console."
changes:
- type: added
area: stats
text: "Added SD-backed stats archival and restore support for repeater history data."
- type: added
area: web-panel
text: "Added a dedicated /stats web console for current status, historical trends, neighbours, and recent events."
- type: changed
area: web-panel
text: "Reworked the local web UI so /app stays focused on configuration and admin controls while /stats handles visibility and history."
- type: fixed
area: stats
text: "Restored /stats Wi-Fi signal quality and tuned the /stats signal, noise floor, and RSSI meters for correct LoRa-oriented ranges."
- type: changed
area: board-support
text: "Removed ESP32-C3 repeater_mqtt target support and the related CI coverage."
- type: docs
area: docs
text: "Expanded board comparison guidance and refreshed the published web panel screenshots and docs."
breaking_changes:
- "ESP32-C3 repeater_mqtt targets were removed in this release."
- track: repeater-mqtt
version: "1.3.1"
tag: "repeater-mqtt-eastmesh-v1.3.1"
date: "2026-04-16"
previous_version: "1.3.0"
summary: "Made web stats safer on non-PSRAM repeaters by defaulting them off, switching constrained boards to live-only history, and allocating stats buffers lazily."
changes:
- type: fixed
area: web-panel
text: "Disabled web stats by default on non-PSRAM repeater builds so the local web UI places less memory pressure on constrained boards."
- type: changed
area: stats
text: "Changed non-PSRAM repeater builds to a live-only stats mode with smaller in-memory history buffers instead of archive-backed persistence."
- type: fixed
area: stats
text: "Lazy-initialised web stats buffers and released idle live-only buffers so opening /stats has less impact on busy or memory-constrained repeaters."
- type: changed
area: web-panel
text: "Extended the web stats status output and JSON summary payloads to report whether history is running in live-only mode."
- type: docs
area: web-panel
text: "Refreshed the published web panel screenshots and docs to use separate light and dark mode captures."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.2"
tag: "repeater-mqtt-eastmesh-v1.3.2"
date: "2026-04-17"
previous_version: "1.3.1"
summary: "Refined the repeater /stats UX, added better early-event and noise-floor handling, and persisted the ESP32 fallback clock across reboot."
changes:
- type: fixed
area: stats
text: "Removed the misleading neighbour Route column from /stats and cleaned up the neighbour table payload to match the stored data."
- type: changed
area: stats
text: "Retuned the /stats radio noise-floor meter and added a dedicated noise-floor trend with clearer ranges, colour bands, and orientation."
- type: changed
area: web-panel
text: "Reordered the /stats trend cards and changed Packet Activity to a bar chart for interval-based packet counts."
- type: fixed
area: stats
text: "Captured boot/session events earlier on live-only non-PSRAM repeaters so the Events panel is populated before /stats is first opened."
- type: fixed
area: clock
text: "Persisted the ESP32 fallback clock in NVS with immediate saves on sync and periodic checkpoints so boards without a hardware RTC recover a recent sane epoch after reboot."
- type: changed
area: web-panel
text: "Remembered whether the local web UI was last on /app or /stats and returned to that page after unlocking again."
- type: changed
area: mqtt
text: "Changed the Services MQTT status to report degraded when only some enabled MQTT brokers are connected instead of treating any single connected broker as fully up."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.3"
tag: "repeater-mqtt-eastmesh-v1.3.3"
date: "2026-04-17"
previous_version: "1.3.2"
summary: "Improved /stats memory visibility, tightened web stats startup on 2 MB-class PSRAM boards, polished the local repeater admin UI, and pulled in a high-level upstream MeshCore sync."
changes:
- type: fixed
area: stats
text: "Adjusted boot auto-capture for web stats to recognise 2 MB-class ESP32 PSRAM sizes instead of requiring an exact 2 MiB boundary."
- type: changed
area: stats
text: "Extended `get web.stats.status` with focused startup diagnostics for PSRAM size and boot auto-capture, while trimming low-value fields so the reply fits cleanly."
- type: changed
area: web-panel
text: "Updated the /stats Memory card to promote Heap Free, refine its headroom thresholds, and align the memory trend colours with the recent heap-free state."
- type: fixed
area: web-panel
text: "Captured the /stats summary memory snapshot earlier in the request path so the live memory values are more consistent while the page is loading."
- type: changed
area: web-panel
text: "Changed the local web panel tab title to use the repeater name when available, with a fallback to `Repeater Config`."
- type: changed
area: upstream
text: "Synced with newer upstream MeshCore `dev` changes, including region/default-scope CLI support, companion default-scope handling, board/platform updates, and refreshed upstream documentation."
- type: docs
area: web-panel
text: "Updated the web panel docs to describe the rough 2 MB PSRAM boot-history cutoff."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.4"
tag: "repeater-mqtt-eastmesh-v1.3.4"
date: "2026-04-18"
previous_version: "1.3.3"
summary: "Polished the repeater web panel, fixed a T-Beam 1W build issue, and synced the documented web CLI allowlist with the shipped browser console."
changes:
- type: fixed
area: board-support
text: "Added the missing T-Beam 1W flash partition size so the repeater_mqtt target builds with the correct partition layout."
- type: changed
area: web-panel
text: "Cached the repeater title across both the /app and /stats pages so the local admin UI presents a more consistent device label."
- type: changed
area: web-panel
text: "Applied the newer four-band threshold styling to the largest-block memory meters in the /stats Memory card."
- type: docs
area: web-panel
text: "Updated the documented web CLI allowlist to match the actual browser command gate, including the AGC reset interval commands and the troubleshooting note for `noise_floor` reporting `0`."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.5"
tag: "repeater-mqtt-eastmesh-v1.3.5"
date: "2026-04-19"
previous_version: "1.3.4"
summary: "Prepares the next repeater_mqtt release on top of upstream MeshCore firmware v1.15.0."
changes:
- type: changed
area: upstream
text: "Updated the repeater_mqtt firmware base to upstream MeshCore v1.15.0."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.6"
tag: "repeater-mqtt-eastmesh-v1.3.6"
date: "2026-04-20"
previous_version: "1.3.5"
summary: "Opened the repeater web CLI fully after login, added HTTP-to-HTTPS redirect support, preserved /stats through the login bounce, and fixed 4 MB repeater partition layouts."
changes:
- type: changed
area: web-panel
text: "Removed the browser-side repeater CLI allowlist so authenticated web panel sessions can run the same CLI commands accepted by the repeater."
- type: added
area: web-panel
text: "Added a lightweight local HTTP listener that redirects browser requests to the repeater's HTTPS web panel URL."
- type: changed
area: web-panel
text: "Changed the login flow so refreshing /stats and re-authenticating returns to /stats without persisting the last page in browser storage."
- type: fixed
area: board-support
text: "Updated repeater_mqtt partition layouts for 4 MB boards so the affected targets use the correct flash sizing."
- type: docs
area: web-panel
text: "Updated the repeater web panel and custom CLI docs to reflect full web CLI access and the new HTTP-to-HTTPS behavior."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.7"
tag: "repeater-mqtt-eastmesh-v1.3.7"
date: "2026-04-20"
previous_version: "1.3.6"
summary: "Made MQTT IATA explicit on fresh repeater installs, blocked broker connects until it is configured, and surfaced the missing-IATA state in the web panel and CLI status."
changes:
- type: changed
area: mqtt
text: "Changed fresh repeater_mqtt defaults to use `mqtt.iata=UNSET` instead of pre-filling Melbourne."
- type: fixed
area: mqtt
text: "Blocked EastMesh and LetsMesh broker connection attempts while `mqtt.iata` is unset, and reported `invalid iata` in `get mqtt.status` for enabled brokers until a real code is saved."
- type: changed
area: web-panel
text: "Added a top-of-page warning banner and inline MQTT Settings warning when the repeater still needs its MQTT IATA configured."
- type: docs
area: mqtt
text: "Updated the custom CLI and web panel docs to describe the unset-first MQTT IATA flow and the resulting broker behaviour."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.8"
tag: "repeater-mqtt-eastmesh-v1.3.8"
date: "2026-04-21"
previous_version: "1.3.7"
summary: "Expanded repeater `/stats` with environment telemetry and persisted trends, and hardened archive startup on shared-SPI boards."
changes:
- type: fixed
area: web-panel
text: "Fixed Radio Settings preset application in the repeater web panel so the generated `set radio` command uses the comma-separated format accepted by the CLI."
- type: added
area: board-support
text: "Added T-Beam 1W repeater fan CLI controls with persisted mode and post-TX timeout settings."
- type: added
area: board-support
text: "Added T-Beam 1W manual fan mode handling so `fan off` stays off, `fan on` stays on, and TX hold only applies while the board is in auto mode."
- type: fixed
area: stats
text: "Stabilised T-Beam 1W web stats with SD archive enabled by making archive access reuse the same SPI object as the LoRa radio on the board's shared SPI bus."
- type: added
area: web-panel
text: "Added an optional `Environment` section on `/stats` for boards that expose GPS or environmental telemetry, and hid metrics that have no current reading."
- type: added
area: stats
text: "Extended `/stats` history persistence in PSRAM and on the SD-backed archive to capture supported environment telemetry, including voltage, temperatures, humidity, barometer, altitude, and GPS satellites."
- type: added
area: stats
text: "Added environment trend series to `/stats`, including a GPS satellites graph that only appears when GPS is enabled."
- type: fixed
area: board-support
text: "Hardened archive startup on the T-Beam S3 Supreme by providing a safe default shared-archive SPI hook so boards without an override do not crash during early boot."
- type: docs
area: docs
text: "Updated the web panel, API, and custom CLI docs to cover the environment summary/trends, stats persistence behaviour, and existing T-Beam 1W fan controls."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.9"
tag: "repeater-mqtt-eastmesh-v1.3.9"
date: "2026-04-22"
previous_version: "1.3.8"
summary: "Reduced unnecessary repeater battery polling by removing hot-loop MQTT sampling and reusing throttled battery reads across stats and web status paths."
changes:
- type: fixed
area: mqtt
text: "Stopped rebuilding the MQTT status battery reading from a fresh ADC sample on every repeater loop iteration and switched that path to a throttled cached value instead."
- type: changed
area: stats
text: "Reused a single battery sample across the web stats history and summary builders so one logical stats operation no longer performs multiple immediate battery reads."
- type: fixed
area: board-support
text: "Reduced Heltec V3 battery-sense activity while MQTT and web features are active, while still keeping explicit status and telemetry requests on a fresh reading path."
- type: changed
area: board-support
text: "Removed the obsolete battery reporting toggle path and its stale CLI documentation now that repeater battery sampling is handled correctly without a board-level reporting disable switch."
- type: docs
area: docs
text: "Updated the custom CLI docs to note that repeater MQTT background battery sampling is now rate-limited while explicit status and telemetry requests still refresh immediately."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.10"
tag: "repeater-mqtt-eastmesh-v1.3.10"
date: "2026-04-22"
previous_version: "1.3.9"
summary: "Made `/stats` battery display board-aware and corrected count-trend rendering for restored packet activity and GPS satellites."
changes:
- type: changed
area: stats
text: "Updated the `/stats` Core battery meter to prefer a board-reported battery percentage when available and otherwise scale from a board-specific battery voltage range instead of a fixed single-cell assumption."
- type: added
area: board-support
text: "Added default board battery range hints to the board abstraction and set the T-Beam 1W repeater battery profile to a 2S `6000-8400 mV` range for the web stats path."
- type: fixed
area: web-panel
text: "Corrected `/stats` packet activity and GPS satellites bar charts so restored zero values no longer draw phantom bars and the final bar uses the same spacing as the rest of the series."
- type: added
area: mqtt
text: "Added a `get mqtt.client_version` repeater CLI command and exposed the same value in the `/app` quick MQTT command buttons."
- type: changed
area: web-panel
text: "Reworked the `/app` Info panel to show `Version` and `Client Version`, and moved `Clock UTC` into Repeater Settings beside Device Name."
- type: fixed
area: web-panel
text: "Narrowed `start ota` handling so the repeater only releases the local HTTP redirect listener on port `80`, allowing ElegantOTA to start without unnecessarily stopping the rest of the repeater services."
- type: docs
area: docs
text: "Updated the web panel, API, and custom CLI docs to describe the board-aware battery display, the new MQTT client-version command, and the revised `/app` layout."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.11"
tag: "repeater-mqtt-eastmesh-v1.3.11"
date: "2026-04-23"
previous_version: "1.3.10"
summary: "Makes OTA startup consistent across command sources, fixes T-Beam 1W SX1262 repeater builds, and cleans up PMU-backed battery stats in `/stats`."
changes:
- type: fixed
area: web-panel
text: "Moved OTA startup preparation into the shared repeater web service path so `start ota` now behaves consistently whether it is triggered from the web panel, serial CLI, or a remote CLI session."
- type: fixed
area: web-panel
text: "Fixed the old repeater OTA redirect glitch so starting an upgrade no longer falls into the earlier odd redirect behaviour before the OTA page loads."
- type: fixed
area: board-support
text: "Added the missing `USE_SX1262` build flag for the LilyGo T-Beam 1W repeater target so the `*_repeater_mqtt` variant builds with the correct radio configuration."
- type: fixed
area: stats
text: "Cleaned up `/stats` battery details on PMU-backed boards so the Core battery card no longer shows a synthetic battery-voltage range beside a board-reported battery percentage."
- type: docs
area: web-panel
text: "Updated the web panel and custom CLI docs to note the OTA redirect fallback on older builds and to describe the consistent `start ota` handling across command sources."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.12"
tag: "repeater-mqtt-eastmesh-v1.3.12"
date: "2026-04-27"
previous_version: "1.3.11"
summary: "Hardens T-Beam 1W SD archive access, reduces planned MQTT JWT refresh noise in `/stats`, and adds an Australian region shortcut to the repeater web panel."
changes:
- type: fixed
area: board-support
text: "Hardened T-Beam 1W SD archive mounting and recovery on the shared SPI bus by deasserting other chip selects, using a conservative SD SPI clock, and avoiding unnecessary SPI reinitialisation during recovery."
- type: changed
area: mqtt
text: "Extended MQTT JWT lifetime and marked planned token refresh reconnects so `/stats` records `mqtt_token_refreshed` instead of a misleading short disconnect/connect event pair."
- type: added
area: web-panel
text: "Added a `Region (Australia)` selector under `/app` Radio Settings that creates and allows the base `au` region plus the selected `au-STATE` region, then persists the region map."
- type: docs
area: web-panel
text: "Updated the web panel and custom CLI docs for the planned MQTT token-refresh event and the new web-panel region shortcut."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.13"
tag: "repeater-mqtt-eastmesh-v1.3.13"
date: "2026-04-28"
previous_version: "1.3.12"
summary: "Adds a safe MQTT WebSocket preflight for broker failover, restores clean MQTT client destruction when the heap is healthy, and clarifies that EastMesh MQTT repeaters feed Eastern Australia Core telemetry."
changes:
- type: fixed
area: mqtt
text: "Added a bounded WebSocket upgrade preflight before MQTT connects and reconnects so down or misrouted brokers that return non-upgrade HTTP responses are backed off before the ESP32 IDF 4.4 WebSocket transport can corrupt heap."
- type: fixed
area: mqtt
text: "Restored normal MQTT client destruction when heap integrity is clean, while keeping a guarded abandon path if heap poisoning is already detected before `esp_mqtt_client_destroy()`."
- type: changed
area: mqtt
text: "Reduced dual-broker connection pressure by checking both free internal heap and largest internal heap block before starting a second broker while another broker is already connected."
- type: changed
area: mqtt
text: "Switched retrying disconnected MQTT clients to `esp_mqtt_client_reconnect()` instead of destroying and recreating the client on every reconnect attempt."
- type: changed
area: mqtt
text: "Scoped MQTT TLS CA selection per broker instead of passing the combined CA bundle on Arduino-ESP32 2.x builds, while keeping certificate-bundle support for newer ESP-IDF stacks."
- type: docs
area: readme
text: "Updated the README to describe EastMesh as an Eastern Australia community mesh network, introduce CoreScope telemetry, and warn that MQTT repeater builds are intended for Eastern Australia repeaters only."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.14"
tag: "repeater-mqtt-eastmesh-v1.3.14"
date: "2026-04-30"
previous_version: "1.3.13"
summary: "Fixes `/stats` GPS visibility and no-PSRAM trend capture, improves web-panel session recovery and App/Stats navigation on constrained boards, quiets absent I2C sensor probes, and prevents truncated MQTT offline status payloads."
changes:
- type: fixed
area: stats
text: "Updated `/stats` GPS gauges and satellite trends to respect the active GPS setting so boards that report GPS hardware as on but deactivated after `gps off` no longer keep satellite metrics visible."
- type: fixed
area: stats
text: "Allowed no-PSRAM boards to collect the small live `/stats` history buffer whenever `web.stats` is enabled, so Heltec v3 targets can show recent trend samples without archive storage."
- type: fixed
area: web-panel
text: "Improved App/Stats navigation and session recovery by preserving the login token across panel views, validating stale browser tokens before loading settings, and clearing expired sessions quickly after a reflash."
- type: fixed
area: web-panel
text: "Delayed the red MQTT IATA warning until the panel has loaded the configured value, avoiding a misleading unset banner while `/app` is still fetching settings."
- type: fixed
area: sensors
text: "Probed optional I2C environmental sensor addresses before driver initialization so boards without those sensors no longer emit repeated Wire read errors during boot."
- type: fixed
area: mqtt
text: "Increased the MQTT offline last-will payload buffer so the retained offline status JSON is not truncated when release metadata and identity fields are near their configured limits."
- type: docs
area: web-panel
text: "Documented no-PSRAM `/stats` history behavior, stale browser-token recovery, and the lightweight `/api/session` endpoint used by the web panel."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.15"
tag: "repeater-mqtt-eastmesh-v1.3.15"
date: "2026-04-30"
previous_version: "1.3.14"
summary: "Publishes retained offline status for clean MQTT broker disables and IATA topic changes so operator-driven disconnects do not leave stale online status behind."
changes:
- type: fixed
area: mqtt
text: "Published explicit retained offline status before a connected broker is toggled off, matching operator expectations without relying on last-will behavior that only fires on unclean disconnects."
- type: fixed
area: mqtt
text: "Published retained offline status to the old status topic before `mqtt.iata` changes, then restarted connected broker clients so they reconnect and publish online status under the new IATA path."
- type: docs
area: mqtt
text: "Updated the CLI and web-panel docs to describe retained offline status publishing for broker toggles and IATA changes."
- type: fixed
area: cli
text: "Matched no-argument MQTT and Wi-Fi `get` commands exactly so malformed commands with trailing text no longer execute as valid getters."
- type: changed
area: build
text: "Aligned release-style builds with direct PlatformIO builds by using the firmware source build date instead of stamping the current build day into `ver` output."
breaking_changes: []
- track: repeater-bridge-espnow
version: "1.15.0"
tag: "repeater-bridge-espnow-v1.15.0"
@@ -602,44 +58,40 @@ releases:
text: "Updated release guidance to document the repeater ESP-NOW bridge tag format and versioning rule."
breaking_changes: []
- track: repeater-mqtt
version: "1.4.0"
tag: "repeater-mqtt-eastmesh-v1.4.0"
date: "2026-05-05"
previous_version: "1.3.15"
summary: "Adds bridge firmware release plumbing and hardens web-panel feature defaults so non-web bridge targets build cleanly."
- track: observer-eastmesh
version: "2026.5.1"
tag: "observer-eastmesh-v2026.5.1"
date: "2026-05-23"
previous_version: "1.4.0"
summary: "Renames the EastMesh MQTT repeater release track and PlatformIO targets to Observer naming."
changes:
- type: added
- type: changed
area: release
text: "Documented the expanded bridge firmware release tracks alongside the existing repeater MQTT release flow."
- type: fixed
area: web-panel
text: "Scoped the default web-panel enablement to MQTT uplink builds so non-web ESP32 bridge targets do not compile calls to web services that are not linked."
text: "Renamed the EastMesh MQTT release tag format from `repeater-mqtt-eastmesh-v*` to `observer-eastmesh-v*`."
- type: changed
area: build
text: "Tightened EastMesh build target discovery so generated `${env:...}` references are not mistaken for PlatformIO environments."
breaking_changes: []
- track: repeater-mqtt-bridge
version: "1.4.0"
tag: "repeater-mqtt-bridge-eastmesh-v1.4.0"
date: "2026-05-05"
previous_version: null
summary: "First EastMesh repeater MQTT bridge release track, combining MQTT uplink builds with ESP-NOW bridge firmware artifacts."
changes:
- type: added
area: build
text: "Added `*_repeater_mqtt_bridge` build coverage for EastMesh MQTT repeater targets."
- type: added
area: release
text: "Added the `repeater-mqtt-bridge-eastmesh-v*` release tag format and draft-release workflow for MQTT bridge firmware artifacts."
- type: added
area: cli
text: "Exposed the active Wi-Fi channel in `get wifi.status` so MQTT bridge operators can align `bridge.channel` with the connected 2.4 GHz Wi-Fi channel."
text: "Renamed `*_repeater_mqtt` PlatformIO environments and release artifact prefixes to `*_repeater_observer`."
- type: docs
area: cli
text: "Added MQTT bridge CLI guidance for `get/set bridge.channel`, `get/set bridge.secret`, and channel alignment with `get wifi.status`."
- type: fixed
area: web-panel
text: "Kept the web service suspended during OTA start so the Start OTA path does not tear down the panel while OTA is taking over port `80`."
breaking_changes: []
area: docs
text: "Updated EastMesh release, local build, board, web panel, API, and CLI documentation to use Observer naming."
breaking_changes:
- "The EastMesh MQTT release tag format and PlatformIO target suffix changed to Observer naming."
- track: observer-bridge-espnow-eastmesh
version: "2026.5.1"
tag: "observer-bridge-espnow-eastmesh-v2026.5.1"
date: "2026-05-23"
previous_version: "1.4.0"
summary: "Renames the EastMesh MQTT bridge release track and PlatformIO targets to Observer ESP-NOW naming."
changes:
- type: changed
area: release
text: "Renamed the EastMesh MQTT bridge release tag format from `repeater-mqtt-bridge-eastmesh-v*` to `observer-bridge-espnow-eastmesh-v*`."
- type: changed
area: build
text: "Renamed `*_repeater_mqtt_bridge` PlatformIO environments and release artifact prefixes to `*_repeater_observer_espnow`."
- type: docs
area: docs
text: "Updated EastMesh release, local build, board, and CLI documentation to use Observer ESP-NOW naming."
breaking_changes:
- "The EastMesh MQTT bridge release tag format and PlatformIO target suffix changed to Observer ESP-NOW naming."