Skip to content

v5.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 11:09
7d781ff

5.0.0 (2026-08-18)

⚠ BREAKING CHANGES

  • The Homie MQTT protocol has been removed entirely. The controller now exclusively uses Home Assistant MQTT Discovery.

Features

  • add Home Assistant climate/thermostat MQTT entity (d5daeb9)
  • add mDNS responder for pool-controller.local discovery (#95) (b1252e7)
  • add Olimex ESP32-C6 local UI (#175) (2777cc9)
  • calibration: guided NORVI button calibration wizard (#182) (c4fc499)
  • change default MQTT protocol to HomeAssistant (5d4cad9)
  • Cleanup and fixes (#72) (90d6e07)
  • convert WebUI to Progressive Web App (PWA) (b2f05d1)
  • display: action menu, wizard-cancel, and step indicator (b0d717d)
  • display: horizontal text scrolling for long strings (c7e03fb)
  • display: long-press progress bar and auto-return warning (9b49135)
  • display: merge Aktionsmenü, Wizard-Cancel und Schritt-Indikator (#148) (4ac6cc2)
  • display: merge Hint-Labels, Footer-Format und S1-Wrap (#147) (7264a33)
  • display: merge Long-Press-Fortschrittsbalken und Auto-Return-Warnung (#149) (bc3e02e)
  • display: update hint labels, footer page format, and S1 wrap (1da577a)
  • docs: add KiCad 9.0 schematic generator and PDF exports (#104) (ff46191)
  • docs: Add Quick Start Guide, FAQ, and Safety Warnings (#107) (b0152e1)
  • ha: add circulation-extension sensor showing extra minutes beyond base timer (0270355)
  • ha: add circulation-extension sensor showing extra minutes beyond base timer (9339d25)
  • ha: add display precision, circulating action, outlet class, MQTT sensor, cleaner names (85c1ffd)
  • ha: add state_class, binary_sensor, RSSI class, and climate preset modes (94daa52)
  • ha: Replace timer H/Min number entities with single HH:MM text entities (#74) (27c337f)
  • logging: add log console view (LogCapture ring buffer, REST /api/logs, MQTT event export) (#169) (93cc7a0)
  • mqtt: set HA entity_category for all discovery entities (375f40f)
  • NORVI AE01-R hardware support with OLED display (#117) (964a1bd)
  • norvi: add OLED display with 4 info pages, button navigation, and QR code (34681e2)
  • NTP server config via Web UI + MQTT, local time display (#83) (c45bd55)
  • NVS config backup, MQTT error reporting, web UI improvements (#82) (817500a)
  • OLED Menu-Navigation, Sensor-Mapping in WebUI+HA, mDNS (f72bbe2)
  • optimierte Pin-Belegung (GPIO32/33/25/26) + Status-LED mit Homie-Blinkcodes (c6ef387)
  • OTA update from GitHub releases, semver release management, config safety (#77) (2972b34)
  • restructure web UI settings tabs and HA entity categories (#87) (712b037)
  • semver release pipeline via release-please (Conventional Commits) (#29) (102b18b)
  • system: log concrete reason when entering safe mode (#179) (e7ac809)
  • temperature-based circulation time with continuous extension (b16a9d0)
  • ui: add About section in More bottom sheet (5919624)
  • ui: iOS-style bottom tab bar with glassmorphism (38eec43)
  • web-ui: redesign timer display as intuitive time range instead of abstract minutes (366d647)
  • web-ui: redesign timer display as intuitive time range instead of abstract minutes (1ced447)
  • web-ui: show circulation extension (extra minutes) on dashboard (69e21bf)
  • web-ui: show circulation extension (extra minutes) on dashboard (e7cbc24)
  • web: add /api/fs/upload endpoint for OTA-safe web asset deployment (cee0b4a)
  • web: add temperature-based circulation parameters to Web UI (963bcde)
  • web: format effective runtime as duration in WebUI and HA (b460b4f)
  • web: make dashboard and operating parameters visible without login (919bbde)
  • web: replace pump text toggle with visible toggle-switch controls (#166) (e37e7bd)
  • wifi: add WPS onboarding for initial WiFi provisioning (#67) (6983af6)

Bug Fixes

  • add native test infrastructure with ASan and coverage reporting (#98) (1421a39)
  • address CodeQL code scanning alerts — thread-safe time functions, path-exclude libdeps, update skills (6ebbae1)
  • address Codex clean-code review findings (f1d6da2)
  • button: Add ADC filtering and improved debouncing for NORVI front panel buttons (#177) (206954b)
  • button: stop phantom NORVI operation-mode switches (#181) (cdf4083)
  • ci: add checkout step to auto-merge-release workflow (bd19bea)
  • ci: filter .pio/libdeps from CodeQL SARIF instead of paths-ignore (a345790)
  • ci: fix native test build and clang-format violations (ba6a1a8)
  • ci: make website dispatch workflow non-blocking on token issues (#69) (4e03bd3)
  • ci: suppress cppcheck syntaxError for ESP-IDF version macros (028e62a)
  • ci: use temp file to avoid gh release upload name collision (d570745)
  • clang-format: apply clang-format to MqttPublisher.cpp (8058c1d)
  • config: correct Doxygen description — uses NVS (Preferences), not LittleFS (d1e9910)
  • correct #pragmaonce to #pragma once in RuleAuto.hpp (6963f6c)
  • display: ADC threshold calibration and QR code sizing (ca6810f)
  • display: address PR #147 review comments (fddff74)
  • docs synced de/en (909304d)
  • docs: align HA entity table with name-based generation, fix domain errors (#157) (689c24e)
  • docs: correct relative paths for images and links (#164) (1870c3e)
  • ESP32 compatibility, memory & buffer fixes + AGENTS.md update (#68) (b95efbd)
  • ha: select-Entity-Status ohne Temperatur publishen (e6f32d7)
  • ha: Sensor-Mapping Discovery bei jedem MQTT-Reconnect publishen (1ab82d9)
  • ha: use name-based entity IDs matching HA generation (22c56bd)
  • homeassistant: remove 'none' from preset_modes discovery config (d05a083)
  • improve English grammar and word choice in documentation (#47) (2d71dcd)
  • logging: trace operation mode command sources (#174) (dd91530)
  • master Branch renamed to main (f0d0223)
  • mount LittleFS during web portal startup (#85) (592a4c8)
  • move solar pump relay to R2 (GPIO13), add RC snubber docs (#165) (5f8b964)
  • mqtt: prevent dangling pointer and duplicate callback on reconnect (25090d7)
  • mqtt: remove duplicate Home Assistant Discovery entities (9ef1526)
  • network: remove always-true WPS function pointer check (b0a339b)
  • network: remove always-true WPS function pointer check (e9a01bf)
  • norvi: move solar pump relay from R1 (GPIO12) to R5 (GPIO33) (#158) (5cf8fda)
  • ota: select correct firmware binary per board type (34f93d2)
  • pool-controller: stop overriding persisted TimerSetting with hardcoded values (3cfd43f)
  • relay: avoid int→bool ambiguity in constructor overloads (fcc616c)
  • relay: correct relay polarity for NORVI AE01-R active-HIGH relays (6e92aa0)
  • Remove space between platform name and version specifier in nodemcuv2 environment (0f34a68)
  • resolve MegaLinter issues in PR #139 (0c3cea8)
  • restore telemetry updates and HA entity visibility (716dfe6)
  • review findings for temperature-based circulation (8784f25)
  • sensor setup UX, button thresholds, QR page layout (7028689)
  • sensor: apply address filter to running instance immediately (#160) (cbaad12)
  • solar pump hysteresis at max pool temperature (c5a4e76)
  • test: add missing saveSensorMapping/loadSensorMapping to mock ConfigManager (00d349b)
  • test: add strlcat fallback for native test builds (c6463fb)
  • timer: keep pump running when extension wraps past midnight (#180) (2a8f919)
  • ui: display dashboard thresholds without-auth via /api/status, 4-across mode cards (e68d4bf)
  • use MegaLinter v9.6.0 (v9.7.0 does not exist as release tag) (81b679f)
  • web-ui: use consistent muted styling for Extension telemetry item (b0988db)
  • web-ui: use consistent muted styling for Extension telemetry item (6ae6b99)
  • web: clarify that timer start/end also applies in Auto mode (5985a00)
  • web: correct license text from GPL-3.0 to MIT in dashboard footer (1d22f05)
  • web: make /api/fs/upload work by also accepting upload.filename (09765b8)
  • web: remove leftover merge conflict markers in index.html (#118) (907b676)
  • web: stop tabs from reopening WiFi settings after navigation (726bde4)
  • web: use streaming multipart upload for /api/fs/upload (0c38f50)
  • wps: correct ESP-IDF version guard for esp_wifi_wps_start API (ab98105)
  • wps: correct ESP-IDF version guard for esp_wifi_wps_start API (8d92db8)
  • wps: correct ESP-IDF version guard for esp_wifi_wps_start API (#124) (ab98105)

Performance Improvements

Miscellaneous Chores

  • remove deprecated Homie references across codebase (1df0705)