Skip to content

RELEASE_NOTES_1.8.10

github-actions[bot] edited this page Nov 18, 2025 · 1 revision

Release Notes: v1.8.10

Release Date: November 18, 2025
Type: Patch Release (Bug Fix)


🎯 Overview

Version 1.8.10 is a focused patch release that fixes a critical bridge discovery issue where newly connected nodes were not reliably receiving bridge status information. This release improves the reliability of bridge-to-node communication in mesh networks.


🐛 Bug Fixes

Bridge Status Discovery - Direct Messaging

Issue: Newly connected nodes were not reliably receiving bridge status broadcasts, causing delays or failures in bridge discovery.

Root Cause Analysis:

  • Broadcast messages (routing=2) were not reaching newly connected nodes consistently
  • Time synchronization (NTP) operations were interfering with bridge discovery timing
  • Broadcast routing tables may not be fully established immediately after a node connects to the mesh
  • This led to nodes reporting "No primary bridge available" despite bridges being active

Solution Implemented:

  • Changed bridge status delivery mechanism from broadcast to direct single message
  • Bridge now sends status directly to newly connected nodes using sendSingle() (routing=1)
  • Minimal 500ms delay added for connection stability before sending status
  • Direct targeted delivery ensures the message reaches the new node reliably
  • Time sync operations no longer interfere with critical bridge discovery

Technical Details:

  • File Modified: src/arduino/wifi.hpp
  • Location: Line ~809 in initBridgeStatusBroadcast()
  • Change: Modified newConnectionCallback to use sendSingle(nodeId, ...) instead of sendBroadcast(...)
  • Routing Mode: Changed from routing=2 (broadcast) to routing=1 (single destination)

Impact:

  • ✅ Nodes discover bridges immediately (within 500ms) after connecting
  • ✅ Eliminates "No primary bridge available" errors for newly connected nodes
  • ✅ More reliable mesh network initialization
  • ✅ Better handling of nodes joining/rejoining the mesh
  • ✅ Reduced dependency on broadcast routing table convergence

Backward Compatibility:

  • ✅ No API changes
  • ✅ Internal delivery mechanism improved
  • ✅ All existing code continues to work without modification
  • ✅ No breaking changes to bridge status packet format

Related Issues:

  • Resolves GitHub issue #135 "The latest fix does not work"

📦 What's Included

Core Changes

  • Bridge Discovery: Enhanced reliability for newly connected nodes
  • Message Delivery: Direct messaging replaces broadcast for critical status updates
  • Connection Stability: Added minimal delay for connection stabilization

Files Modified

  • src/arduino/wifi.hpp - Bridge status delivery mechanism
  • library.properties - Version update to 1.8.10
  • library.json - Version update to 1.8.10
  • package.json - Version update to 1.8.10
  • src/painlessMesh.h - Header version and date update
  • src/AlteriomPainlessMesh.h - Version defines update
  • CHANGELOG.md - Release entry added

🚀 Upgrade Guide

Installation

Arduino Library Manager:

Search for "Alteriom PainlessMesh" and update to v1.8.10

PlatformIO:

lib_deps = alteriom/AlteriomPainlessMesh@^1.8.10

NPM:

npm install @alteriom/painlessmesh@1.8.10

Migration from v1.8.9

No changes required! This is a drop-in replacement for v1.8.9.

  • ✅ All existing bridge code works unchanged
  • ✅ All existing node code works unchanged
  • ✅ No API modifications
  • ✅ No configuration changes needed

Simply update the library version and redeploy.


🧪 Testing Recommendations

After upgrading to v1.8.10, test these scenarios:

1. New Node Connection Test

// Expected behavior:
// - Node connects to mesh
// - Receives bridge status within 500ms
// - No "No primary bridge available" errors

2. Bridge Discovery Test

// Expected behavior:
// - Multiple nodes connecting simultaneously
// - All nodes discover bridge reliably
// - Fast discovery regardless of NTP sync activity

3. Bridge Failover Test

// Expected behavior:
// - Bridge disconnects
// - New bridge elected
// - All nodes discover new bridge within 500ms

4. Network Rejoin Test

// Expected behavior:
// - Node loses connection and reconnects
// - Bridge status received immediately on rejoin
// - No discovery delays

🎯 Recommendations

Who Should Upgrade

Immediate Upgrade Recommended:

  • ✅ Systems with frequent node connections/disconnections
  • ✅ Networks experiencing bridge discovery delays
  • ✅ Deployments with NTP time synchronization enabled
  • ✅ Multi-bridge mesh networks
  • ✅ Production systems requiring fast startup

Can Upgrade at Convenience:

  • Networks with stable connections and infrequent joins
  • Single-bridge setups without time sync
  • Development/testing environments

Deployment Strategy

Low-Risk Deployment:

  1. Test in development environment first
  2. Deploy to one bridge node
  3. Monitor for 24 hours
  4. Roll out to remaining nodes

Zero-Downtime Deployment:

  • Bridge nodes can be updated one at a time
  • Regular nodes can be updated in batches
  • No mesh network restart required

📊 Performance Characteristics

Resource Usage

  • Memory Impact: Negligible (no additional allocations)
  • CPU Impact: Minimal (one additional sendSingle() per connection)
  • Network Traffic: Slightly reduced (targeted delivery vs broadcast)

Timing Improvements

  • Before v1.8.10: Bridge discovery could take up to 30 seconds (periodic broadcast interval)
  • After v1.8.10: Bridge discovery within 500ms of connection

Network Efficiency

  • Broadcast Method: Message sent to all nodes (even if not needed)
  • Direct Method: Message sent only to newly connected node (more efficient)

🔍 Known Issues

None

This release has no known issues. The fix has been tested and validated.

Reporting Issues

If you encounter any problems with v1.8.10, please report them:


🙏 Acknowledgments

Special thanks to the community members who reported and helped diagnose the bridge discovery issue, particularly:

  • GitHub user who reported issue #135

📚 Additional Resources


🔜 Coming in Future Releases

Stay tuned for upcoming features:

  • Enhanced bridge load balancing
  • Advanced mesh diagnostics
  • Additional monitoring packages
  • Performance optimizations

Released: November 18, 2025
Version: 1.8.10
Type: Patch (Bug Fix)
Compatibility: 100% backward compatible with v1.8.9

Clone this wiki locally