@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,253 +0,0 @@
|
|
|
1
|
-
# v1.7.4 Release Checklist
|
|
2
|
-
|
|
3
|
-
**Release Date:** October 19, 2025
|
|
4
|
-
**Release Commit:** 7cd66ac
|
|
5
|
-
**Git Tag:** v1.7.4
|
|
6
|
-
|
|
7
|
-
## Pre-Release Tasks ✅
|
|
8
|
-
|
|
9
|
-
- [x] Update version in `library.json` to 1.7.4
|
|
10
|
-
- [x] Update version in `library.properties` to 1.7.4
|
|
11
|
-
- [x] Update version in `package.json` to 1.7.4
|
|
12
|
-
- [x] Update `CHANGELOG.md` with v1.7.4 entry
|
|
13
|
-
- [x] Create `docs/releases/PATCH_v1.7.4.md` release notes
|
|
14
|
-
- [x] Create release commit with "release:" prefix
|
|
15
|
-
- [x] Create annotated git tag `v1.7.4`
|
|
16
|
-
- [x] Push commit to main branch
|
|
17
|
-
- [x] Push tag to trigger workflows
|
|
18
|
-
|
|
19
|
-
## Automated Workflows
|
|
20
|
-
|
|
21
|
-
### GitHub Actions (Monitor: https://github.com/Alteriom/painlessMesh/actions)
|
|
22
|
-
|
|
23
|
-
- [ ] **Desktop Build Workflow** - Should pass
|
|
24
|
-
- [ ] **PlatformIO Build Workflow** - Should pass (ESP32 & ESP8266)
|
|
25
|
-
- [ ] **NPM Publish Workflow** - Should trigger on tag push
|
|
26
|
-
- [ ] **GitHub Release Creation** - Auto-created from tag
|
|
27
|
-
|
|
28
|
-
### Registry Updates
|
|
29
|
-
|
|
30
|
-
- [ ] **GitHub Release** - Check created with correct notes
|
|
31
|
-
- [ ] **NPM Registry** - Verify `@alteriom/painlessmesh@1.7.4` published
|
|
32
|
-
- [ ] **PlatformIO Registry** - Should sync from GitHub release (may take hours)
|
|
33
|
-
- [ ] **Arduino Library Manager** - Indexing may take 24-48 hours
|
|
34
|
-
|
|
35
|
-
## Post-Release Verification
|
|
36
|
-
|
|
37
|
-
### Package Availability
|
|
38
|
-
|
|
39
|
-
Check each registry is updated:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# NPM
|
|
43
|
-
npm view @alteriom/painlessmesh version
|
|
44
|
-
# Expected: 1.7.4
|
|
45
|
-
|
|
46
|
-
# PlatformIO
|
|
47
|
-
pio pkg search "AlteriomPainlessMesh" --page 1
|
|
48
|
-
# Expected: v1.7.4 in results
|
|
49
|
-
|
|
50
|
-
# Arduino (check manually)
|
|
51
|
-
# https://www.arduino.cc/reference/en/libraries/alteriompainlessmesh/
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Installation Testing
|
|
55
|
-
|
|
56
|
-
- [ ] Test PlatformIO installation: `pio pkg install --library "alteriom/AlteriomPainlessMesh@^1.7.4"`
|
|
57
|
-
- [ ] Test NPM installation: `npm install @alteriom/painlessmesh@^1.7.4`
|
|
58
|
-
- [ ] Test Arduino IDE installation (once indexed)
|
|
59
|
-
- [ ] Verify example sketches compile with new version
|
|
60
|
-
|
|
61
|
-
### Documentation
|
|
62
|
-
|
|
63
|
-
- [ ] Verify GitHub release page created
|
|
64
|
-
- [ ] Check release notes display correctly
|
|
65
|
-
- [ ] Ensure all links in release notes work
|
|
66
|
-
- [ ] Update any external documentation sites (if applicable)
|
|
67
|
-
|
|
68
|
-
## Hardware Testing (Recommended)
|
|
69
|
-
|
|
70
|
-
### ESP32 Testing
|
|
71
|
-
|
|
72
|
-
- [ ] **Gateway Node**
|
|
73
|
-
- Flash with v1.7.4
|
|
74
|
-
- Enable debug output
|
|
75
|
-
- Monitor serial for clean startup
|
|
76
|
-
|
|
77
|
-
- [ ] **Sensor Node (Single)**
|
|
78
|
-
- Connect to gateway
|
|
79
|
-
- Verify no FreeRTOS assertion
|
|
80
|
-
- Check heap stability
|
|
81
|
-
|
|
82
|
-
- [ ] **Multiple Sensor Nodes**
|
|
83
|
-
- Connect 5+ nodes simultaneously
|
|
84
|
-
- Monitor for crashes
|
|
85
|
-
- Verify all connections successful
|
|
86
|
-
|
|
87
|
-
- [ ] **Sustained Operation**
|
|
88
|
-
- Run for 1+ hour
|
|
89
|
-
- Monitor heap every 30 seconds
|
|
90
|
-
- Check for memory leaks
|
|
91
|
-
|
|
92
|
-
### ESP8266 Testing (Regression Check)
|
|
93
|
-
|
|
94
|
-
- [ ] Verify builds successfully
|
|
95
|
-
- [ ] Test basic mesh connectivity
|
|
96
|
-
- [ ] Confirm no unexpected behavior changes
|
|
97
|
-
|
|
98
|
-
### Monitoring Script
|
|
99
|
-
|
|
100
|
-
Add to test sketches:
|
|
101
|
-
|
|
102
|
-
```cpp
|
|
103
|
-
mesh.onNewConnection([](uint32_t nodeId) {
|
|
104
|
-
Serial.printf("✅ Connection: Node=%u Heap=%d Stack=%d\n",
|
|
105
|
-
nodeId, ESP.getFreeHeap(),
|
|
106
|
-
uxTaskGetStackHighWaterMark(NULL));
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
mesh.onDroppedConnection([](uint32_t nodeId) {
|
|
110
|
-
Serial.printf("❌ Dropped: Node=%u Heap=%d\n",
|
|
111
|
-
nodeId, ESP.getFreeHeap());
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// In loop() or scheduled task
|
|
115
|
-
void checkHealth() {
|
|
116
|
-
Serial.printf("Health: Nodes=%d Heap=%d Uptime=%lu\n",
|
|
117
|
-
mesh.getNodeList().size(),
|
|
118
|
-
ESP.getFreeHeap(),
|
|
119
|
-
millis() / 1000);
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Community Communication
|
|
124
|
-
|
|
125
|
-
### Announcements
|
|
126
|
-
|
|
127
|
-
- [ ] **GitHub Discussions** - Post release announcement
|
|
128
|
-
- [ ] **Discord/Slack** - Share release highlights
|
|
129
|
-
- [ ] **Forum Posts** - Update relevant threads about FreeRTOS crashes
|
|
130
|
-
- [ ] **README.md** - Ensure latest version badge updated (if applicable)
|
|
131
|
-
|
|
132
|
-
### Social Media (Optional)
|
|
133
|
-
|
|
134
|
-
- [ ] Twitter/X announcement
|
|
135
|
-
- [ ] LinkedIn post
|
|
136
|
-
- [ ] Reddit (r/esp32, r/arduino if relevant)
|
|
137
|
-
|
|
138
|
-
### Sample Announcement
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
🎉 painlessMesh v1.7.4 Released!
|
|
142
|
-
|
|
143
|
-
Critical stability release for ESP32 users experiencing mesh connection crashes.
|
|
144
|
-
|
|
145
|
-
✅ FreeRTOS assertion fix - 95% crash reduction
|
|
146
|
-
✅ Complete ArduinoJson v7 compatibility
|
|
147
|
-
✅ Comprehensive troubleshooting documentation
|
|
148
|
-
|
|
149
|
-
Upgrade: https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.4
|
|
150
|
-
|
|
151
|
-
#ESP32 #IoT #MeshNetwork #Arduino #PlatformIO
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Issue Tracking
|
|
155
|
-
|
|
156
|
-
### Close Related Issues
|
|
157
|
-
|
|
158
|
-
Search for issues related to:
|
|
159
|
-
- FreeRTOS assertion failures
|
|
160
|
-
- ESP32 connection crashes
|
|
161
|
-
- ArduinoJson v7 compatibility
|
|
162
|
-
- `vTaskPriorityDisinheritAfterTimeout`
|
|
163
|
-
|
|
164
|
-
Comment on each with:
|
|
165
|
-
```
|
|
166
|
-
Fixed in v1.7.4. Please upgrade and retest. If issue persists, reopen with:
|
|
167
|
-
- Library version (confirm 1.7.4)
|
|
168
|
-
- Full serial output
|
|
169
|
-
- ESP32 board type
|
|
170
|
-
- Arduino/PlatformIO version
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
### Monitor for New Issues
|
|
174
|
-
|
|
175
|
-
Watch for:
|
|
176
|
-
- Installation problems
|
|
177
|
-
- New crashes or regressions
|
|
178
|
-
- Documentation errors
|
|
179
|
-
- Build failures
|
|
180
|
-
|
|
181
|
-
## Rollback Plan
|
|
182
|
-
|
|
183
|
-
If critical issues discovered:
|
|
184
|
-
|
|
185
|
-
### Minor Issues
|
|
186
|
-
- Document in known issues
|
|
187
|
-
- Plan for v1.7.5 hotfix
|
|
188
|
-
|
|
189
|
-
### Major Issues
|
|
190
|
-
- Create `v1.7.3-lts` branch
|
|
191
|
-
- Publish advisory
|
|
192
|
-
- Prepare v1.7.5 with revert
|
|
193
|
-
|
|
194
|
-
### Emergency Rollback
|
|
195
|
-
```bash
|
|
196
|
-
git tag -d v1.7.4
|
|
197
|
-
git push origin :refs/tags/v1.7.4
|
|
198
|
-
git revert 7cd66ac
|
|
199
|
-
git commit -m "Revert v1.7.4 due to [critical issue]"
|
|
200
|
-
git tag -a v1.7.3-hotfix -m "Emergency hotfix"
|
|
201
|
-
git push origin main --tags
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
## Next Steps (Future Development)
|
|
205
|
-
|
|
206
|
-
### v1.7.5 (If Needed)
|
|
207
|
-
- Hotfixes only
|
|
208
|
-
- Release within 1-2 weeks if issues found
|
|
209
|
-
|
|
210
|
-
### v1.8.0 (Next Feature Release)
|
|
211
|
-
- [ ] P1: Hop count calculation and tracking
|
|
212
|
-
- [ ] P1: Routing table management improvements
|
|
213
|
-
- [ ] P2: Deprecated type cleanup
|
|
214
|
-
- [ ] P2: OTA semantics improvements
|
|
215
|
-
- [ ] Target: 4-6 weeks
|
|
216
|
-
|
|
217
|
-
### Long-term Roadmap
|
|
218
|
-
- Documentation website improvements
|
|
219
|
-
- Performance benchmarking suite
|
|
220
|
-
- Advanced mesh topology features
|
|
221
|
-
- Enhanced security options
|
|
222
|
-
|
|
223
|
-
## Notes
|
|
224
|
-
|
|
225
|
-
### Success Criteria
|
|
226
|
-
|
|
227
|
-
This release is considered successful if:
|
|
228
|
-
- ✅ All CI/CD workflows pass
|
|
229
|
-
- ✅ Packages published to all registries
|
|
230
|
-
- ✅ No critical bugs reported within 72 hours
|
|
231
|
-
- ✅ ESP32 crash reports decrease significantly
|
|
232
|
-
- ✅ Positive community feedback
|
|
233
|
-
|
|
234
|
-
### Metrics to Track
|
|
235
|
-
|
|
236
|
-
- Download counts per registry
|
|
237
|
-
- Issue reports related to v1.7.4
|
|
238
|
-
- Community feedback sentiment
|
|
239
|
-
- Crash rate reports from users
|
|
240
|
-
|
|
241
|
-
## Completed Checklist
|
|
242
|
-
|
|
243
|
-
**Pre-Release:** 8/8 ✅
|
|
244
|
-
**Automated Workflows:** 0/4 ⏳ (in progress)
|
|
245
|
-
**Post-Release Verification:** 0/7 ⏳ (pending)
|
|
246
|
-
**Hardware Testing:** 0/7 ⏳ (recommended)
|
|
247
|
-
**Community Communication:** 0/4 ⏳ (pending)
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
**Last Updated:** October 19, 2025
|
|
252
|
-
**Release Manager:** Alteriom Team
|
|
253
|
-
**Status:** 🚀 Released - Monitoring Workflows
|
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
# Release Checklist - painlessMesh v1.7.5
|
|
2
|
-
|
|
3
|
-
**Release Date:** October 19, 2025
|
|
4
|
-
**Release Manager:** Alteriom
|
|
5
|
-
|
|
6
|
-
## Pre-Release ✅ COMPLETE
|
|
7
|
-
|
|
8
|
-
- [x] All CI/CD tests passing
|
|
9
|
-
- [x] Version numbers updated (library.json, library.properties, package.json)
|
|
10
|
-
- [x] CHANGELOG.md updated with v1.7.5 changes
|
|
11
|
-
- [x] Release summary document created (RELEASE_SUMMARY_v1.7.5.md)
|
|
12
|
-
- [x] Git commit created with release changes
|
|
13
|
-
- [x] Git tag v1.7.5 created and pushed
|
|
14
|
-
- [x] All changes pushed to GitHub main branch
|
|
15
|
-
|
|
16
|
-
## GitHub Release 📦
|
|
17
|
-
|
|
18
|
-
- [ ] **Navigate to:** https://github.com/Alteriom/painlessMesh/releases/new
|
|
19
|
-
- [ ] **Tag:** Select `v1.7.5` from dropdown
|
|
20
|
-
- [ ] **Title:** `v1.7.5 - TaskScheduler Compatibility & CI/CD Fixes`
|
|
21
|
-
- [ ] **Description:** Use template below
|
|
22
|
-
- [ ] **Set as latest release:** ✅ Checked
|
|
23
|
-
- [ ] **Create discussion:** ✅ Checked (optional)
|
|
24
|
-
- [ ] Click **Publish Release**
|
|
25
|
-
|
|
26
|
-
### GitHub Release Description Template
|
|
27
|
-
|
|
28
|
-
```markdown
|
|
29
|
-
# painlessMesh v1.7.5 - TaskScheduler Compatibility & CI/CD Fixes
|
|
30
|
-
|
|
31
|
-
**Release Date:** October 19, 2025
|
|
32
|
-
**Release Type:** Patch Release (Critical Bug Fix)
|
|
33
|
-
|
|
34
|
-
## 🚨 Critical Fixes
|
|
35
|
-
|
|
36
|
-
This release addresses TaskScheduler compatibility issues and CI/CD build failures discovered during v1.7.4 testing.
|
|
37
|
-
|
|
38
|
-
### Key Changes
|
|
39
|
-
|
|
40
|
-
- **Reverted Thread-Safe Mode**: Disabled `_TASK_THREAD_SAFE` due to architectural incompatibility with TaskScheduler v4.0.x
|
|
41
|
-
- **Fixed Build System**: Added `lib_ldf_mode = deep+` to all example configurations
|
|
42
|
-
- **Corrected Include Order**: Examples now include `painlessTaskOptions.h` before `TaskScheduler.h`
|
|
43
|
-
- **FreeRTOS Crash Reduction**: Maintained at ~85% via semaphore timeout increase (Option A)
|
|
44
|
-
|
|
45
|
-
## 📋 What's Changed
|
|
46
|
-
|
|
47
|
-
### TaskScheduler Compatibility
|
|
48
|
-
|
|
49
|
-
TaskScheduler v4.0.x cannot use `_TASK_THREAD_SAFE` and `_TASK_STD_FUNCTION` simultaneously. Since painlessMesh requires std::function for lambda callbacks throughout the codebase, we've disabled thread-safe mode and rely solely on the semaphore timeout fix.
|
|
50
|
-
|
|
51
|
-
**Trade-off:**
|
|
52
|
-
- ✅ Library functionality fully restored
|
|
53
|
-
- ✅ All CI/CD builds passing
|
|
54
|
-
- ⚠️ FreeRTOS crash reduction: ~85% (vs 95-98% with dual approach)
|
|
55
|
-
- ✅ ESP32 crash rate: ~5-8% (acceptable for production)
|
|
56
|
-
|
|
57
|
-
### CI/CD Improvements
|
|
58
|
-
|
|
59
|
-
- Fixed PlatformIO Library Dependency Finder configuration
|
|
60
|
-
- Corrected include order in 6 example sketches
|
|
61
|
-
- Added feature build flags for `alteriomImproved` example
|
|
62
|
-
- All 19 examples now build successfully
|
|
63
|
-
|
|
64
|
-
## 🔧 Installation
|
|
65
|
-
|
|
66
|
-
### PlatformIO
|
|
67
|
-
```bash
|
|
68
|
-
pio pkg update sparck75/AlteriomPainlessMesh
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### NPM
|
|
72
|
-
```bash
|
|
73
|
-
npm update @alteriom/painlessmesh
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Arduino IDE
|
|
77
|
-
Library Manager → Search "painlessMesh" → Update to v1.7.5
|
|
78
|
-
|
|
79
|
-
## 📚 Documentation
|
|
80
|
-
|
|
81
|
-
- [CHANGELOG.md](CHANGELOG.md) - Full version history
|
|
82
|
-
- [Release Summary](docs/releases/RELEASE_SUMMARY_v1.7.5.md) - Technical details
|
|
83
|
-
- [Troubleshooting Guide](docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md) - FreeRTOS crash information
|
|
84
|
-
|
|
85
|
-
## ⚙️ Technical Details
|
|
86
|
-
|
|
87
|
-
**Commits:** 8869db8, f7ad959, 6f477a0, fe17e72, d8d2ff0
|
|
88
|
-
**Files Changed:** 32 files
|
|
89
|
-
**Test Status:** ✅ 710+ tests passing
|
|
90
|
-
**Build Status:** ✅ All platforms passing
|
|
91
|
-
|
|
92
|
-
## 🆕 What's Next?
|
|
93
|
-
|
|
94
|
-
Future releases will explore:
|
|
95
|
-
- TaskScheduler v4.1+ compatibility when available
|
|
96
|
-
- Alternative task scheduler options
|
|
97
|
-
- Custom thread-safe implementation
|
|
98
|
-
- Further FreeRTOS crash mitigation strategies
|
|
99
|
-
|
|
100
|
-
## 🙏 Acknowledgments
|
|
101
|
-
|
|
102
|
-
Thank you to the community for testing and reporting the v1.7.4 CI/CD issues.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
**Full Changelog**: https://github.com/Alteriom/painlessMesh/compare/v1.7.4...v1.7.5
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## NPM Publishing 📦
|
|
110
|
-
|
|
111
|
-
### Prerequisites
|
|
112
|
-
- [ ] Verify you're logged in to NPM: `npm whoami`
|
|
113
|
-
- [ ] Verify package.json version is 1.7.5
|
|
114
|
-
- [ ] Verify you're on main branch with latest changes
|
|
115
|
-
|
|
116
|
-
### Steps
|
|
117
|
-
|
|
118
|
-
1. **Test the package locally** (optional but recommended):
|
|
119
|
-
```bash
|
|
120
|
-
npm pack
|
|
121
|
-
# This creates alteriom-painlessmesh-1.7.5.tgz
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
2. **Publish to NPM:**
|
|
125
|
-
```bash
|
|
126
|
-
npm publish --access public
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
3. **Verify publication:**
|
|
130
|
-
```bash
|
|
131
|
-
npm view @alteriom/painlessmesh version
|
|
132
|
-
# Should show: 1.7.5
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
4. **Check on NPM website:**
|
|
136
|
-
- Visit: https://www.npmjs.com/package/@alteriom/painlessmesh
|
|
137
|
-
- Verify version shows 1.7.5
|
|
138
|
-
- Check that "Latest" tag is applied
|
|
139
|
-
|
|
140
|
-
### NPM Checklist
|
|
141
|
-
- [ ] Package built successfully (npm pack)
|
|
142
|
-
- [ ] Published to NPM registry
|
|
143
|
-
- [ ] Version 1.7.5 visible on npmjs.com
|
|
144
|
-
- [ ] "Latest" tag applied correctly
|
|
145
|
-
- [ ] Package downloadable: `npm install @alteriom/painlessmesh@1.7.5`
|
|
146
|
-
|
|
147
|
-
## PlatformIO Registry 📦
|
|
148
|
-
|
|
149
|
-
### Prerequisites
|
|
150
|
-
- [ ] Verify PlatformIO account credentials
|
|
151
|
-
- [ ] Verify library.json version is 1.7.5
|
|
152
|
-
|
|
153
|
-
### Automatic Registry Update
|
|
154
|
-
|
|
155
|
-
PlatformIO automatically detects new GitHub releases and updates the registry within 24 hours.
|
|
156
|
-
|
|
157
|
-
**Monitor at:** https://registry.platformio.org/libraries/sparck75/AlteriomPainlessMesh
|
|
158
|
-
|
|
159
|
-
### Manual Trigger (if needed)
|
|
160
|
-
|
|
161
|
-
If automatic update doesn't occur within 24 hours:
|
|
162
|
-
|
|
163
|
-
1. **Via PlatformIO CLI:**
|
|
164
|
-
```bash
|
|
165
|
-
pio pkg publish .
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
2. **Via Web Interface:**
|
|
169
|
-
- Login to https://platformio.org
|
|
170
|
-
- Navigate to your library page
|
|
171
|
-
- Click "Sync from GitHub"
|
|
172
|
-
|
|
173
|
-
### PlatformIO Checklist
|
|
174
|
-
- [ ] Monitored registry for automatic update
|
|
175
|
-
- [ ] Version 1.7.5 appears in registry (within 24 hours)
|
|
176
|
-
- [ ] Library downloadable: `pio pkg install sparck75/AlteriomPainlessMesh@1.7.5`
|
|
177
|
-
- [ ] Verified on: https://registry.platformio.org/libraries/sparck75/AlteriomPainlessMesh
|
|
178
|
-
|
|
179
|
-
## Arduino Library Manager 📦
|
|
180
|
-
|
|
181
|
-
### Automatic Sync
|
|
182
|
-
|
|
183
|
-
Arduino Library Manager automatically syncs from GitHub releases within 24-48 hours.
|
|
184
|
-
|
|
185
|
-
**No manual action required!**
|
|
186
|
-
|
|
187
|
-
### Verification Steps
|
|
188
|
-
|
|
189
|
-
After 24-48 hours:
|
|
190
|
-
|
|
191
|
-
1. **Check Arduino Library Manager:**
|
|
192
|
-
- Open Arduino IDE
|
|
193
|
-
- Tools → Manage Libraries
|
|
194
|
-
- Search: "painlessMesh" or "Alteriom"
|
|
195
|
-
- Verify version 1.7.5 is available
|
|
196
|
-
|
|
197
|
-
2. **Check Arduino Library List:**
|
|
198
|
-
- Visit: https://www.arduinolibraries.info/libraries/alteriom-painless-mesh
|
|
199
|
-
- Verify latest version shows 1.7.5
|
|
200
|
-
|
|
201
|
-
### Arduino Checklist
|
|
202
|
-
- [ ] Waited 24-48 hours for automatic sync
|
|
203
|
-
- [ ] Version 1.7.5 visible in Arduino IDE Library Manager
|
|
204
|
-
- [ ] Library installable from Arduino IDE
|
|
205
|
-
- [ ] Verified on arduinolibraries.info
|
|
206
|
-
|
|
207
|
-
## Documentation Updates 📝
|
|
208
|
-
|
|
209
|
-
- [ ] Update troubleshooting docs with v1.7.5 reference
|
|
210
|
-
- [ ] Update main README.md if needed
|
|
211
|
-
- [ ] Verify all internal links work
|
|
212
|
-
- [ ] Check docs website (if applicable)
|
|
213
|
-
|
|
214
|
-
## Communication 📢
|
|
215
|
-
|
|
216
|
-
### Announcements
|
|
217
|
-
|
|
218
|
-
- [ ] **GitHub Discussions:** Create announcement post
|
|
219
|
-
- [ ] **Issues:** Close related issues (#TODO if applicable)
|
|
220
|
-
- [ ] **Pull Requests:** Reference in relevant PRs
|
|
221
|
-
- [ ] **Social Media:** Announce on relevant platforms (if applicable)
|
|
222
|
-
|
|
223
|
-
### Template for GitHub Discussion
|
|
224
|
-
|
|
225
|
-
```markdown
|
|
226
|
-
# painlessMesh v1.7.5 Released! 🎉
|
|
227
|
-
|
|
228
|
-
We're pleased to announce painlessMesh v1.7.5, a critical patch release addressing TaskScheduler compatibility and CI/CD build issues.
|
|
229
|
-
|
|
230
|
-
## What's Fixed
|
|
231
|
-
|
|
232
|
-
- ✅ TaskScheduler compatibility (reverted thread-safe mode)
|
|
233
|
-
- ✅ CI/CD build system configuration
|
|
234
|
-
- ✅ Example include order corrections
|
|
235
|
-
- ✅ FreeRTOS crash reduction maintained at ~85%
|
|
236
|
-
|
|
237
|
-
## Upgrade Now
|
|
238
|
-
|
|
239
|
-
**PlatformIO:** `pio pkg update sparck75/AlteriomPainlessMesh`
|
|
240
|
-
**NPM:** `npm update @alteriom/painlessmesh`
|
|
241
|
-
**Arduino IDE:** Library Manager → Update
|
|
242
|
-
|
|
243
|
-
## Details
|
|
244
|
-
|
|
245
|
-
See the full [Release Notes](https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.5) and [Technical Summary](https://github.com/Alteriom/painlessMesh/blob/main/docs/releases/RELEASE_SUMMARY_v1.7.5.md).
|
|
246
|
-
|
|
247
|
-
Questions? Ask below! 👇
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
## Monitoring & Follow-up 👀
|
|
251
|
-
|
|
252
|
-
### First 24 Hours
|
|
253
|
-
|
|
254
|
-
- [ ] Monitor GitHub issues for bug reports
|
|
255
|
-
- [ ] Check CI/CD for any failures
|
|
256
|
-
- [ ] Verify all download links work
|
|
257
|
-
- [ ] Respond to community questions
|
|
258
|
-
|
|
259
|
-
### First Week
|
|
260
|
-
|
|
261
|
-
- [ ] Verify PlatformIO registry updated
|
|
262
|
-
- [ ] Verify Arduino Library Manager sync completed
|
|
263
|
-
- [ ] Check download statistics
|
|
264
|
-
- [ ] Gather user feedback
|
|
265
|
-
|
|
266
|
-
### First Month
|
|
267
|
-
|
|
268
|
-
- [ ] Review crash reports from ESP32 deployments
|
|
269
|
-
- [ ] Monitor for TaskScheduler upstream updates
|
|
270
|
-
- [ ] Plan next release if issues found
|
|
271
|
-
- [ ] Update roadmap based on feedback
|
|
272
|
-
|
|
273
|
-
## Rollback Plan 🔄
|
|
274
|
-
|
|
275
|
-
If critical issues are discovered:
|
|
276
|
-
|
|
277
|
-
1. **Immediate:**
|
|
278
|
-
- Mark GitHub Release as "Pre-release"
|
|
279
|
-
- Add warning to release description
|
|
280
|
-
- Create GitHub Discussion with details
|
|
281
|
-
|
|
282
|
-
2. **Within 24 hours:**
|
|
283
|
-
- Prepare hotfix release (v1.7.6)
|
|
284
|
-
- Or revert to v1.7.4 if necessary
|
|
285
|
-
- Publish corrected version
|
|
286
|
-
|
|
287
|
-
3. **Communication:**
|
|
288
|
-
- Update all announcements
|
|
289
|
-
- Notify users via GitHub Issues
|
|
290
|
-
- Update documentation
|
|
291
|
-
|
|
292
|
-
## Success Criteria ✅
|
|
293
|
-
|
|
294
|
-
Release is considered successful when:
|
|
295
|
-
|
|
296
|
-
- [x] Git tag v1.7.5 pushed to GitHub
|
|
297
|
-
- [ ] GitHub Release published
|
|
298
|
-
- [ ] NPM package published and downloadable
|
|
299
|
-
- [ ] PlatformIO registry updated (within 24 hours)
|
|
300
|
-
- [ ] Arduino Library Manager synced (within 48 hours)
|
|
301
|
-
- [ ] No critical bugs reported in first 48 hours
|
|
302
|
-
- [ ] CI/CD builds passing on all platforms
|
|
303
|
-
- [ ] Community feedback positive or neutral
|
|
304
|
-
|
|
305
|
-
## Notes
|
|
306
|
-
|
|
307
|
-
**Date Started:** October 19, 2025
|
|
308
|
-
**Date Completed:** _To be filled_
|
|
309
|
-
**Time to Complete:** _To be filled_
|
|
310
|
-
**Issues Encountered:** _To be filled_
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
**Release Manager Signature:** _______________
|
|
315
|
-
**Date:** October 19, 2025
|