@alteriom/painlessmesh 1.8.14 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BRIDGE_TO_INTERNET.md +229 -0
- package/CHANGELOG.md +89 -1
- package/CONTRIBUTING.md +79 -0
- package/README.md +70 -143
- package/docs/README.md +1 -0
- package/docs/api/shared-gateway.md +1207 -0
- package/docs/troubleshooting/common-issues.md +28 -0
- package/docs/troubleshooting/faq.md +113 -12
- package/examples/basic/test/simulator/CMakeLists.txt +40 -0
- package/examples/basic/test/simulator/README.md +149 -0
- package/examples/basic/test/simulator/firmware/basic_firmware.hpp +117 -0
- package/examples/basic/test/simulator/scenarios/basic_mesh_test.yaml +81 -0
- package/examples/bridge/bridge.ino +17 -4
- package/examples/bridge_failover/README.md +81 -0
- package/examples/bridge_failover/bridge_failover.ino +51 -6
- package/examples/sharedGateway/README.md +235 -0
- package/examples/{meshCommandNode → sharedGateway}/platformio.ini +3 -2
- package/examples/sharedGateway/sharedGateway.ino +303 -0
- package/library.json +3 -22
- package/library.properties +1 -1
- package/package.json +3 -3
- package/src/arduino/wifi.hpp +380 -13
- package/src/painlessmesh/gateway.hpp +2120 -0
- package/src/painlessmesh/mesh.hpp +1034 -6
- package/src/painlessmesh/message_tracker.hpp +311 -0
- package/src/painlessmesh/protocol.hpp +6 -0
- package/DOCUMENTATION_INDEX.md +0 -146
- package/docs/API_DESIGN_GUIDELINES.md +0 -414
- package/docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md +0 -331
- package/docs/BOOLEAN_NAMING_CONVENTION.md +0 -235
- package/docs/BRIDGE_FAILOVER.md +0 -512
- package/docs/BRIDGE_HEALTH_MONITORING.md +0 -293
- package/docs/CHANNEL_SYNCHRONIZATION.md +0 -209
- package/docs/CREATE_MISSING_RELEASES.md +0 -321
- package/docs/DOCUMENTATION_MIGRATION_PLAN.md +0 -176
- package/docs/FAQ_VERSION_NUMBERS.md +0 -152
- package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +0 -1062
- package/docs/MESH_TOPOLOGY_GUIDE.md +0 -992
- package/docs/MESH_TOPOLOGY_PROGRESS.md +0 -422
- package/docs/MQTT_BRIDGE_COMMANDS.md +0 -894
- package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +0 -324
- package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +0 -576
- package/docs/MQTT_SCHEMA_COMPLIANCE.md +0 -340
- package/docs/MQTT_SCHEMA_PROPOSALS.md +0 -446
- package/docs/MQTT_SCHEMA_REVIEW.md +0 -690
- package/docs/OTA_COMMANDS_REFERENCE.md +0 -554
- package/docs/PHASE1_GUIDE.md +0 -349
- package/docs/PHASE2_GUIDE.md +0 -543
- package/docs/QUICK_REFERENCE_VERSIONING.md +0 -127
- package/docs/RELEASE_AGENT_SUMMARY.md +0 -386
- package/docs/SCHEMA_VALIDATION_CHECKLIST.md +0 -222
- package/docs/VERSION_MANAGEMENT.md +0 -213
- package/docs/archive/DOCUSAURUS_DEPLOYMENT.md +0 -166
- package/docs/archive/FEATURE_PROPOSALS.md +0 -337
- package/docs/archive/LIBRARY_JSON_FIX.md +0 -98
- package/docs/archive/LIBRARY_STRUCTURE_FIX.md +0 -215
- package/docs/archive/PHASE1_IMPLEMENTATION.md +0 -325
- package/docs/archive/PHASE2_IMPLEMENTATION.md +0 -567
- package/docs/archive/RELEASE_SUMMARY.md +0 -173
- package/docs/archive/SCONS_BUILD_FIX.md +0 -313
- package/docs/archive/TRIGGER_RELEASE.md +0 -280
- package/docs/archive/VECTOR_INCLUDE_FIX.md +0 -129
- package/docs/archive/ota-and-status-enhancements.md +0 -911
- package/docs/archive/ota-status-architecture-diagrams.md +0 -658
- package/docs/archive/ota-status-quick-reference.md +0 -284
- package/docs/design/.gitkeep +0 -1
- package/docs/design/STATION_CREDENTIALS_DESIGN.md +0 -182
- package/docs/development/ARDUINO_COMPLIANCE_SUMMARY.md +0 -71
- package/docs/development/CODE_REFACTORING_RECOMMENDATIONS.md +0 -1011
- package/docs/development/DOCKER_TESTING.md +0 -196
- package/docs/development/PLATFORMIO_USAGE.md +0 -180
- package/docs/development/TESTING_SUMMARY.md +0 -126
- package/docs/development/contributing.md +0 -301
- package/docs/development/documentation.md +0 -583
- package/docs/features/DIAGNOSTICS_API.md +0 -534
- package/docs/implementation/BRIDGE_ARCHITECTURE_IMPLEMENTATION.md +0 -340
- package/docs/implementation/BRIDGE_HEALTH_MONITORING_IMPLEMENTATION.md +0 -213
- package/docs/implementation/BRIDGE_STATUS_FEATURE.md +0 -635
- package/docs/implementation/DIAGNOSTICS_API_IMPLEMENTATION.md +0 -232
- package/docs/implementation/IMPLEMENTATION_COMPLETE.md +0 -228
- package/docs/implementation/IMPLEMENTATION_NTP_TIME_SYNC.md +0 -325
- package/docs/implementation/IMPLEMENTATION_SUMMARY.md +0 -316
- package/docs/implementation/MESSAGE_QUEUE_IMPLEMENTATION.md +0 -405
- package/docs/implementation/MULTI_BRIDGE_IMPLEMENTATION.md +0 -520
- package/docs/implementation/NTP_TIME_SYNC_FEATURE.md +0 -392
- package/docs/improvements/FUTURE_PROPOSALS.md +0 -1016
- package/docs/improvements/IMPLEMENTATION_HISTORY.md +0 -1091
- package/docs/improvements/OTA_STATUS_ENHANCEMENTS.md +0 -709
- package/docs/improvements/README.md +0 -212
- package/docs/internal/CUSTOM_AGENT_ANALYSIS.md +0 -391
- package/docs/internal/ISSUE_65_VERIFICATION.md +0 -947
- package/docs/internal/ISSUE_66_CLOSURE.md +0 -249
- package/docs/internal/ISSUE_66_STATUS.md +0 -316
- package/docs/internal/PR_SUMMARY.md +0 -315
- package/docs/internal/REVIEW_SUMMARY.md +0 -332
- package/docs/multi-bridge-setup.md +0 -1025
- package/docs/platformio-publishing.md +0 -255
- package/docs/platformio-setup-summary.md +0 -121
- package/docs/releases/ANNOUNCEMENT_v1.8.6.md +0 -63
- package/docs/releases/ANNOUNCEMENT_v1.8.7.md +0 -113
- package/docs/releases/BRIDGE_STATUS_SELF_REGISTRATION_FIX.md +0 -221
- package/docs/releases/FEATURE_HISTORY.md +0 -543
- package/docs/releases/GITHUB_RELEASE_v1.8.6.md +0 -71
- package/docs/releases/GITHUB_RELEASE_v1.8.7.md +0 -90
- package/docs/releases/PATCH_v1.7.2.md +0 -262
- package/docs/releases/PATCH_v1.7.3.md +0 -262
- package/docs/releases/PATCH_v1.7.4.md +0 -219
- package/docs/releases/PHASE1_SUMMARY.md +0 -246
- package/docs/releases/PHASE2_SUMMARY.md +0 -499
- package/docs/releases/PUBLISH_v1.8.0_INSTRUCTIONS.md +0 -163
- package/docs/releases/QUICK_START_RELEASES.md +0 -113
- package/docs/releases/RELEASE_CHECKLIST_1.8.10.md +0 -331
- package/docs/releases/RELEASE_CHECKLIST_1.8.9.md +0 -207
- package/docs/releases/RELEASE_CHECKLIST_v1.7.4.md +0 -253
- package/docs/releases/RELEASE_CHECKLIST_v1.7.5.md +0 -315
- package/docs/releases/RELEASE_CHECKLIST_v1.7.6.md +0 -389
- package/docs/releases/RELEASE_CHECKLIST_v1.8.0.md +0 -331
- package/docs/releases/RELEASE_CHECKLIST_v1.8.2.md +0 -309
- package/docs/releases/RELEASE_NOTES_1.7.0.md +0 -539
- package/docs/releases/RELEASE_NOTES_1.8.10.md +0 -239
- package/docs/releases/RELEASE_NOTES_1.8.9.md +0 -213
- package/docs/releases/RELEASE_NOTES_v1.8.0.md +0 -685
- package/docs/releases/RELEASE_NOTES_v1.8.1.md +0 -221
- package/docs/releases/RELEASE_NOTES_v1.8.2.md +0 -421
- package/docs/releases/RELEASE_NOTES_v1.8.3.md +0 -292
- package/docs/releases/RELEASE_NOTES_v1.8.4.md +0 -277
- package/docs/releases/RELEASE_NOTES_v1.8.6.md +0 -205
- package/docs/releases/RELEASE_NOTES_v1.8.7.md +0 -184
- package/docs/releases/RELEASE_PLAN_v1.7.6.md +0 -816
- package/docs/releases/RELEASE_SUMMARY_1.8.10.md +0 -193
- package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +0 -276
- package/docs/releases/RELEASE_SUMMARY_v1.7.5.md +0 -322
- package/docs/releases/RELEASE_SUMMARY_v1.7.6.md +0 -436
- package/docs/releases/RELEASE_SUMMARY_v1.7.7.md +0 -391
- package/docs/releases/RELEASE_SUMMARY_v1.7.8.md +0 -523
- package/docs/releases/RELEASE_SUMMARY_v1.7.9.md +0 -542
- package/docs/troubleshooting/ARDUINO_IDE_VERSION_FIX_SUMMARY.md +0 -229
- package/docs/troubleshooting/ARDUINO_LIBRARY_NAME_FIX.md +0 -197
- package/docs/troubleshooting/CRASH_QUICK_REF.md +0 -93
- package/docs/troubleshooting/ESP32_C6_COMPATIBILITY.md +0 -157
- package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +0 -288
- package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +0 -267
- package/docs/troubleshooting/NPM_PUBLISHING_ISSUE_SUMMARY.md +0 -110
- package/docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md +0 -547
- package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +0 -164
- package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +0 -264
- package/docs/troubleshooting/station-reconnection-issues.md +0 -172
- package/docs/v1.7.7_MQTT_IMPROVEMENTS.md +0 -794
- package/docs/wiki/API-Reference.md +0 -246
- package/docs/wiki/Complete-Documentation.md +0 -123
- package/examples/alteriomImproved/alteriom_sensor_package.hpp +0 -224
- package/examples/alteriomImproved/improved_sensor_node.ino +0 -248
- package/examples/alteriomImproved/platformio.ini +0 -32
- package/examples/alteriomMetricsHealth/alteriom_sensor_package.hpp +0 -796
- package/examples/alteriomMetricsHealth/metrics_health_node.ino +0 -429
- package/examples/alteriomMetricsHealth/platformio.ini +0 -26
- package/examples/alteriomPhase1/alteriom_sensor_package.hpp +0 -224
- package/examples/alteriomPhase1/phase1_features.ino +0 -242
- package/examples/alteriomPhase1/platformio.ini +0 -26
- package/examples/alteriomPhase2/alteriom_sensor_package.hpp +0 -224
- package/examples/alteriomPhase2/phase2_features.ino +0 -186
- package/examples/alteriomPhase2/platformio.ini +0 -26
- package/examples/alteriomSensorNode/alteriom_sensor_node.ino +0 -186
- package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +0 -1227
- package/examples/alteriomSensorNode/platformio.ini +0 -26
- package/examples/bridge/alteriom_sensor_package.hpp +0 -1170
- package/examples/bridge/bridge_health_monitoring_example.ino +0 -188
- package/examples/bridge/enhanced_mqtt_bridge.hpp +0 -610
- package/examples/bridge/enhanced_mqtt_bridge_example.ino +0 -226
- package/examples/bridge/mesh_event_publisher.hpp +0 -253
- package/examples/bridge/mesh_topology_reporter.hpp +0 -303
- package/examples/bridge/mqtt_command_bridge.hpp +0 -459
- package/examples/bridge/mqtt_status_bridge.hpp +0 -519
- package/examples/bridgeAwareSensorNode/alteriom_sensor_package.hpp +0 -1227
- package/examples/bridgeAwareSensorNode/bridgeAwareSensorNode.ino +0 -342
- package/examples/bridgeAwareSensorNode/platformio.ini +0 -26
- package/examples/diagnosticsExample/diagnosticsExample.ino +0 -171
- package/examples/diagnosticsExample/platformio.ini +0 -26
- package/examples/echoNode/echoNode.ino +0 -33
- package/examples/echoNode/platformio.ini +0 -26
- package/examples/meshCommandNode/alteriom_sensor_package.hpp +0 -235
- package/examples/meshCommandNode/meshCommandNode.ino +0 -265
- package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +0 -235
- package/examples/mqttCommandBridge/mesh_event_publisher.hpp +0 -253
- package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +0 -303
- package/examples/mqttCommandBridge/mqttCommandBridge.ino +0 -254
- package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +0 -462
- package/examples/mqttCommandBridge/platformio.ini +0 -27
- package/examples/mqttStatusBridge/mqttStatusBridge.ino +0 -218
- package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +0 -522
- package/examples/mqttStatusBridge/platformio.ini +0 -27
- package/examples/mqttTopologyTest/README.md +0 -467
- package/examples/mqttTopologyTest/mqttTopologyTest.ino +0 -754
- package/examples/mqttTopologyTest/platformio.ini +0 -27
- package/examples/multi_bridge/README.md +0 -346
- package/examples/multi_bridge/primary_bridge.ino +0 -96
- package/examples/multi_bridge/regular_node.ino +0 -141
- package/examples/multi_bridge/secondary_bridge.ino +0 -111
- package/examples/ntpTimeSyncBridge/alteriom_sensor_package.hpp +0 -1383
- package/examples/ntpTimeSyncBridge/ntpTimeSyncBridge.ino +0 -86
- package/examples/ntpTimeSyncNode/alteriom_sensor_package.hpp +0 -1383
- package/examples/ntpTimeSyncNode/ntpTimeSyncNode.ino +0 -109
- package/examples/queued_alarms/README.md +0 -390
- package/examples/queued_alarms/queued_alarms.ino +0 -265
- package/examples/routing_demo/README.md +0 -172
- package/examples/routing_demo/routing_demo.ino +0 -102
- package/examples/rtcIntegration/README.md +0 -294
- package/examples/rtcIntegration/rtcIntegration.ino +0 -210
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
# Release Summary: v1.8.10
|
|
2
|
-
|
|
3
|
-
**Version**: 1.8.10
|
|
4
|
-
**Release Date**: November 18, 2025
|
|
5
|
-
**Type**: Patch Release (Bug Fix)
|
|
6
|
-
**Status**: ✅ Ready for Release
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 📝 Quick Summary
|
|
11
|
-
|
|
12
|
-
Version 1.8.10 fixes a critical bridge discovery issue where newly connected nodes were not reliably receiving bridge status information. The fix changes the delivery mechanism from broadcast to direct single message, ensuring immediate and reliable bridge discovery.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## 🎯 What Changed
|
|
17
|
-
|
|
18
|
-
### Single Bug Fix
|
|
19
|
-
- **Bridge Status Discovery** - Fixed newly connected nodes not receiving bridge status
|
|
20
|
-
- Changed from broadcast (`routing=2`) to direct single message (`routing=1`)
|
|
21
|
-
- Added 500ms connection stability delay
|
|
22
|
-
- Nodes now discover bridges within 500ms (previously up to 30 seconds)
|
|
23
|
-
- Resolves GitHub issue #135
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 📦 Files Updated
|
|
28
|
-
|
|
29
|
-
### Version Files (8 files)
|
|
30
|
-
✅ `library.properties` → 1.8.10
|
|
31
|
-
✅ `library.json` → 1.8.10
|
|
32
|
-
✅ `package.json` → 1.8.10
|
|
33
|
-
✅ `src/painlessMesh.h` → 1.8.10 (date: 2025-11-18)
|
|
34
|
-
✅ `src/AlteriomPainlessMesh.h` → 1.8.10 (version defines)
|
|
35
|
-
✅ `CHANGELOG.md` → Added [1.8.10] entry
|
|
36
|
-
✅ `RELEASE_NOTES_1.8.10.md` → Created
|
|
37
|
-
✅ `RELEASE_CHECKLIST_1.8.10.md` → Created
|
|
38
|
-
|
|
39
|
-
### Source Code
|
|
40
|
-
- `src/arduino/wifi.hpp` - Bridge status delivery fix (line ~809)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## ✅ Version Consistency Verification
|
|
45
|
-
|
|
46
|
-
All version numbers are consistent across files:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
library.properties: 1.8.10
|
|
50
|
-
library.json: 1.8.10
|
|
51
|
-
package.json: 1.8.10
|
|
52
|
-
src/painlessMesh.h: 1.8.10
|
|
53
|
-
src/AlteriomPainlessMesh.h: 1.8.10
|
|
54
|
-
CHANGELOG.md: [1.8.10] - 2025-11-18
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## 🚀 Release Steps
|
|
60
|
-
|
|
61
|
-
### Next Steps (To be performed by release manager)
|
|
62
|
-
|
|
63
|
-
1. **Review and Merge PR**
|
|
64
|
-
```bash
|
|
65
|
-
# Review all changes in the PR
|
|
66
|
-
# Merge to main branch when approved
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
2. **Trigger Release** (Automatic via GitHub Actions)
|
|
70
|
-
```bash
|
|
71
|
-
# Push to main branch triggers automated release
|
|
72
|
-
git push origin main
|
|
73
|
-
|
|
74
|
-
# Or manually tag if needed:
|
|
75
|
-
git tag -a v1.8.10 -m "release: v1.8.10 - Bridge status discovery fix"
|
|
76
|
-
git push origin v1.8.10
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
3. **Automated Publication**
|
|
80
|
-
- ✅ GitHub Release created automatically
|
|
81
|
-
- ✅ NPM package published automatically
|
|
82
|
-
- ✅ GitHub Packages updated automatically
|
|
83
|
-
- ✅ PlatformIO registry published automatically
|
|
84
|
-
- ✅ GitHub Wiki synchronized automatically
|
|
85
|
-
|
|
86
|
-
4. **Manual Verification** (After automation completes)
|
|
87
|
-
- Check GitHub Release: https://github.com/Alteriom/painlessMesh/releases
|
|
88
|
-
- Verify NPM: `npm view @alteriom/painlessmesh@1.8.10`
|
|
89
|
-
- Confirm PlatformIO: https://registry.platformio.org/libraries/alteriom/painlessMesh
|
|
90
|
-
- Arduino Library Manager: Will auto-index within 24-48 hours
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 📋 Documentation Provided
|
|
95
|
-
|
|
96
|
-
### Release Documentation
|
|
97
|
-
1. **RELEASE_NOTES_1.8.10.md**
|
|
98
|
-
- Comprehensive release notes with technical details
|
|
99
|
-
- Upgrade guide and migration instructions
|
|
100
|
-
- Testing recommendations
|
|
101
|
-
- Performance characteristics
|
|
102
|
-
|
|
103
|
-
2. **RELEASE_CHECKLIST_1.8.10.md**
|
|
104
|
-
- Complete pre-release checklist (all items completed)
|
|
105
|
-
- Release process step-by-step
|
|
106
|
-
- Post-release tasks
|
|
107
|
-
- Verification commands
|
|
108
|
-
- Rollback procedures
|
|
109
|
-
|
|
110
|
-
3. **CHANGELOG.md**
|
|
111
|
-
- Updated with [1.8.10] entry
|
|
112
|
-
- Detailed fix description
|
|
113
|
-
- References GitHub issue #135
|
|
114
|
-
|
|
115
|
-
4. **RELEASE_SUMMARY_1.8.10.md** (This file)
|
|
116
|
-
- Quick overview for release manager
|
|
117
|
-
- Status summary
|
|
118
|
-
- Next steps
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 🎯 Impact Assessment
|
|
123
|
-
|
|
124
|
-
### User Impact
|
|
125
|
-
- **Positive**: Immediate and reliable bridge discovery for new nodes
|
|
126
|
-
- **Risk**: Very low - focused bug fix with no API changes
|
|
127
|
-
- **Compatibility**: 100% backward compatible
|
|
128
|
-
|
|
129
|
-
### Upgrade Recommendation
|
|
130
|
-
- **Immediate**: For systems with frequent node connections
|
|
131
|
-
- **Standard**: For production deployments
|
|
132
|
-
- **Optional**: For stable networks with infrequent changes
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 📊 Quality Metrics
|
|
137
|
-
|
|
138
|
-
### Code Quality
|
|
139
|
-
- ✅ Focused, targeted fix (single file, specific function)
|
|
140
|
-
- ✅ No breaking changes
|
|
141
|
-
- ✅ Backward compatible
|
|
142
|
-
- ✅ Well-documented with comments
|
|
143
|
-
|
|
144
|
-
### Documentation Quality
|
|
145
|
-
- ✅ Comprehensive release notes
|
|
146
|
-
- ✅ Detailed checklist
|
|
147
|
-
- ✅ Updated changelog
|
|
148
|
-
- ✅ Version consistency verified
|
|
149
|
-
|
|
150
|
-
### Testing
|
|
151
|
-
- ✅ Fix addresses reported issue
|
|
152
|
-
- ✅ Solution validated
|
|
153
|
-
- ✅ No regression risk identified
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## 🔍 Related Issues
|
|
158
|
-
|
|
159
|
-
- **Resolves**: GitHub issue #135 - "The latest fix does not work"
|
|
160
|
-
- **Previous Related**: Issues #117, #108, #89 (bridge discovery improvements)
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## 📞 Support & Resources
|
|
165
|
-
|
|
166
|
-
- **GitHub**: https://github.com/Alteriom/painlessMesh
|
|
167
|
-
- **Documentation**: https://alteriom.github.io/painlessMesh/
|
|
168
|
-
- **NPM**: https://www.npmjs.com/package/@alteriom/painlessmesh
|
|
169
|
-
- **PlatformIO**: https://registry.platformio.org/libraries/alteriom/painlessMesh
|
|
170
|
-
- **Issues**: https://github.com/Alteriom/painlessMesh/issues
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## ✨ Summary for Announcement
|
|
175
|
-
|
|
176
|
-
> **AlteriomPainlessMesh v1.8.10 Released!**
|
|
177
|
-
>
|
|
178
|
-
> This patch release fixes a critical bridge discovery issue where newly connected nodes were not reliably receiving bridge status information. The fix improves bridge discovery time from up to 30 seconds down to just 500ms by using direct message delivery instead of broadcast.
|
|
179
|
-
>
|
|
180
|
-
> **Key Improvement**: Nodes now discover bridges immediately upon connection
|
|
181
|
-
>
|
|
182
|
-
> **Compatibility**: 100% backward compatible - just update and deploy!
|
|
183
|
-
>
|
|
184
|
-
> **Install**:
|
|
185
|
-
> - Arduino: Update via Library Manager
|
|
186
|
-
> - PlatformIO: `lib_deps = alteriom/AlteriomPainlessMesh@^1.8.10`
|
|
187
|
-
> - NPM: `npm install @alteriom/painlessmesh@1.8.10`
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
**Prepared by**: GitHub Copilot Documentation Specialist
|
|
192
|
-
**Date**: November 18, 2025
|
|
193
|
-
**Status**: ✅ All documentation complete and ready for release
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
# painlessMesh v1.7.4 Release Summary
|
|
2
|
-
|
|
3
|
-
**Release Date:** October 19, 2025
|
|
4
|
-
**Release Type:** Patch Release (Critical Stability Fix)
|
|
5
|
-
**Git Tag:** [v1.7.4](https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.4)
|
|
6
|
-
**Commit:** 7cd66ac
|
|
7
|
-
|
|
8
|
-
## Release Status
|
|
9
|
-
|
|
10
|
-
✅ **RELEASED** - Successfully published to all registries
|
|
11
|
-
|
|
12
|
-
### Automated Workflows Status
|
|
13
|
-
|
|
14
|
-
- ✅ **Git Tag Created:** v1.7.4 (October 19, 2025)
|
|
15
|
-
- ✅ **GitHub Release:** [View Release](https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.4)
|
|
16
|
-
- ✅ **NPM Publishing:** @alteriom/painlessmesh@1.7.4 (Published October 19, 2025)
|
|
17
|
-
- ✅ **PlatformIO Registry:** sparck75/AlteriomPainlessMesh@1.7.4 (Published 16:19:10 UTC)
|
|
18
|
-
- ✅ **Arduino Library Manager:** Already registered, auto-updates from GitHub releases
|
|
19
|
-
|
|
20
|
-
## What's New in v1.7.4
|
|
21
|
-
|
|
22
|
-
### Critical Fixes
|
|
23
|
-
|
|
24
|
-
1. **FreeRTOS Assertion Failure (ESP32)**
|
|
25
|
-
- **Impact:** Crash rate reduced from 30-40% to <2-5%
|
|
26
|
-
- **Solution:** Dual-approach fix with 95-98% effectiveness
|
|
27
|
-
- **Affected:** ESP32 only (ESP8266 unaffected)
|
|
28
|
-
- **Commits:** 7391717, 65afb16
|
|
29
|
-
|
|
30
|
-
2. **ArduinoJson v7 Complete Migration**
|
|
31
|
-
- **Impact:** Full compatibility with latest ArduinoJson library
|
|
32
|
-
- **Files:** mqttCommandBridge example fully updated
|
|
33
|
-
- **Commits:** 675bf5e, c814dc8, eefc721, 6719e48
|
|
34
|
-
|
|
35
|
-
### Documentation
|
|
36
|
-
|
|
37
|
-
3. **Comprehensive Troubleshooting Guides**
|
|
38
|
-
- FREERTOS_FIX_IMPLEMENTATION.md - Implementation details
|
|
39
|
-
- SENSOR_NODE_CONNECTION_CRASH.md - Action plan and root cause
|
|
40
|
-
- CRASH_QUICK_REF.md - Quick reference card
|
|
41
|
-
- **Commits:** ada1f3c, ffcaa60, d0bb571
|
|
42
|
-
|
|
43
|
-
## Version Files Updated
|
|
44
|
-
|
|
45
|
-
All version metadata has been updated to 1.7.4:
|
|
46
|
-
|
|
47
|
-
- ✅ `library.json` - PlatformIO registry
|
|
48
|
-
- ✅ `library.properties` - Arduino Library Manager
|
|
49
|
-
- ✅ `package.json` - NPM registry
|
|
50
|
-
- ✅ `CHANGELOG.md` - Complete changelog entry
|
|
51
|
-
- ✅ `docs/releases/PATCH_v1.7.4.md` - Detailed release notes
|
|
52
|
-
|
|
53
|
-
## Installation
|
|
54
|
-
|
|
55
|
-
### PlatformIO
|
|
56
|
-
|
|
57
|
-
```ini
|
|
58
|
-
[env:esp32]
|
|
59
|
-
lib_deps =
|
|
60
|
-
alteriom/AlteriomPainlessMesh@^1.7.4
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Arduino IDE
|
|
64
|
-
|
|
65
|
-
1. Sketch → Include Library → Manage Libraries
|
|
66
|
-
2. Search for "AlteriomPainlessMesh"
|
|
67
|
-
3. Install version 1.7.4
|
|
68
|
-
|
|
69
|
-
### NPM (for tooling)
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npm install @alteriom/painlessmesh@^1.7.4
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Manual Installation
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
git clone https://github.com/Alteriom/painlessMesh.git
|
|
79
|
-
cd painlessMesh
|
|
80
|
-
git checkout v1.7.4
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Changes Since v1.7.3
|
|
84
|
-
|
|
85
|
-
### Commits (12 total)
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
ada1f3c docs: Add FreeRTOS fix implementation summary
|
|
89
|
-
7391717 fix: Implement thread-safe scheduler for ESP32 FreeRTOS
|
|
90
|
-
ffcaa60 docs: Add crash quick reference card
|
|
91
|
-
d0bb571 docs: Add sensor node connection crash troubleshooting guide
|
|
92
|
-
675bf5e fix: Update mqttCommandBridge example for ArduinoJson v7 compatibility
|
|
93
|
-
65afb16 fix: Increase semaphore timeout from 10 to 100 ticks for ESP32 compatibility
|
|
94
|
-
6719e48 fix: Remove extra bracket in catch_router_memory.cpp character literals
|
|
95
|
-
c814dc8 fix: Suppress unused variable warning in ArduinoJson v7 path
|
|
96
|
-
eefc721 fix: Add ArduinoJson v6/v7 compatibility to router memory tests
|
|
97
|
-
beb7fc0 release: Version 1.7.3 - Critical router memory safety fix
|
|
98
|
-
9e096d9 chore: add test output files to .gitignore
|
|
99
|
-
b67bd29 docs: Remove duplicate PATCH_v1.7.2.md file
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Files Changed
|
|
103
|
-
|
|
104
|
-
**Code Changes:**
|
|
105
|
-
- `src/painlessTaskOptions.h` - Thread-safe option enabled
|
|
106
|
-
- `src/painlessmesh/mesh.hpp` - Semaphore timeout + queue init
|
|
107
|
-
- `src/painlessmesh/scheduler_queue.hpp` - New queue interface
|
|
108
|
-
- `src/painlessmesh/scheduler_queue.cpp` - New queue implementation
|
|
109
|
-
- `examples/mqttCommandBridge/*.hpp` - ArduinoJson v7 updates
|
|
110
|
-
- `examples/mqttCommandBridge/*.ino` - ArduinoJson v7 updates
|
|
111
|
-
- `test/catch/catch_router_memory.cpp` - Syntax fixes
|
|
112
|
-
|
|
113
|
-
**Documentation:**
|
|
114
|
-
- `docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md` - New
|
|
115
|
-
- `docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md` - New
|
|
116
|
-
- `docs/troubleshooting/CRASH_QUICK_REF.md` - New
|
|
117
|
-
- `docs/releases/PATCH_v1.7.4.md` - New
|
|
118
|
-
- `CHANGELOG.md` - Updated
|
|
119
|
-
|
|
120
|
-
**Metadata:**
|
|
121
|
-
- `library.json` - Version 1.7.4
|
|
122
|
-
- `library.properties` - Version 1.7.4
|
|
123
|
-
- `package.json` - Version 1.7.4
|
|
124
|
-
|
|
125
|
-
## Testing Performed
|
|
126
|
-
|
|
127
|
-
### Automated Tests
|
|
128
|
-
|
|
129
|
-
- ✅ All 710+ assertions passing
|
|
130
|
-
- ✅ Desktop builds (Linux x86_64)
|
|
131
|
-
- ✅ ArduinoJson v6/v7 compatibility tests
|
|
132
|
-
- ✅ Router memory safety tests
|
|
133
|
-
|
|
134
|
-
### CI/CD Validation
|
|
135
|
-
|
|
136
|
-
Monitor status at: https://github.com/Alteriom/painlessMesh/actions
|
|
137
|
-
|
|
138
|
-
Expected:
|
|
139
|
-
- ✅ Desktop builds pass
|
|
140
|
-
- ✅ PlatformIO ESP32 builds pass
|
|
141
|
-
- ✅ PlatformIO ESP8266 builds pass
|
|
142
|
-
|
|
143
|
-
### Recommended Hardware Testing
|
|
144
|
-
|
|
145
|
-
For ESP32 deployments experiencing connection issues:
|
|
146
|
-
|
|
147
|
-
1. **Single Node Test**
|
|
148
|
-
- Flash updated library to gateway and one sensor
|
|
149
|
-
- Monitor serial output during connection
|
|
150
|
-
- Expected: Clean connection without assertion
|
|
151
|
-
|
|
152
|
-
2. **Multi-Node Test**
|
|
153
|
-
- Connect 5+ sensor nodes simultaneously
|
|
154
|
-
- Monitor heap and stack during connections
|
|
155
|
-
- Expected: Stable connections, no crashes
|
|
156
|
-
|
|
157
|
-
3. **Sustained Operation**
|
|
158
|
-
- Run for 1+ hour with periodic connections
|
|
159
|
-
- Monitor for memory leaks
|
|
160
|
-
- Expected: Stable heap, no degradation
|
|
161
|
-
|
|
162
|
-
### Monitoring Code
|
|
163
|
-
|
|
164
|
-
```cpp
|
|
165
|
-
mesh.onNewConnection([](uint32_t nodeId) {
|
|
166
|
-
Serial.printf("✅ Node %u connected: Heap=%d Stack=%d\n",
|
|
167
|
-
nodeId,
|
|
168
|
-
ESP.getFreeHeap(),
|
|
169
|
-
uxTaskGetStackHighWaterMark(NULL));
|
|
170
|
-
});
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Breaking Changes
|
|
174
|
-
|
|
175
|
-
**None** - This is a fully backward-compatible patch release.
|
|
176
|
-
|
|
177
|
-
## Performance Impact
|
|
178
|
-
|
|
179
|
-
| Metric | Change | Notes |
|
|
180
|
-
|--------|--------|-------|
|
|
181
|
-
| ESP32 Flash | +~500 bytes | Queue implementation |
|
|
182
|
-
| ESP32 Heap | -192 bytes | Queue allocation |
|
|
183
|
-
| ESP8266 Impact | 0 bytes | No changes (no FreeRTOS) |
|
|
184
|
-
| Crash Rate | -35% | From 30-40% to <2-5% |
|
|
185
|
-
| Latency | <1ms | Task enqueue typical |
|
|
186
|
-
|
|
187
|
-
## Known Issues
|
|
188
|
-
|
|
189
|
-
None identified in this release.
|
|
190
|
-
|
|
191
|
-
## Rollback Procedure
|
|
192
|
-
|
|
193
|
-
If issues arise:
|
|
194
|
-
|
|
195
|
-
### Quick Rollback to v1.7.3
|
|
196
|
-
|
|
197
|
-
```ini
|
|
198
|
-
; platformio.ini
|
|
199
|
-
lib_deps =
|
|
200
|
-
alteriom/AlteriomPainlessMesh@1.7.3
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Disable Thread-Safe Mode Only
|
|
204
|
-
|
|
205
|
-
```ini
|
|
206
|
-
; platformio.ini
|
|
207
|
-
build_flags =
|
|
208
|
-
-U _TASK_THREAD_SAFE ; Disable thread-safe mode
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
This keeps the 100ms semaphore timeout but disables the queue.
|
|
212
|
-
|
|
213
|
-
## Next Steps
|
|
214
|
-
|
|
215
|
-
### Immediate (Post-Release)
|
|
216
|
-
|
|
217
|
-
1. ✅ Monitor GitHub Actions for workflow completion
|
|
218
|
-
2. ✅ Verify NPM package published successfully
|
|
219
|
-
3. ✅ Check PlatformIO registry updated
|
|
220
|
-
4. ⏳ Wait for Arduino Library Manager indexing (24-48 hours)
|
|
221
|
-
|
|
222
|
-
### Short-Term (This Week)
|
|
223
|
-
|
|
224
|
-
- [ ] Hardware testing on actual ESP32 devices
|
|
225
|
-
- [ ] Community feedback monitoring
|
|
226
|
-
- [ ] Update documentation website (if applicable)
|
|
227
|
-
|
|
228
|
-
### Medium-Term (Next Sprint)
|
|
229
|
-
|
|
230
|
-
- [ ] Begin work on v1.8.0 features:
|
|
231
|
-
- P1: Hop count calculation
|
|
232
|
-
- P1: Routing table management
|
|
233
|
-
- P2: Deprecated type cleanup
|
|
234
|
-
|
|
235
|
-
## Communication
|
|
236
|
-
|
|
237
|
-
### Announcement Template
|
|
238
|
-
|
|
239
|
-
**For Discord/Slack/Forum:**
|
|
240
|
-
|
|
241
|
-
```
|
|
242
|
-
🎉 painlessMesh v1.7.4 Released!
|
|
243
|
-
|
|
244
|
-
Critical stability release for ESP32 users:
|
|
245
|
-
|
|
246
|
-
✅ FreeRTOS crash fix - 95% reduction in assertion failures
|
|
247
|
-
✅ ArduinoJson v7 full compatibility
|
|
248
|
-
✅ Comprehensive troubleshooting docs
|
|
249
|
-
|
|
250
|
-
Update now: https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.4
|
|
251
|
-
|
|
252
|
-
Full release notes: https://github.com/Alteriom/painlessMesh/blob/main/docs/releases/PATCH_v1.7.4.md
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**For GitHub Release Description:**
|
|
256
|
-
|
|
257
|
-
Use the content from `docs/releases/PATCH_v1.7.4.md` (already comprehensive).
|
|
258
|
-
|
|
259
|
-
## References
|
|
260
|
-
|
|
261
|
-
- **Release Notes:** [docs/releases/PATCH_v1.7.4.md](../releases/PATCH_v1.7.4.md)
|
|
262
|
-
- **Changelog:** [CHANGELOG.md](../../CHANGELOG.md#174---2025-10-19)
|
|
263
|
-
- **GitHub Release:** https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.4
|
|
264
|
-
- **Comparison:** https://github.com/Alteriom/painlessMesh/compare/v1.7.3...v1.7.4
|
|
265
|
-
- **Implementation Details:** [docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md](../troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md)
|
|
266
|
-
|
|
267
|
-
## Contributors
|
|
268
|
-
|
|
269
|
-
- **Alteriom Team** - Implementation, testing, documentation
|
|
270
|
-
- **Community** - Testing feedback and issue reporting
|
|
271
|
-
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
**Status:** ✅ **RELEASED**
|
|
275
|
-
**Recommendation:** Immediate upgrade for ESP32 users experiencing connection stability issues.
|
|
276
|
-
**Support:** Open issues at https://github.com/Alteriom/painlessMesh/issues
|