feat: manual Gitea build workflow, release publishing, README and docs update

- добавлен ручной workflow Gitea Actions (.gitea/workflows/build-mqtt-firmwares.yml):
  сборка MQTT-прошивок на сервере и публикация релиза
- добавлен posadmesh-tools/publish-gitea-release.sh для выгрузки собранных файлов
  в релиз Gitea (идемпотентно, фильтр по треку)
- README: происхождение проекта переписано (форк EastMesh, доработка энтузиастов
  из Сергиева Посада, ориентация на meshcoretel.ru), добавлены раздел
  «Отличия от upstream MeshCore» и журнал «Изменения в проекте»
- убраны упоминания Австралии, ссылки на eastmesh.au и региональные материалы;
  руководство по прошивке переведено на файлы релизов и esptool.py
- posadmesh-build.sh: вывод PlatformIO очищается от \r — на Windows групповые
  команды сборки не находили ни одной цели; companion-команды удалены,
  добавлены build-mqtt-firmwares и list-mqtt
- release-notes.yml: треки repeater-mqtt*, запись 2026.10.0 дополнена удалением
  companion и исправлением сборки, companion-wifi помечен как снятый с выпуска
- AGENTS.md: правило дописывать изменения в README
- .gitignore: .pio-home
This commit is contained in:
2026-10-11 17:20:05 +03:00
parent c86ae584ab
commit 26b724c0f0
19 changed files with 735 additions and 616 deletions
+58 -41
View File
@@ -1,9 +1,12 @@
schema_version: 1
tracks:
# снят с выпуска в 2026.10.0: линия companion-прошивок удалена из проекта,
# трек остаётся в реестре для исторических записей релизов
- companion-wifi
- repeater-bridge-espnow
- observer-posadmesh
- observer-posadmesh-bridge-espnow
- repeater-mqtt
- repeater-mqtt-espnow
- repeater-mqtt-bridge
generated_from: "Adjacent git tag comparisons plus non-merge commit subjects."
releases:
@@ -186,7 +189,7 @@ releases:
text: "Included upstream board, radio, display, and platform fixes from MeshCore dev."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.5.1"
tag: "observer-eastmesh-v2026.5.1"
date: "2026-05-23"
@@ -198,14 +201,14 @@ releases:
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`."
text: "Renamed `*_repeater_mqtt` PlatformIO environments and release artifact prefixes to `*_repeater_mqtt`."
- 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-posadmesh
- track: repeater-mqtt
version: "2026.6.0"
tag: "observer-eastmesh-v2026.6.0"
date: "2026-06-03"
@@ -232,7 +235,7 @@ releases:
text: "Merged upstream MeshCore dev updates including sensor handling, RAK4631 BME680/BSEC support, documentation refreshes, and board/platform fixes."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.6.1"
tag: "observer-eastmesh-v2026.6.1"
date: "2026-06-07"
@@ -250,7 +253,7 @@ releases:
text: "Updated EastMesh custom CLI docs for the new `flood.max.advert` command."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.6.2"
tag: "observer-eastmesh-v2026.6.2"
date: "2026-06-07"
@@ -286,7 +289,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.6.3"
tag: "observer-eastmesh-v2026.6.3"
date: "2026-06-09"
@@ -310,7 +313,7 @@ releases:
text: "Documented custom MQTT TCP/WSS configuration in the web panel and custom CLI guides."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.6.4"
tag: "observer-eastmesh-v2026.6.4"
date: "2026-06-23"
@@ -339,7 +342,7 @@ releases:
- "`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-posadmesh
- track: repeater-mqtt
version: "2026.6.5"
tag: "observer-eastmesh-v2026.6.5"
date: "2026-06-26"
@@ -363,7 +366,7 @@ releases:
text: "Documented the Waev broker in the README and custom CLI guides."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.6.6"
tag: "observer-eastmesh-v2026.6.6"
date: "2026-06-27"
@@ -375,7 +378,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.7.0"
tag: "observer-eastmesh-v2026.7.0"
date: "2026-07-19"
@@ -397,7 +400,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.8.0"
tag: "observer-eastmesh-v2026.8.0"
date: "2026-08-09"
@@ -416,7 +419,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.8.1"
tag: "observer-eastmesh-v2026.8.1"
date: "2026-08-09"
@@ -431,7 +434,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.8.2"
tag: "observer-eastmesh-v2026.8.2"
date: "2026-08-15"
@@ -458,7 +461,7 @@ releases:
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-posadmesh
- track: repeater-mqtt
version: "2026.8.3"
tag: "observer-eastmesh-v2026.8.3"
date: "2026-08-23"
@@ -485,19 +488,25 @@ releases:
text: "Added `eastmesh-tools/web-heap-check.sh` to read heap and service health over the HTTPS API and optionally stress the web panel with browser-style bursts."
breaking_changes: []
- track: observer-posadmesh
- track: repeater-mqtt
version: "2026.10.0"
tag: "observer-posadmesh-v2026.10.0"
tag: "repeater-mqtt-v2026.10.0"
date: "2026-10-07"
previous_version: "2026.8.3"
summary: "Полный рефакторинг под PosadMesh: переименованы папки, скрипты, треки и теги, документация переведена на русский, удалены брокеры waev/meshmapper/letsmesh, репозиторий переехал на git.meshinfo.ru с локальной сборкой релизов, база обновлена до upstream MeshCore v1.17.1."
summary: "Полный рефакторинг под PosadMesh: переименованы папки, скрипты, цели сборки и треки (observer → mqtt), документация переведена на русский, удалены брокеры waev/meshmapper/letsmesh и линия companion-прошивок, репозиторий переехал на git.meshinfo.ru с локальной сборкой релизов, база обновлена до upstream MeshCore v1.17.1."
changes:
- type: changed
area: upstream
text: "База прошивки обновлена до upstream MeshCore v1.17.1."
- type: changed
area: release
text: "Проект целиком переименован в PosadMesh: папки и скрипты (`eastmesh-docs` → `posadmesh-docs`, `eastmesh-tools` → `posadmesh-tools`, `eastmesh-build.sh` → `posadmesh-build.sh`), треки релизов (`observer-eastmesh*` → `observer-posadmesh*`), форматы тегов (`observer-posadmesh-v*`, `observer-posadmesh-bridge-espnow-v*`, `observer-posadmesh-bridge-mqtt-v*`), суффикс версии сборки (`-posadmesh-`) и переменная версии релиза (`EASTMESH_VERSION` → `POSADMESH_VERSION`)."
text: "Проект переименован в PosadMesh и переведён на имена MQTT: папки и скрипты (`eastmesh-docs` → `posadmesh-docs`, `eastmesh-tools` → `posadmesh-tools`, `eastmesh-build.sh` → `posadmesh-build.sh`), цели сборки (`*_repeater_observer*` → `*_repeater_mqtt*`), треки релизов (`observer-eastmesh*` → `repeater-mqtt*`), форматы тегов (`repeater-mqtt-v*`, `repeater-mqtt-espnow-v*`, `repeater-mqtt-bridge-v*`), суффикс версии сборки (`-posadmesh-`) и переменная версии релиза (`EASTMESH_VERSION` → `POSADMESH_VERSION`)."
- type: changed
area: release
text: "Удалена линия companion-прошивок: трек `companion-wifi` и команды сборки companion убраны из проекта, остаются только MQTT-сборки. Цели и код companion в upstream-оверлеях не изменялись."
- type: fixed
area: build
text: "Сборка по группам снова работает: команды искали окружения по устаревшим суффиксам `_repeater_observer*`, а на Windows имена окружений приходили с символом `\\r`, из-за чего не находилось ни одной цели. Теперь используются реальные суффиксы `_repeater_mqtt*`, вывод PlatformIO очищается от `\r`, добавлены команды `build-mqtt-firmwares` (все MQTT-треки) и `list-mqtt`."
- type: docs
area: docs
text: "Документация переведена на русский язык: `posadmesh-docs/*.md`, `README.md`, `RELEASE.md` и `AGENTS.md`. Команды, их вывод, код, пути и идентификаторы оставлены без перевода."
@@ -520,11 +529,13 @@ releases:
area: web
text: "Исправлен разбор дерева регионов: завершающая буква `F` в имени региона срезалась, из-за чего `region allowf`, `region denyf` и `region remove` не работали для таких имён."
breaking_changes:
- "Формат тегов меняется на `observer-posadmesh-*`: прежние теги `observer-eastmesh-*` больше ничего не запускают и остаются только как история."
- "Формат тегов меняется на `repeater-mqtt-*`: прежние теги `observer-eastmesh-*` больше ничего не запускают и остаются только как история."
- "`EASTMESH_VERSION` переименована в `POSADMESH_VERSION`: локальные скрипты со старым именем соберут версию без суффикса PosadMesh."
- "Команды `mqtt.meshmapper`, `mqtt.waev` и `mqtt.letsmesh-*` удалены; сохранённые выборы этих брокеров сбрасываются при обновлении."
- "Документация больше не публикуется отдельным сайтом и читается в веб-интерфейсе git.meshinfo.ru."
- track: observer-posadmesh-bridge-espnow
- "Линия companion-прошивок удалена: трек `companion-wifi` и companion-сборки больше не выпускаются."
- track: repeater-mqtt-espnow
version: "2026.5.1"
tag: "observer-eastmesh-bridge-espnow-v2026.5.1"
date: "2026-05-23"
@@ -536,14 +547,14 @@ releases:
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`."
text: "Renamed `*_repeater_mqtt_bridge` PlatformIO environments and release artifact prefixes to `*_repeater_mqtt_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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.0"
tag: "observer-eastmesh-bridge-espnow-v2026.6.0"
date: "2026-06-03"
@@ -570,7 +581,7 @@ releases:
text: "Merged upstream MeshCore dev updates including sensor handling, RAK4631 BME680/BSEC support, documentation refreshes, and board/platform fixes."
breaking_changes: []
- track: observer-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.1"
tag: "observer-eastmesh-bridge-espnow-v2026.6.1"
date: "2026-06-07"
@@ -588,7 +599,7 @@ releases:
text: "Updated EastMesh custom CLI docs for the new `flood.max.advert` command."
breaking_changes: []
- track: observer-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.2"
tag: "observer-eastmesh-bridge-espnow-v2026.6.2"
date: "2026-06-07"
@@ -624,7 +635,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.3"
tag: "observer-eastmesh-bridge-espnow-v2026.6.3"
date: "2026-06-09"
@@ -648,7 +659,7 @@ releases:
text: "Documented custom MQTT TCP/WSS configuration in the web panel and custom CLI guides."
breaking_changes: []
- track: observer-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.4"
tag: "observer-eastmesh-bridge-espnow-v2026.6.4"
date: "2026-06-23"
@@ -677,7 +688,7 @@ releases:
- "`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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.5"
tag: "observer-eastmesh-bridge-espnow-v2026.6.5"
date: "2026-06-26"
@@ -701,7 +712,7 @@ releases:
text: "Documented the Waev broker in the README and custom CLI guides."
breaking_changes: []
- track: observer-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.6.6"
tag: "observer-eastmesh-bridge-espnow-v2026.6.6"
date: "2026-06-27"
@@ -713,7 +724,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.7.0"
tag: "observer-eastmesh-bridge-espnow-v2026.7.0"
date: "2026-07-19"
@@ -735,7 +746,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.8.0"
tag: "observer-eastmesh-bridge-espnow-v2026.8.0"
date: "2026-08-09"
@@ -754,7 +765,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.8.1"
tag: "observer-eastmesh-bridge-espnow-v2026.8.1"
date: "2026-08-09"
@@ -769,7 +780,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.8.2"
tag: "observer-eastmesh-bridge-espnow-v2026.8.2"
date: "2026-08-15"
@@ -795,7 +806,7 @@ releases:
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-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.8.3"
tag: "observer-eastmesh-bridge-espnow-v2026.8.3"
date: "2026-08-23"
@@ -822,19 +833,25 @@ releases:
text: "Added `eastmesh-tools/web-heap-check.sh` to read heap and service health over the HTTPS API and optionally stress the web panel with browser-style bursts."
breaking_changes: []
- track: observer-posadmesh-bridge-espnow
- track: repeater-mqtt-espnow
version: "2026.10.0"
tag: "observer-posadmesh-bridge-espnow-v2026.10.0"
tag: "repeater-mqtt-espnow-v2026.10.0"
date: "2026-10-07"
previous_version: "2026.8.3"
summary: "Полный рефакторинг под PosadMesh в сборках обсервера с ESP-NOW мостом: переименованы папки, скрипты, треки и теги, документация переведена на русский, удалены брокеры waev/meshmapper/letsmesh, репозиторий переехал на git.meshinfo.ru с локальной сборкой релизов, база обновлена до upstream MeshCore v1.17.1."
summary: "Полный рефакторинг под PosadMesh в сборках MQTT-репитера с ESP-NOW мостом: переименованы папки, скрипты, цели сборки и треки (observer → mqtt), документация переведена на русский, удалены брокеры waev/meshmapper/letsmesh и линия companion-прошивок, репозиторий переехал на git.meshinfo.ru с локальной сборкой релизов, база обновлена до upstream MeshCore v1.17.1."
changes:
- type: changed
area: upstream
text: "База прошивки обновлена до upstream MeshCore v1.17.1."
- type: changed
area: release
text: "Проект целиком переименован в PosadMesh: папки и скрипты (`eastmesh-docs` → `posadmesh-docs`, `eastmesh-tools` → `posadmesh-tools`, `eastmesh-build.sh` → `posadmesh-build.sh`), треки релизов (`observer-eastmesh*` → `observer-posadmesh*`), форматы тегов (`observer-posadmesh-v*`, `observer-posadmesh-bridge-espnow-v*`, `observer-posadmesh-bridge-mqtt-v*`), суффикс версии сборки (`-posadmesh-`) и переменная версии релиза (`EASTMESH_VERSION` → `POSADMESH_VERSION`)."
text: "Проект переименован в PosadMesh и переведён на имена MQTT: папки и скрипты (`eastmesh-docs` → `posadmesh-docs`, `eastmesh-tools` → `posadmesh-tools`, `eastmesh-build.sh` → `posadmesh-build.sh`), цели сборки (`*_repeater_observer*` → `*_repeater_mqtt*`), треки релизов (`observer-eastmesh*` → `repeater-mqtt*`), форматы тегов (`repeater-mqtt-v*`, `repeater-mqtt-espnow-v*`, `repeater-mqtt-bridge-v*`), суффикс версии сборки (`-posadmesh-`) и переменная версии релиза (`EASTMESH_VERSION` → `POSADMESH_VERSION`)."
- type: changed
area: release
text: "Удалена линия companion-прошивок: трек `companion-wifi` и команды сборки companion убраны из проекта, остаются только MQTT-сборки. Цели и код companion в upstream-оверлеях не изменялись."
- type: fixed
area: build
text: "Сборка по группам снова работает: команды искали окружения по устаревшим суффиксам `_repeater_observer*`, а на Windows имена окружений приходили с символом `\\r`, из-за чего не находилось ни одной цели. Теперь используются реальные суффиксы `_repeater_mqtt*`, вывод PlatformIO очищается от `\r`, добавлены команды `build-mqtt-firmwares` (все MQTT-треки) и `list-mqtt`."
- type: docs
area: docs
text: "Документация переведена на русский язык: `posadmesh-docs/*.md`, `README.md`, `RELEASE.md` и `AGENTS.md`. Команды, их вывод, код, пути и идентификаторы оставлены без перевода."
@@ -857,8 +874,8 @@ releases:
area: web
text: "Исправлен разбор дерева регионов: завершающая буква `F` в имени региона срезалась, из-за чего `region allowf`, `region denyf` и `region remove` не работали для таких имён."
breaking_changes:
- "Формат тегов меняется на `observer-posadmesh-*`: прежние теги `observer-eastmesh-*` больше ничего не запускают и остаются только как история."
- "Формат тегов меняется на `repeater-mqtt-*`: прежние теги `observer-eastmesh-*` больше ничего не запускают и остаются только как история."
- "`EASTMESH_VERSION` переименована в `POSADMESH_VERSION`: локальные скрипты со старым именем соберут версию без суффикса PosadMesh."
- "Команды `mqtt.meshmapper`, `mqtt.waev` и `mqtt.letsmesh-*` удалены; сохранённые выборы этих брокеров сбрасываются при обновлении."
- "Документация больше не публикуется отдельным сайтом и читается в веб-интерфейсе git.meshinfo.ru."
- "Линия companion-прошивок удалена: трек `companion-wifi` и companion-сборки больше не выпускаются."