Repository navigation
GITHUB_RELEASE_v1.8.6
Fixed critical issue where mesh networks would remain bridgeless indefinitely when all nodes started without a designated initial bridge.
Before: No initial bridge → no election → mesh stays bridgeless forever
After: No initial bridge → 60s startup → monitoring detects absence → election triggered → best RSSI node becomes bridge
- Added periodic monitoring task (30s interval) that detects absence of healthy bridge
- Activates after 60s startup grace period to allow network stabilization
- Randomized election delay (1-3s) prevents thundering herd problem
- Respects existing safeguards: election state, 60s cooldown, router visibility
Fully backward compatible - pre-designated bridge mode continues to work as before.
Core fix: src/arduino/wifi.hpp
Enhanced documentation to clarify two deployment modes:
-
Auto-Election Mode: All nodes regular (
INITIAL_BRIDGE=false), RSSI-based election after 60s - Pre-Designated Mode: Traditional single initial bridge setup
Updated:
-
examples/bridge_failover/bridge_failover.ino- Enhanced header comments -
examples/bridge_failover/README.md- Comprehensive auto-election documentation
- Synchronized
package-lock.jsonversion to 1.8.5
lib_deps = alteriom/AlteriomPainlessMesh@^1.8.6npm install @alteriom/painlessmesh@1.8.6Search for "AlteriomPainlessMesh" and update through the IDE
This release is valuable for:
- Dynamic mesh networks with changing node positions
- Fault-tolerant deployments requiring automatic bridge recovery
- IoT systems with minimal human oversight
- Development environments without pre-configured bridges
Special thanks to @woodlist for reporting the issue and providing detailed logs.
Full Changelog: https://github.com/Alteriom/painlessMesh/compare/v1.8.5...v1.8.6