732 lines
39 KiB
YAML
732 lines
39 KiB
YAML
schema_version: 1
|
|
tracks:
|
|
- companion-wifi
|
|
- repeater-bridge-espnow
|
|
- observer-eastmesh
|
|
- observer-eastmesh-bridge-espnow
|
|
generated_from: "Adjacent git tag comparisons plus non-merge commit subjects."
|
|
|
|
releases:
|
|
- track: companion-wifi
|
|
version: "1.14.1"
|
|
tag: "companion-wifi-v1.14.1"
|
|
date: "2026-04-09"
|
|
previous_version: null
|
|
summary: "First EastMesh companion_wifi release with persisted Wi-Fi CLI settings and EastMesh-specific docs and release plumbing."
|
|
changes:
|
|
- type: added
|
|
area: companion-wifi
|
|
text: "Added the EastMesh companion_wifi release track for supported boards."
|
|
- type: added
|
|
area: wifi
|
|
text: "Added persisted Wi-Fi CLI settings so companion Wi-Fi devices can retain configured credentials across restart."
|
|
- 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: docs
|
|
text: "Refreshed the docs site structure and theme as part of the first EastMesh release set."
|
|
breaking_changes: []
|
|
|
|
- track: companion-wifi
|
|
version: "1.15.0"
|
|
tag: "companion-wifi-v1.15.0"
|
|
date: "2026-04-19"
|
|
previous_version: "1.14.1"
|
|
summary: "Prepares the next companion_wifi release on top of upstream MeshCore firmware v1.15.0."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the companion_wifi firmware base to upstream MeshCore v1.15.0."
|
|
breaking_changes: []
|
|
|
|
- track: companion-wifi
|
|
version: "1.16.0"
|
|
tag: "companion-wifi-v1.16.0"
|
|
date: "2026-06-07"
|
|
previous_version: "1.15.0"
|
|
summary: "Updates companion WiFi firmware to upstream MeshCore v1.16.0."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the companion WiFi firmware base to upstream MeshCore v1.16.0."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, UI, power-saving, and platform fixes from MeshCore dev."
|
|
breaking_changes: []
|
|
|
|
- track: companion-wifi
|
|
version: "1.17.0"
|
|
tag: "companion-wifi-v1.17.0"
|
|
date: "2026-08-09"
|
|
previous_version: "1.16.0"
|
|
summary: "Updates companion WiFi firmware to upstream MeshCore v1.17.0 with the new key-based settings format, interface manager, and a recovery access point for fixing Wi-Fi credentials without a serial cable."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the companion WiFi firmware base to upstream MeshCore v1.17.0."
|
|
- type: added
|
|
area: wifi
|
|
text: "Added a recovery access point: when the device has no Wi-Fi credentials or cannot connect for 60 seconds, it broadcasts `EastMesh-WiFi` (WPA2 password = the device pin zero-padded to 8 digits) and shuts the AP down automatically once the configured network connects."
|
|
- type: added
|
|
area: cli
|
|
text: "Exposed the rescue CLI over TCP port 23 on the recovery AP (`telnet 192.168.4.1`), so `set wifi.ssid`, `set wifi.pwd`, and `reboot` work without a serial cable."
|
|
- type: added
|
|
area: wifi
|
|
text: "The companion app works over the recovery AP too: connect to host `192.168.4.1` port `5000` for full app connectivity while roaming away from the configured network."
|
|
- type: added
|
|
area: wifi
|
|
text: "Gave companion WiFi builds the BLE-style device pin rules: displays show a per-session `Pin:NNNNNN` on the home screen, headless devices default to pin `123456` (AP password `00123456`), and `set pin` overrides both persistently."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Kept the recovery AP joinable by pausing constant station rescans while it is up (they broke joining clients' WPA2 handshakes, which phones report as a wrong password); the configured network is retried once a minute instead."
|
|
- type: changed
|
|
area: prefs
|
|
text: "Moved saved node settings to upstream's new key-based `prefs.json` format; existing settings, including persisted Wi-Fi credentials, are migrated automatically on first boot."
|
|
- type: changed
|
|
area: wifi
|
|
text: "Adopted upstream's new interface manager so BLE, Wi-Fi, USB, and serial companion connections are handled uniformly, while keeping Wi-Fi credentials configurable at runtime."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, radio, display, UI, and platform fixes from MeshCore dev, including new board support and LR2021 radio groundwork."
|
|
breaking_changes:
|
|
- "Saved settings move to the new `prefs.json` format on first boot; downgrading to earlier firmware afterwards reverts the device to the old (pre-migration) settings file."
|
|
|
|
- track: companion-wifi
|
|
version: "1.17.1"
|
|
tag: "companion-wifi-v1.17.1"
|
|
date: "2026-08-15"
|
|
previous_version: "1.17.0"
|
|
summary: "Updates companion WiFi firmware to upstream MeshCore v1.17.1 with radio gain and board fixes."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the companion WiFi firmware base to upstream MeshCore v1.17.1."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Kept the user-configured RX boosted gain setting after an automatic gain control reset instead of reverting to the compiled-in default (SX126x radios)."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, radio, display, and platform fixes from MeshCore dev, including external FEM gain groundwork for companion builds."
|
|
breaking_changes: []
|
|
|
|
- track: repeater-bridge-espnow
|
|
version: "1.15.0"
|
|
tag: "repeater-bridge-espnow-v1.15.0"
|
|
date: "2026-05-05"
|
|
previous_version: null
|
|
summary: "Adds a tagged release workflow for upstream-versioned repeater ESP-NOW bridge firmware artifacts."
|
|
changes:
|
|
- type: added
|
|
area: release
|
|
text: "Added the `repeater-bridge-espnow-v*` release tag format and workflow for building repeater ESP-NOW bridge firmware artifacts using the official upstream MeshCore version."
|
|
- type: fixed
|
|
area: build
|
|
text: "Kept pure ESP-NOW bridge targets out of the web-panel link path so they no longer fail with unresolved web service symbols."
|
|
- type: docs
|
|
area: release
|
|
text: "Updated release guidance to document the repeater ESP-NOW bridge tag format and versioning rule."
|
|
breaking_changes: []
|
|
|
|
- track: repeater-bridge-espnow
|
|
version: "1.16.0"
|
|
tag: "repeater-bridge-espnow-v1.16.0"
|
|
date: "2026-06-07"
|
|
previous_version: "1.15.0"
|
|
summary: "Updates repeater ESP-NOW bridge firmware to upstream MeshCore v1.16.0."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the repeater ESP-NOW bridge firmware base to upstream MeshCore v1.16.0."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, radio, UI, and platform fixes from MeshCore dev."
|
|
breaking_changes: []
|
|
|
|
- track: repeater-bridge-espnow
|
|
version: "1.17.0"
|
|
tag: "repeater-bridge-espnow-v1.17.0"
|
|
date: "2026-08-09"
|
|
previous_version: "1.16.0"
|
|
summary: "Updates repeater ESP-NOW bridge firmware to upstream MeshCore v1.17.0 with the new key-based settings format."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the repeater ESP-NOW bridge firmware base to upstream MeshCore v1.17.0."
|
|
- type: changed
|
|
area: prefs
|
|
text: "Moved saved node settings to upstream's new key-based `prefs.json` format; existing settings, including bridge configuration, are migrated automatically on first boot."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, radio, display, and platform fixes from MeshCore dev, including new board support and an external watchdog manager."
|
|
breaking_changes:
|
|
- "Saved settings move to the new `prefs.json` format on first boot; downgrading to earlier firmware afterwards reverts the device to the old (pre-migration) settings file."
|
|
|
|
- track: repeater-bridge-espnow
|
|
version: "1.17.1"
|
|
tag: "repeater-bridge-espnow-v1.17.1"
|
|
date: "2026-08-15"
|
|
previous_version: "1.17.0"
|
|
summary: "Updates repeater ESP-NOW bridge firmware to upstream MeshCore v1.17.1 with reply-routing improvements and radio gain fixes."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Updated the repeater ESP-NOW bridge firmware base to upstream MeshCore v1.17.1."
|
|
- type: changed
|
|
area: mesh
|
|
text: "Improved reply routing: direct requests now reply over the stored return path when one is known, and replies fall back to the repeater's default scope when the request scope is unknown, instead of always flooding un-scoped."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Kept the user-configured RX boosted gain setting after an automatic gain control reset instead of reverting to the compiled-in default (SX126x radios)."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `get radio.fem.txgain` and `set radio.fem.txgain on|off` for boards with a controllable external FEM PA gain (such as Station G3)."
|
|
- type: changed
|
|
area: board
|
|
text: "Included upstream board, radio, display, and platform fixes from MeshCore dev."
|
|
breaking_changes: []
|
|
|
|
- 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: changed
|
|
area: release
|
|
text: "Renamed the EastMesh MQTT release tag format from `repeater-mqtt-eastmesh-v*` to `observer-eastmesh-v*`."
|
|
- type: changed
|
|
area: build
|
|
text: "Renamed `*_repeater_mqtt` PlatformIO environments and release artifact prefixes to `*_repeater_observer`."
|
|
- type: docs
|
|
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-eastmesh
|
|
version: "2026.6.0"
|
|
tag: "observer-eastmesh-v2026.6.0"
|
|
date: "2026-06-03"
|
|
previous_version: "2026.5.1"
|
|
summary: "Updates Observer firmware with the latest upstream MeshCore dev changes plus EastMesh web panel, MQTT, radio, and board support fixes."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added configurable custom MQTT broker support alongside the curated EastMesh and LetsMesh endpoints."
|
|
- type: added
|
|
area: build
|
|
text: "Added Station G3 ESP32 Observer firmware targets."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `flood.max.unscoped` so unscoped flood packets can use a separate hop limit from scoped flood traffic."
|
|
- type: fixed
|
|
area: web
|
|
text: "Preserved web panel sessions across Wi-Fi reconnects and hardened OTA startup from the local web panel."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Hardened LilyGo T-Beam 1W radio setup and restored the missing SX126x register patch."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore dev updates including sensor handling, RAK4631 BME680/BSEC support, documentation refreshes, and board/platform fixes."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.1"
|
|
tag: "observer-eastmesh-v2026.6.1"
|
|
date: "2026-06-07"
|
|
previous_version: "2026.6.0"
|
|
summary: "Updates Observer firmware to upstream MeshCore v1.16.0 with flood-advert controls and board/platform fixes."
|
|
changes:
|
|
- type: added
|
|
area: cli
|
|
text: "Added `flood.max.advert` so flooded advert packets can use their own hop limit."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.16.0 dev updates including companion UI, board, radio, power-saving, documentation, and platform fixes."
|
|
- type: docs
|
|
area: docs
|
|
text: "Updated EastMesh custom CLI docs for the new `flood.max.advert` command."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.2"
|
|
tag: "observer-eastmesh-v2026.6.2"
|
|
date: "2026-06-07"
|
|
previous_version: "2026.6.1"
|
|
summary: "Improves Observer boot reliability, T-Beam S3 Supreme telemetry, Wi-Fi/OTA persistence, and web-panel archive maintenance."
|
|
changes:
|
|
- type: fixed
|
|
area: board
|
|
text: "Fixed LilyGo T-Beam S3 Supreme BME280 detection and live telemetry by using the board-detected address, stop-based I2C reads, and board-specific I2C bus recovery before samples."
|
|
- type: fixed
|
|
area: web
|
|
text: "Changed live `/stats` sensor values to use the main-loop sensor snapshot instead of reading I2C sensors from the web request handler."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Improved boot-time Wi-Fi startup by starting Wi-Fi earlier on T-Beam S3 Supreme, remembering the last connected AP channel, and falling back to full scan if that channel is stale."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Added NVS-backed Wi-Fi preference recovery so SSID and password survive OTA updates even if the filesystem preference file is lost."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Hardened Wi-Fi retry handling so scan-mode connects are not interrupted early and failed attempts reset the ESP32 station state before retrying."
|
|
- type: fixed
|
|
area: cli
|
|
text: "Fixed `set wifi.powersaving none` returning an error when Wi-Fi power saving was already disabled."
|
|
- type: fixed
|
|
area: archive
|
|
text: "Bounded archive neighbour restore and history reads so large SD-card archive files no longer slow boot unnecessarily."
|
|
- type: added
|
|
area: web
|
|
text: "Added a web-panel and CLI SD purge action for clearing archive contents from supported SD-card targets."
|
|
- type: fixed
|
|
area: web
|
|
text: "Hardened OTA startup by binding before reporting success and falling back to alternate ports when port 80 is still being released."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.3"
|
|
tag: "observer-eastmesh-v2026.6.3"
|
|
date: "2026-06-09"
|
|
previous_version: "2026.6.2"
|
|
summary: "Adds secure WebSocket transport support for custom MQTT brokers from the Observer web panel and CLI."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added TCP/WSS transport selection for custom MQTT brokers while keeping custom broker authentication to username and password only."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Verified custom MQTT WSS connections with the ESP-IDF x509 root CA bundle and the fixed `/mqtt` WebSocket path."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Configured custom MQTT WSS using a full `wss://host:port/mqtt` URI so ESP-MQTT handles the WebSocket connection consistently."
|
|
- type: changed
|
|
area: cli
|
|
text: "Updated `get mqtt.status` to show the custom MQTT transport and state, for example `custom:wss:up`."
|
|
- type: docs
|
|
area: docs
|
|
text: "Documented custom MQTT TCP/WSS configuration in the web panel and custom CLI guides."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.4"
|
|
tag: "observer-eastmesh-v2026.6.4"
|
|
date: "2026-06-23"
|
|
previous_version: "2026.6.3"
|
|
summary: "Replaces the retired LetsMesh brokers with the MeshMapper broker and reworks broker selection into Primary and Secondary slots."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added the `meshmapper` curated broker (`wss://mqtt.meshmapper.net:443/mqtt`) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `get mqtt.meshmapper` and `set mqtt.meshmapper on|off` to toggle the MeshMapper broker."
|
|
- type: changed
|
|
area: mqtt
|
|
text: "Retired the unmaintained LetsMesh EU/US brokers: they remain selectable but are marked retired, and saved selections are cleared once on upgrade so dead brokers stop retrying."
|
|
- type: changed
|
|
area: web
|
|
text: "Replaced the EastMesh and LetsMesh sliders and the custom MQTT toggle with Primary and Secondary broker dropdowns that enforce the two-broker maximum and reveal custom host, username, and password fields when Custom is selected."
|
|
- type: changed
|
|
area: cli
|
|
text: "Shortened `get mqtt.status` to report the two active broker slots as `p:<broker>:<state>` and `s:<broker>:<state>` so the reply stays within the LoRa text limit."
|
|
- type: docs
|
|
area: docs
|
|
text: "Updated the README, web panel, and custom CLI guides for MeshMapper and the Primary/Secondary broker layout."
|
|
breaking_changes:
|
|
- "`get mqtt.status` output changed from per-broker fields to `p:`/`s:` broker slots; anything parsing the previous format must be updated."
|
|
- "Saved LetsMesh EU/US broker selections are cleared once on upgrade; re-enable a broker such as MeshMapper if a second uplink is required."
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.5"
|
|
tag: "observer-eastmesh-v2026.6.5"
|
|
date: "2026-06-26"
|
|
previous_version: "2026.6.4"
|
|
summary: "Adds the Waev curated MQTT broker and makes the Custom MQTT settings panel full width when Custom is selected."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added the `waev` curated broker (`wss://mqtt.waev.app:443/mqtt`) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `get mqtt.waev` and `set mqtt.waev on|off` to toggle the Waev broker."
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added per-broker JWT token lifetimes so Waev receives a 1-hour token to match its shorter maximum token lifetime."
|
|
- type: fixed
|
|
area: web
|
|
text: "Made the Custom MQTT settings panel span the full width of the MQTT Servers card when Custom is selected."
|
|
- type: docs
|
|
area: docs
|
|
text: "Documented the Waev broker in the README and custom CLI guides."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.6.6"
|
|
tag: "observer-eastmesh-v2026.6.6"
|
|
date: "2026-06-27"
|
|
previous_version: "2026.6.5"
|
|
summary: "Adds cumulative packet counters to the MQTT status payload so brokers receive radio TX/RX totals."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added `packets_sent` and `packets_received` counters to the MQTT `status` payload `stats` object, reporting cumulative radio TX/RX packet totals to align with the Waev/MeshMapper status schema."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.7.0"
|
|
tag: "observer-eastmesh-v2026.7.0"
|
|
date: "2026-07-19"
|
|
previous_version: "2026.6.6"
|
|
summary: "Syncs Observer firmware with the latest upstream MeshCore dev changes, realigns saved settings storage with upstream, and restores EastMesh/MeshMapper broker TLS trust."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore dev updates including power-off/deep-sleep improvements, SX1262 LDO support, hardware channel-activity detection, radio gain fixes, and board/platform fixes."
|
|
- type: fixed
|
|
area: prefs
|
|
text: "Realigned saved node settings to upstream byte offsets and moved EastMesh-specific fields behind a reserved gap so future upstream syncs no longer shift or corrupt them."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Restored EastMesh and MeshMapper broker TLS trust after mqtt2.eastmesh.au moved from Let's Encrypt to a Google Trust Services certificate."
|
|
- type: changed
|
|
area: build
|
|
text: "Bumped CI build and docs workflows to Python 3.13."
|
|
breaking_changes:
|
|
- "The saved settings layout changed; devices upgrading from 2026.6.6 or earlier may need EastMesh-specific settings (such as fan control and bridge peer) and recently added radio settings reconfigured."
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.8.0"
|
|
tag: "observer-eastmesh-v2026.8.0"
|
|
date: "2026-08-09"
|
|
previous_version: "2026.7.0"
|
|
summary: "Updates Observer firmware to upstream MeshCore v1.17.0 with the new key-based settings format and fixes the web panel becoming unreachable after long uptimes."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.17.0 including new board support, ethernet interface groundwork, LR2021 radio support, display and UI improvements, and platform fixes."
|
|
- type: changed
|
|
area: prefs
|
|
text: "Moved saved node settings to upstream's new key-based `prefs.json` format; existing settings, including EastMesh fan control and bridge peer configuration, are migrated automatically on first boot."
|
|
- type: fixed
|
|
area: web
|
|
text: "Fixed the web panel refusing connections (browser `PR_CONNECT_RESET_ERROR`) after long uptimes by evicting stale keep-alive connections instead of letting vanished clients permanently occupy the connection pool."
|
|
breaking_changes:
|
|
- "Saved settings move to the new `prefs.json` format on first boot; downgrading to earlier firmware afterwards reverts the device to the old (pre-migration) settings file."
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.8.1"
|
|
tag: "observer-eastmesh-v2026.8.1"
|
|
date: "2026-08-09"
|
|
previous_version: "2026.8.0"
|
|
summary: "Hardens T-Beam S3 Supreme display bring-up so a failed boot-time OLED probe can no longer crash-loop the node."
|
|
changes:
|
|
- type: fixed
|
|
area: board
|
|
text: "Restored the proven T-Beam S3 Supreme SH1106 bring-up order (initialise the display before probing the bus, which can NAK cold probes on this board) so the OLED reliably comes up at boot."
|
|
- type: fixed
|
|
area: board
|
|
text: "Made a failed or absent SH1106 display boot the node headless instead of crash-looping: display operations are now safe no-ops when the boot-time initialisation did not succeed."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh
|
|
version: "2026.8.2"
|
|
tag: "observer-eastmesh-v2026.8.2"
|
|
date: "2026-08-15"
|
|
previous_version: "2026.8.1"
|
|
summary: "Adds a Wi-Fi gateway connectivity watchdog so observers recover from APs that stay associated after losing their uplink, and updates to upstream MeshCore v1.17.1."
|
|
changes:
|
|
- type: added
|
|
area: wifi
|
|
text: "Added a gateway connectivity watchdog: while connected, the node ARP-probes its gateway every 30 seconds, and if the gateway stays silent for 3 minutes it forces a full disconnect and rescan so the node can roam to a healthy AP, backing off up to 48 minutes between attempts while the outage persists."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `wifi reconnect` to drop the current association and rejoin from a full channel scan, for nodes that report connected but are unreachable over the network."
|
|
- type: changed
|
|
area: cli
|
|
text: "Extended `get wifi.status` with gateway health (`gw:ok|lost`) and the watchdog reconnect count (`wd:<n>`), which the web panel now also shows."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.17.1 including improved reply routing (direct requests reply over known return paths, and replies fall back to the default scope when the request scope is unknown), LR2021 radio improvements, and board/platform fixes."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Kept the user-configured RX boosted gain setting after an automatic gain control reset instead of reverting to the compiled-in default (SX126x radios)."
|
|
- type: fixed
|
|
area: board
|
|
text: "Adopted upstream's SH1106 display address fallback (0x3C/0x3D) so board revisions with the other SA0 strap setting still get a working display, while keeping the EastMesh T-Beam S3 Supreme bring-up order and headless fallback."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.5.1"
|
|
tag: "observer-eastmesh-bridge-espnow-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-eastmesh-bridge-espnow-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."
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.0"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.0"
|
|
date: "2026-06-03"
|
|
previous_version: "2026.5.1"
|
|
summary: "Updates Observer ESP-NOW bridge firmware with the latest upstream MeshCore dev changes plus EastMesh radio, web, MQTT, and board support fixes."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added configurable custom MQTT broker support alongside the curated EastMesh and LetsMesh endpoints."
|
|
- type: added
|
|
area: build
|
|
text: "Added Station G3 ESP32 Observer ESP-NOW firmware targets."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `flood.max.unscoped` so unscoped flood packets can use a separate hop limit from scoped flood traffic."
|
|
- type: fixed
|
|
area: web
|
|
text: "Preserved web panel sessions across Wi-Fi reconnects and hardened OTA startup from the local web panel."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Hardened LilyGo T-Beam 1W radio setup and restored the missing SX126x register patch."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore dev updates including sensor handling, RAK4631 BME680/BSEC support, documentation refreshes, and board/platform fixes."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.1"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.1"
|
|
date: "2026-06-07"
|
|
previous_version: "2026.6.0"
|
|
summary: "Updates Observer ESP-NOW bridge firmware to upstream MeshCore v1.16.0 with flood-advert controls and board/platform fixes."
|
|
changes:
|
|
- type: added
|
|
area: cli
|
|
text: "Added `flood.max.advert` so flooded advert packets can use their own hop limit."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.16.0 dev updates including companion UI, board, radio, power-saving, documentation, and platform fixes."
|
|
- type: docs
|
|
area: docs
|
|
text: "Updated EastMesh custom CLI docs for the new `flood.max.advert` command."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.2"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.2"
|
|
date: "2026-06-07"
|
|
previous_version: "2026.6.1"
|
|
summary: "Applies the Observer boot, Wi-Fi/OTA persistence, telemetry, archive, and web-panel maintenance fixes to ESP-NOW bridge builds."
|
|
changes:
|
|
- type: fixed
|
|
area: board
|
|
text: "Fixed LilyGo T-Beam S3 Supreme BME280 detection and live telemetry by using the board-detected address, stop-based I2C reads, and board-specific I2C bus recovery before samples."
|
|
- type: fixed
|
|
area: web
|
|
text: "Changed live `/stats` sensor values to use the main-loop sensor snapshot instead of reading I2C sensors from the web request handler."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Improved boot-time Wi-Fi startup by starting Wi-Fi earlier on T-Beam S3 Supreme, remembering the last connected AP channel, and falling back to full scan if that channel is stale."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Added NVS-backed Wi-Fi preference recovery so SSID and password survive OTA updates even if the filesystem preference file is lost."
|
|
- type: fixed
|
|
area: wifi
|
|
text: "Hardened Wi-Fi retry handling so scan-mode connects are not interrupted early and failed attempts reset the ESP32 station state before retrying."
|
|
- type: fixed
|
|
area: cli
|
|
text: "Fixed `set wifi.powersaving none` returning an error when Wi-Fi power saving was already disabled."
|
|
- type: fixed
|
|
area: archive
|
|
text: "Bounded archive neighbour restore and history reads so large SD-card archive files no longer slow boot unnecessarily."
|
|
- type: added
|
|
area: web
|
|
text: "Added a web-panel and CLI SD purge action for clearing archive contents from supported SD-card targets."
|
|
- type: fixed
|
|
area: web
|
|
text: "Hardened OTA startup by binding before reporting success and falling back to alternate ports when port 80 is still being released."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.3"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.3"
|
|
date: "2026-06-09"
|
|
previous_version: "2026.6.2"
|
|
summary: "Adds secure WebSocket transport support for custom MQTT brokers in Observer ESP-NOW bridge builds."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added TCP/WSS transport selection for custom MQTT brokers while keeping custom broker authentication to username and password only."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Verified custom MQTT WSS connections with the ESP-IDF x509 root CA bundle and the fixed `/mqtt` WebSocket path."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Configured custom MQTT WSS using a full `wss://host:port/mqtt` URI so ESP-MQTT handles the WebSocket connection consistently."
|
|
- type: changed
|
|
area: cli
|
|
text: "Updated `get mqtt.status` to show the custom MQTT transport and state, for example `custom:wss:up`."
|
|
- type: docs
|
|
area: docs
|
|
text: "Documented custom MQTT TCP/WSS configuration in the web panel and custom CLI guides."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.4"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.4"
|
|
date: "2026-06-23"
|
|
previous_version: "2026.6.3"
|
|
summary: "Replaces the retired LetsMesh brokers with the MeshMapper broker and reworks broker selection into Primary and Secondary slots in Observer ESP-NOW bridge builds."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added the `meshmapper` curated broker (`wss://mqtt.meshmapper.net:443/mqtt`) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `get mqtt.meshmapper` and `set mqtt.meshmapper on|off` to toggle the MeshMapper broker."
|
|
- type: changed
|
|
area: mqtt
|
|
text: "Retired the unmaintained LetsMesh EU/US brokers: they remain selectable but are marked retired, and saved selections are cleared once on upgrade so dead brokers stop retrying."
|
|
- type: changed
|
|
area: web
|
|
text: "Replaced the EastMesh and LetsMesh sliders and the custom MQTT toggle with Primary and Secondary broker dropdowns that enforce the two-broker maximum and reveal custom host, username, and password fields when Custom is selected."
|
|
- type: changed
|
|
area: cli
|
|
text: "Shortened `get mqtt.status` to report the two active broker slots as `p:<broker>:<state>` and `s:<broker>:<state>` so the reply stays within the LoRa text limit."
|
|
- type: docs
|
|
area: docs
|
|
text: "Updated the README, web panel, and custom CLI guides for MeshMapper and the Primary/Secondary broker layout."
|
|
breaking_changes:
|
|
- "`get mqtt.status` output changed from per-broker fields to `p:`/`s:` broker slots; anything parsing the previous format must be updated."
|
|
- "Saved LetsMesh EU/US broker selections are cleared once on upgrade; re-enable a broker such as MeshMapper if a second uplink is required."
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.5"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.5"
|
|
date: "2026-06-26"
|
|
previous_version: "2026.6.4"
|
|
summary: "Adds the Waev curated MQTT broker and makes the Custom MQTT settings panel full width in Observer ESP-NOW bridge builds."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added the `waev` curated broker (`wss://mqtt.waev.app:443/mqtt`) using WSS, verified TLS, and MeshCore JWT authentication with the broker host as the token audience."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `get mqtt.waev` and `set mqtt.waev on|off` to toggle the Waev broker."
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added per-broker JWT token lifetimes so Waev receives a 1-hour token to match its shorter maximum token lifetime."
|
|
- type: fixed
|
|
area: web
|
|
text: "Made the Custom MQTT settings panel span the full width of the MQTT Servers card when Custom is selected."
|
|
- type: docs
|
|
area: docs
|
|
text: "Documented the Waev broker in the README and custom CLI guides."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.6.6"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.6.6"
|
|
date: "2026-06-27"
|
|
previous_version: "2026.6.5"
|
|
summary: "Adds cumulative packet counters to the MQTT status payload so brokers receive radio TX/RX totals."
|
|
changes:
|
|
- type: added
|
|
area: mqtt
|
|
text: "Added `packets_sent` and `packets_received` counters to the MQTT `status` payload `stats` object, reporting cumulative radio TX/RX packet totals to align with the Waev/MeshMapper status schema."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.7.0"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.7.0"
|
|
date: "2026-07-19"
|
|
previous_version: "2026.6.6"
|
|
summary: "Syncs Observer ESP-NOW bridge firmware with the latest upstream MeshCore dev changes, realigns saved settings storage with upstream, and restores EastMesh/MeshMapper broker TLS trust."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore dev updates including power-off/deep-sleep improvements, SX1262 LDO support, hardware channel-activity detection, radio gain fixes, and board/platform fixes."
|
|
- type: fixed
|
|
area: prefs
|
|
text: "Realigned saved node settings to upstream byte offsets and moved EastMesh-specific fields behind a reserved gap so future upstream syncs no longer shift or corrupt them."
|
|
- type: fixed
|
|
area: mqtt
|
|
text: "Restored EastMesh and MeshMapper broker TLS trust after mqtt2.eastmesh.au moved from Let's Encrypt to a Google Trust Services certificate."
|
|
- type: changed
|
|
area: build
|
|
text: "Bumped CI build and docs workflows to Python 3.13."
|
|
breaking_changes:
|
|
- "The saved settings layout changed; devices upgrading from 2026.6.6 or earlier may need EastMesh-specific settings (such as fan control and bridge peer) and recently added radio settings reconfigured."
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.8.0"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.8.0"
|
|
date: "2026-08-09"
|
|
previous_version: "2026.7.0"
|
|
summary: "Updates Observer ESP-NOW bridge firmware to upstream MeshCore v1.17.0 with the new key-based settings format and fixes the web panel becoming unreachable after long uptimes."
|
|
changes:
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.17.0 including new board support, ethernet interface groundwork, LR2021 radio support, display and UI improvements, and platform fixes."
|
|
- type: changed
|
|
area: prefs
|
|
text: "Moved saved node settings to upstream's new key-based `prefs.json` format; existing settings, including EastMesh fan control and bridge peer configuration, are migrated automatically on first boot."
|
|
- type: fixed
|
|
area: web
|
|
text: "Fixed the web panel refusing connections (browser `PR_CONNECT_RESET_ERROR`) after long uptimes by evicting stale keep-alive connections instead of letting vanished clients permanently occupy the connection pool."
|
|
breaking_changes:
|
|
- "Saved settings move to the new `prefs.json` format on first boot; downgrading to earlier firmware afterwards reverts the device to the old (pre-migration) settings file."
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.8.1"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.8.1"
|
|
date: "2026-08-09"
|
|
previous_version: "2026.8.0"
|
|
summary: "Hardens T-Beam S3 Supreme display bring-up so a failed boot-time OLED probe can no longer crash-loop the node."
|
|
changes:
|
|
- type: fixed
|
|
area: board
|
|
text: "Restored the proven T-Beam S3 Supreme SH1106 bring-up order (initialise the display before probing the bus, which can NAK cold probes on this board) so the OLED reliably comes up at boot."
|
|
- type: fixed
|
|
area: board
|
|
text: "Made a failed or absent SH1106 display boot the node headless instead of crash-looping: display operations are now safe no-ops when the boot-time initialisation did not succeed."
|
|
breaking_changes: []
|
|
|
|
- track: observer-eastmesh-bridge-espnow
|
|
version: "2026.8.2"
|
|
tag: "observer-eastmesh-bridge-espnow-v2026.8.2"
|
|
date: "2026-08-15"
|
|
previous_version: "2026.8.1"
|
|
summary: "Adds the Wi-Fi gateway connectivity watchdog to Observer ESP-NOW bridge builds and updates to upstream MeshCore v1.17.1."
|
|
changes:
|
|
- type: added
|
|
area: wifi
|
|
text: "Added a gateway connectivity watchdog: while connected, the node ARP-probes its gateway every 30 seconds, and if the gateway stays silent for 3 minutes it forces a full disconnect and rescan so the node can roam to a healthy AP, backing off up to 48 minutes between attempts while the outage persists."
|
|
- type: added
|
|
area: cli
|
|
text: "Added `wifi reconnect` to drop the current association and rejoin from a full channel scan, for nodes that report connected but are unreachable over the network."
|
|
- type: changed
|
|
area: cli
|
|
text: "Extended `get wifi.status` with gateway health (`gw:ok|lost`) and the watchdog reconnect count (`wd:<n>`), which the web panel now also shows."
|
|
- type: changed
|
|
area: upstream
|
|
text: "Merged upstream MeshCore v1.17.1 including improved reply routing (direct requests reply over known return paths, and replies fall back to the default scope when the request scope is unknown), LR2021 radio improvements, and board/platform fixes."
|
|
- type: fixed
|
|
area: radio
|
|
text: "Kept the user-configured RX boosted gain setting after an automatic gain control reset instead of reverting to the compiled-in default (SX126x radios)."
|
|
- type: fixed
|
|
area: board
|
|
text: "Adopted upstream's SH1106 display address fallback (0x3C/0x3D) so board revisions with the other SA0 strap setting still get a working display, while keeping the EastMesh T-Beam S3 Supreme bring-up order and headless fallback."
|
|
breaking_changes: []
|