release-notes.yml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. schema_version: 1
  2. tracks:
  3. - companion-wifi
  4. - repeater-mqtt
  5. generated_from: "Adjacent git tag comparisons plus non-merge commit subjects."
  6. releases:
  7. - track: companion-wifi
  8. version: "1.14.1"
  9. tag: "companion-wifi-v1.14.1"
  10. date: "2026-04-09"
  11. previous_version: null
  12. summary: "First EastMesh companion_wifi release with persisted Wi-Fi CLI settings and EastMesh-specific docs and release plumbing."
  13. changes:
  14. - type: added
  15. area: companion-wifi
  16. text: "Added the EastMesh companion_wifi release track for supported boards."
  17. - type: added
  18. area: wifi
  19. text: "Added persisted Wi-Fi CLI settings so companion Wi-Fi devices can retain configured credentials across restart."
  20. - type: added
  21. area: release
  22. text: "Added EastMesh release documentation, local build guidance, and CI workflows focused on the supported Wi-Fi and MQTT firmware tracks."
  23. - type: changed
  24. area: docs
  25. text: "Refreshed the docs site structure and theme as part of the first EastMesh release set."
  26. breaking_changes: []
  27. - track: companion-wifi
  28. version: "1.15.0"
  29. tag: "companion-wifi-v1.15.0"
  30. date: "2026-04-19"
  31. previous_version: "1.14.1"
  32. summary: "Prepares the next companion_wifi release on top of upstream MeshCore firmware v1.15.0."
  33. changes:
  34. - type: changed
  35. area: upstream
  36. text: "Updated the companion_wifi firmware base to upstream MeshCore v1.15.0."
  37. breaking_changes: []
  38. - track: repeater-mqtt
  39. version: "1.0.1"
  40. tag: "repeater-mqtt-eastmesh-v1.0.1"
  41. date: "2026-04-09"
  42. previous_version: null
  43. summary: "First EastMesh repeater_mqtt release with MQTT uplink, optional local web panel support, and EastMesh-specific release plumbing."
  44. changes:
  45. - type: added
  46. area: mqtt
  47. text: "Added the EastMesh repeater_mqtt firmware track with MQTT uplink support and EastMesh-specific firmware workflows."
  48. - type: added
  49. area: web-panel
  50. text: "Added the initial local HTTPS repeater web configuration panel for supported targets."
  51. - type: added
  52. area: release
  53. text: "Added EastMesh release documentation, local build guidance, and CI workflows focused on the supported Wi-Fi and MQTT firmware tracks."
  54. - type: changed
  55. area: build
  56. text: "Moved web panel certificate generation into the build flow and kept the web panel optional for tighter firmware targets."
  57. breaking_changes: []
  58. - track: repeater-mqtt
  59. version: "1.1.0"
  60. tag: "repeater-mqtt-eastmesh-v1.1.0"
  61. date: "2026-04-10"
  62. previous_version: "1.0.1"
  63. summary: "Expanded the repeater web panel with a fuller dashboard and MQTT settings, and stabilised HTTPS/TLS startup."
  64. changes:
  65. - type: added
  66. area: web-panel
  67. text: "Added a repeater dashboard and in-panel MQTT settings controls."
  68. - type: changed
  69. area: web-panel
  70. text: "Stabilised HTTPS/TLS startup behaviour for the local repeater web panel."
  71. - type: changed
  72. area: mqtt
  73. text: "Refactored MQTT uplink handling to support the expanded web panel controls and cleaner repeater status reporting."
  74. - type: docs
  75. area: setup
  76. text: "Added CLI rescue guidance for setting Wi-Fi on companion Wi-Fi builds and refreshed README/license content."
  77. breaking_changes: []
  78. - track: repeater-mqtt
  79. version: "1.1.1"
  80. tag: "repeater-mqtt-eastmesh-v1.1.1"
  81. date: "2026-04-10"
  82. previous_version: "1.1.0"
  83. summary: "Added mqtt.status control support and tightened the web panel and migration documentation."
  84. changes:
  85. - type: added
  86. area: mqtt
  87. text: "Added mqtt.status control/reporting support to make broker state easier to inspect from the repeater CLI."
  88. - type: docs
  89. area: migration
  90. text: "Expanded migration guidance and aligned the docs site with the newer EastMesh structure."
  91. - type: docs
  92. area: web-panel
  93. text: "Added dedicated web panel documentation and refreshed the site theme and navigation."
  94. breaking_changes: []
  95. - track: repeater-mqtt
  96. version: "1.1.2"
  97. tag: "repeater-mqtt-eastmesh-v1.1.2"
  98. date: "2026-04-10"
  99. previous_version: "1.1.1"
  100. summary: "Cleaned up legacy MQTT preference handling, restored status publishing, and expanded web panel controls."
  101. changes:
  102. - type: fixed
  103. area: mqtt
  104. text: "Cleared legacy MQTT preference fields so older persisted settings stopped leaking into current repeater behaviour."
  105. - type: fixed
  106. area: mqtt
  107. text: "Restored MQTT status publishing after the earlier control changes."
  108. - type: changed
  109. area: web-panel
  110. text: "Expanded the repeater web panel controls and updated the related CLI and web panel docs."
  111. breaking_changes: []
  112. - track: repeater-mqtt
  113. version: "1.2.0"
  114. tag: "repeater-mqtt-eastmesh-v1.2.0"
  115. date: "2026-04-11"
  116. previous_version: "1.1.2"
  117. summary: "Reduced MQTT and web-panel memory pressure, streamlined broker controls, and polished the repeater admin surface."
  118. changes:
  119. - type: changed
  120. area: mqtt
  121. text: "Reduced MQTT uplink memory pressure and improved runtime behaviour on constrained repeater targets."
  122. - type: changed
  123. area: web-panel
  124. text: "Streamlined broker controls in the web panel and refreshed the end-user admin flow."
  125. - type: fixed
  126. area: web-panel
  127. text: "Corrected the noise floor gauge colouring and exposed prv.key in the web console."
  128. - type: added
  129. area: board-support
  130. text: "Added a battery reporting toggle for Heltec V3 repeater builds."
  131. - type: docs
  132. area: docs
  133. text: "Simplified the end-user guides and aligned the web panel docs with the current UI."
  134. breaking_changes: []
  135. - track: repeater-mqtt
  136. version: "1.2.1"
  137. tag: "repeater-mqtt-eastmesh-v1.2.1"
  138. date: "2026-04-12"
  139. previous_version: "1.2.0"
  140. summary: "Made broker outages less disruptive and expanded the repeater web panel with radio presets and richer operational controls."
  141. changes:
  142. - type: fixed
  143. area: mqtt
  144. text: "Added graceful MQTT reconnect backoff during broker outages."
  145. - type: added
  146. area: web-panel
  147. text: "Added radio preset controls, repeater info cards, and clock sync controls to the repeater web panel."
  148. - type: docs
  149. area: release
  150. text: "Updated release guidance so the web panel can be used for common repeater setup before being disabled for maximum MQTT headroom."
  151. breaking_changes: []
  152. - track: repeater-mqtt
  153. version: "1.2.2"
  154. tag: "repeater-mqtt-eastmesh-v1.2.2"
  155. date: "2026-04-13"
  156. previous_version: "1.2.1"
  157. summary: "Reduced repeater web panel load pressure and improved MQTT diagnostics."
  158. changes:
  159. - type: changed
  160. area: web-panel
  161. text: "Reduced web panel runtime pressure so opening the admin UI had less impact on busy MQTT repeaters."
  162. - type: added
  163. area: mqtt
  164. text: "Improved MQTT diagnostics and status visibility for troubleshooting broker and uplink issues."
  165. - type: docs
  166. area: web-panel
  167. text: "Updated the web panel documentation to match the lighter loading behaviour and operational guidance."
  168. breaking_changes: []
  169. - track: repeater-mqtt
  170. version: "1.3.0"
  171. tag: "repeater-mqtt-eastmesh-v1.3.0"
  172. date: "2026-04-15"
  173. previous_version: "1.2.2"
  174. summary: "Added SD-backed stats history and split the repeater web UI into a lighter /app page and a dedicated /stats console."
  175. changes:
  176. - type: added
  177. area: stats
  178. text: "Added SD-backed stats archival and restore support for repeater history data."
  179. - type: added
  180. area: web-panel
  181. text: "Added a dedicated /stats web console for current status, historical trends, neighbours, and recent events."
  182. - type: changed
  183. area: web-panel
  184. text: "Reworked the local web UI so /app stays focused on configuration and admin controls while /stats handles visibility and history."
  185. - type: fixed
  186. area: stats
  187. text: "Restored /stats Wi-Fi signal quality and tuned the /stats signal, noise floor, and RSSI meters for correct LoRa-oriented ranges."
  188. - type: changed
  189. area: board-support
  190. text: "Removed ESP32-C3 repeater_mqtt target support and the related CI coverage."
  191. - type: docs
  192. area: docs
  193. text: "Expanded board comparison guidance and refreshed the published web panel screenshots and docs."
  194. breaking_changes:
  195. - "ESP32-C3 repeater_mqtt targets were removed in this release."
  196. - track: repeater-mqtt
  197. version: "1.3.1"
  198. tag: "repeater-mqtt-eastmesh-v1.3.1"
  199. date: "2026-04-16"
  200. previous_version: "1.3.0"
  201. 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."
  202. changes:
  203. - type: fixed
  204. area: web-panel
  205. text: "Disabled web stats by default on non-PSRAM repeater builds so the local web UI places less memory pressure on constrained boards."
  206. - type: changed
  207. area: stats
  208. text: "Changed non-PSRAM repeater builds to a live-only stats mode with smaller in-memory history buffers instead of archive-backed persistence."
  209. - type: fixed
  210. area: stats
  211. text: "Lazy-initialised web stats buffers and released idle live-only buffers so opening /stats has less impact on busy or memory-constrained repeaters."
  212. - type: changed
  213. area: web-panel
  214. text: "Extended the web stats status output and JSON summary payloads to report whether history is running in live-only mode."
  215. - type: docs
  216. area: web-panel
  217. text: "Refreshed the published web panel screenshots and docs to use separate light and dark mode captures."
  218. breaking_changes: []
  219. - track: repeater-mqtt
  220. version: "1.3.2"
  221. tag: "repeater-mqtt-eastmesh-v1.3.2"
  222. date: "2026-04-17"
  223. previous_version: "1.3.1"
  224. summary: "Refined the repeater /stats UX, added better early-event and noise-floor handling, and persisted the ESP32 fallback clock across reboot."
  225. changes:
  226. - type: fixed
  227. area: stats
  228. text: "Removed the misleading neighbour Route column from /stats and cleaned up the neighbour table payload to match the stored data."
  229. - type: changed
  230. area: stats
  231. text: "Retuned the /stats radio noise-floor meter and added a dedicated noise-floor trend with clearer ranges, colour bands, and orientation."
  232. - type: changed
  233. area: web-panel
  234. text: "Reordered the /stats trend cards and changed Packet Activity to a bar chart for interval-based packet counts."
  235. - type: fixed
  236. area: stats
  237. text: "Captured boot/session events earlier on live-only non-PSRAM repeaters so the Events panel is populated before /stats is first opened."
  238. - type: fixed
  239. area: clock
  240. 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."
  241. - type: changed
  242. area: web-panel
  243. text: "Remembered whether the local web UI was last on /app or /stats and returned to that page after unlocking again."
  244. - type: changed
  245. area: mqtt
  246. 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."
  247. breaking_changes: []
  248. - track: repeater-mqtt
  249. version: "1.3.3"
  250. tag: "repeater-mqtt-eastmesh-v1.3.3"
  251. date: "2026-04-17"
  252. previous_version: "1.3.2"
  253. 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."
  254. changes:
  255. - type: fixed
  256. area: stats
  257. text: "Adjusted boot auto-capture for web stats to recognise 2 MB-class ESP32 PSRAM sizes instead of requiring an exact 2 MiB boundary."
  258. - type: changed
  259. area: stats
  260. 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."
  261. - type: changed
  262. area: web-panel
  263. 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."
  264. - type: fixed
  265. area: web-panel
  266. 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."
  267. - type: changed
  268. area: web-panel
  269. text: "Changed the local web panel tab title to use the repeater name when available, with a fallback to `Repeater Config`."
  270. - type: changed
  271. area: upstream
  272. 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."
  273. - type: docs
  274. area: web-panel
  275. text: "Updated the web panel docs to describe the rough 2 MB PSRAM boot-history cutoff."
  276. breaking_changes: []
  277. - track: repeater-mqtt
  278. version: "1.3.4"
  279. tag: "repeater-mqtt-eastmesh-v1.3.4"
  280. date: "2026-04-18"
  281. previous_version: "1.3.3"
  282. 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."
  283. changes:
  284. - type: fixed
  285. area: board-support
  286. text: "Added the missing T-Beam 1W flash partition size so the repeater_mqtt target builds with the correct partition layout."
  287. - type: changed
  288. area: web-panel
  289. text: "Cached the repeater title across both the /app and /stats pages so the local admin UI presents a more consistent device label."
  290. - type: changed
  291. area: web-panel
  292. text: "Applied the newer four-band threshold styling to the largest-block memory meters in the /stats Memory card."
  293. - type: docs
  294. area: web-panel
  295. 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`."
  296. breaking_changes: []
  297. - track: repeater-mqtt
  298. version: "1.3.5"
  299. tag: "repeater-mqtt-eastmesh-v1.3.5"
  300. date: "2026-04-19"
  301. previous_version: "1.3.4"
  302. summary: "Prepares the next repeater_mqtt release on top of upstream MeshCore firmware v1.15.0."
  303. changes:
  304. - type: changed
  305. area: upstream
  306. text: "Updated the repeater_mqtt firmware base to upstream MeshCore v1.15.0."
  307. breaking_changes: []
  308. - track: repeater-mqtt
  309. version: "1.3.6"
  310. tag: "repeater-mqtt-eastmesh-v1.3.6"
  311. date: "2026-04-20"
  312. previous_version: "1.3.5"
  313. 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."
  314. changes:
  315. - type: changed
  316. area: web-panel
  317. text: "Removed the browser-side repeater CLI allowlist so authenticated web panel sessions can run the same CLI commands accepted by the repeater."
  318. - type: added
  319. area: web-panel
  320. text: "Added a lightweight local HTTP listener that redirects browser requests to the repeater's HTTPS web panel URL."
  321. - type: changed
  322. area: web-panel
  323. text: "Changed the login flow so refreshing /stats and re-authenticating returns to /stats without persisting the last page in browser storage."
  324. - type: fixed
  325. area: board-support
  326. text: "Updated repeater_mqtt partition layouts for 4 MB boards so the affected targets use the correct flash sizing."
  327. - type: docs
  328. area: web-panel
  329. text: "Updated the repeater web panel and custom CLI docs to reflect full web CLI access and the new HTTP-to-HTTPS behavior."
  330. breaking_changes: []
  331. - track: repeater-mqtt
  332. version: "1.3.7"
  333. tag: "repeater-mqtt-eastmesh-v1.3.7"
  334. date: "2026-04-20"
  335. previous_version: "1.3.6"
  336. 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."
  337. changes:
  338. - type: changed
  339. area: mqtt
  340. text: "Changed fresh repeater_mqtt defaults to use `mqtt.iata=UNSET` instead of pre-filling Melbourne."
  341. - type: fixed
  342. area: mqtt
  343. 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."
  344. - type: changed
  345. area: web-panel
  346. text: "Added a top-of-page warning banner and inline MQTT Settings warning when the repeater still needs its MQTT IATA configured."
  347. - type: docs
  348. area: mqtt
  349. text: "Updated the custom CLI and web panel docs to describe the unset-first MQTT IATA flow and the resulting broker behaviour."
  350. breaking_changes: []
  351. - track: repeater-mqtt
  352. version: "1.3.8"
  353. tag: "repeater-mqtt-eastmesh-v1.3.8"
  354. date: "2026-04-21"
  355. previous_version: "1.3.7"
  356. summary: "Expanded repeater `/stats` with environment telemetry and persisted trends, and hardened archive startup on shared-SPI boards."
  357. changes:
  358. - type: fixed
  359. area: web-panel
  360. 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."
  361. - type: added
  362. area: board-support
  363. text: "Added T-Beam 1W repeater fan CLI controls with persisted mode and post-TX timeout settings."
  364. - type: added
  365. area: board-support
  366. 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."
  367. - type: fixed
  368. area: stats
  369. 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."
  370. - type: added
  371. area: web-panel
  372. text: "Added an optional `Environment` section on `/stats` for boards that expose GPS or environmental telemetry, and hid metrics that have no current reading."
  373. - type: added
  374. area: stats
  375. 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."
  376. - type: added
  377. area: stats
  378. text: "Added environment trend series to `/stats`, including a GPS satellites graph that only appears when GPS is enabled."
  379. - type: fixed
  380. area: board-support
  381. 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."
  382. - type: docs
  383. area: docs
  384. 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."
  385. breaking_changes: []
  386. - track: repeater-mqtt
  387. version: "1.3.9"
  388. tag: "repeater-mqtt-eastmesh-v1.3.9"
  389. date: "2026-04-22"
  390. previous_version: "1.3.8"
  391. summary: "Reduced unnecessary repeater battery polling by removing hot-loop MQTT sampling and reusing throttled battery reads across stats and web status paths."
  392. changes:
  393. - type: fixed
  394. area: mqtt
  395. 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."
  396. - type: changed
  397. area: stats
  398. 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."
  399. - type: fixed
  400. area: board-support
  401. 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."
  402. - type: changed
  403. area: board-support
  404. 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."
  405. - type: docs
  406. area: docs
  407. 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."
  408. breaking_changes: []