@alteriom/painlessmesh 1.8.15 → 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.
Files changed (208) hide show
  1. package/BRIDGE_TO_INTERNET.md +229 -0
  2. package/CHANGELOG.md +61 -1
  3. package/CONTRIBUTING.md +79 -0
  4. package/README.md +69 -144
  5. package/docs/README.md +1 -0
  6. package/docs/api/shared-gateway.md +1207 -0
  7. package/examples/bridge_failover/README.md +81 -0
  8. package/examples/bridge_failover/bridge_failover.ino +35 -4
  9. package/examples/sharedGateway/README.md +235 -0
  10. package/examples/{meshCommandNode → sharedGateway}/platformio.ini +3 -2
  11. package/examples/sharedGateway/sharedGateway.ino +303 -0
  12. package/library.json +3 -22
  13. package/library.properties +1 -1
  14. package/package.json +3 -6
  15. package/src/arduino/wifi.hpp +342 -4
  16. package/src/painlessmesh/gateway.hpp +2120 -0
  17. package/src/painlessmesh/mesh.hpp +1034 -6
  18. package/src/painlessmesh/message_tracker.hpp +311 -0
  19. package/src/painlessmesh/protocol.hpp +6 -0
  20. package/DOCUMENTATION_INDEX.md +0 -146
  21. package/RELEASE_NOTES_1.8.15.md +0 -160
  22. package/RELEASE_READINESS_PLAN.md +0 -323
  23. package/TESTING_WITH_SIMULATOR.md +0 -259
  24. package/docs/API_DESIGN_GUIDELINES.md +0 -414
  25. package/docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md +0 -331
  26. package/docs/BOOLEAN_NAMING_CONVENTION.md +0 -235
  27. package/docs/BRIDGE_FAILOVER.md +0 -512
  28. package/docs/BRIDGE_HEALTH_MONITORING.md +0 -293
  29. package/docs/BRIDGE_INITIALIZATION_FALLBACK.md +0 -357
  30. package/docs/CHANNEL_SYNCHRONIZATION.md +0 -209
  31. package/docs/CREATE_MISSING_RELEASES.md +0 -321
  32. package/docs/DOCUMENTATION_MIGRATION_PLAN.md +0 -176
  33. package/docs/FAQ_VERSION_NUMBERS.md +0 -152
  34. package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +0 -1062
  35. package/docs/MESH_TOPOLOGY_GUIDE.md +0 -992
  36. package/docs/MESH_TOPOLOGY_PROGRESS.md +0 -422
  37. package/docs/MQTT_BRIDGE_COMMANDS.md +0 -894
  38. package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +0 -324
  39. package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +0 -576
  40. package/docs/MQTT_SCHEMA_COMPLIANCE.md +0 -340
  41. package/docs/MQTT_SCHEMA_PROPOSALS.md +0 -446
  42. package/docs/MQTT_SCHEMA_REVIEW.md +0 -690
  43. package/docs/OTA_COMMANDS_REFERENCE.md +0 -554
  44. package/docs/PHASE1_GUIDE.md +0 -349
  45. package/docs/PHASE2_GUIDE.md +0 -543
  46. package/docs/QUICK_REFERENCE_VERSIONING.md +0 -127
  47. package/docs/RELEASE_AGENT_SUMMARY.md +0 -386
  48. package/docs/SCHEMA_VALIDATION_CHECKLIST.md +0 -222
  49. package/docs/SIMULATOR_TESTING.md +0 -408
  50. package/docs/VERSION_MANAGEMENT.md +0 -213
  51. package/docs/archive/DOCUSAURUS_DEPLOYMENT.md +0 -166
  52. package/docs/archive/FEATURE_PROPOSALS.md +0 -337
  53. package/docs/archive/LIBRARY_JSON_FIX.md +0 -98
  54. package/docs/archive/LIBRARY_STRUCTURE_FIX.md +0 -215
  55. package/docs/archive/PHASE1_IMPLEMENTATION.md +0 -325
  56. package/docs/archive/PHASE2_IMPLEMENTATION.md +0 -567
  57. package/docs/archive/RELEASE_SUMMARY.md +0 -173
  58. package/docs/archive/SCONS_BUILD_FIX.md +0 -313
  59. package/docs/archive/TRIGGER_RELEASE.md +0 -280
  60. package/docs/archive/VECTOR_INCLUDE_FIX.md +0 -129
  61. package/docs/archive/ota-and-status-enhancements.md +0 -911
  62. package/docs/archive/ota-status-architecture-diagrams.md +0 -658
  63. package/docs/archive/ota-status-quick-reference.md +0 -284
  64. package/docs/design/.gitkeep +0 -1
  65. package/docs/design/STATION_CREDENTIALS_DESIGN.md +0 -182
  66. package/docs/development/ARDUINO_COMPLIANCE_SUMMARY.md +0 -71
  67. package/docs/development/CODE_REFACTORING_RECOMMENDATIONS.md +0 -1011
  68. package/docs/development/DOCKER_TESTING.md +0 -196
  69. package/docs/development/PLATFORMIO_USAGE.md +0 -180
  70. package/docs/development/TESTING_SUMMARY.md +0 -126
  71. package/docs/development/contributing.md +0 -301
  72. package/docs/development/documentation.md +0 -583
  73. package/docs/features/DIAGNOSTICS_API.md +0 -534
  74. package/docs/implementation/BRIDGE_ARCHITECTURE_IMPLEMENTATION.md +0 -340
  75. package/docs/implementation/BRIDGE_HEALTH_MONITORING_IMPLEMENTATION.md +0 -213
  76. package/docs/implementation/BRIDGE_STATUS_FEATURE.md +0 -635
  77. package/docs/implementation/DIAGNOSTICS_API_IMPLEMENTATION.md +0 -232
  78. package/docs/implementation/IMPLEMENTATION_COMPLETE.md +0 -228
  79. package/docs/implementation/IMPLEMENTATION_NTP_TIME_SYNC.md +0 -325
  80. package/docs/implementation/IMPLEMENTATION_SUMMARY.md +0 -316
  81. package/docs/implementation/MESSAGE_QUEUE_IMPLEMENTATION.md +0 -405
  82. package/docs/implementation/MULTI_BRIDGE_IMPLEMENTATION.md +0 -520
  83. package/docs/implementation/NTP_TIME_SYNC_FEATURE.md +0 -392
  84. package/docs/improvements/FUTURE_PROPOSALS.md +0 -1016
  85. package/docs/improvements/IMPLEMENTATION_HISTORY.md +0 -1091
  86. package/docs/improvements/OTA_STATUS_ENHANCEMENTS.md +0 -709
  87. package/docs/improvements/README.md +0 -212
  88. package/docs/internal/CUSTOM_AGENT_ANALYSIS.md +0 -391
  89. package/docs/internal/ISSUE_65_VERIFICATION.md +0 -947
  90. package/docs/internal/ISSUE_66_CLOSURE.md +0 -249
  91. package/docs/internal/ISSUE_66_STATUS.md +0 -316
  92. package/docs/internal/PR_SUMMARY.md +0 -315
  93. package/docs/internal/REVIEW_SUMMARY.md +0 -332
  94. package/docs/multi-bridge-setup.md +0 -1025
  95. package/docs/platformio-publishing.md +0 -255
  96. package/docs/platformio-setup-summary.md +0 -121
  97. package/docs/releases/ANNOUNCEMENT_v1.8.6.md +0 -63
  98. package/docs/releases/ANNOUNCEMENT_v1.8.7.md +0 -113
  99. package/docs/releases/BRIDGE_STATUS_SELF_REGISTRATION_FIX.md +0 -221
  100. package/docs/releases/FEATURE_HISTORY.md +0 -543
  101. package/docs/releases/GITHUB_RELEASE_v1.8.6.md +0 -71
  102. package/docs/releases/GITHUB_RELEASE_v1.8.7.md +0 -90
  103. package/docs/releases/PATCH_v1.7.2.md +0 -262
  104. package/docs/releases/PATCH_v1.7.3.md +0 -262
  105. package/docs/releases/PATCH_v1.7.4.md +0 -219
  106. package/docs/releases/PHASE1_SUMMARY.md +0 -246
  107. package/docs/releases/PHASE2_SUMMARY.md +0 -499
  108. package/docs/releases/PUBLISH_v1.8.0_INSTRUCTIONS.md +0 -163
  109. package/docs/releases/QUICK_START_RELEASES.md +0 -113
  110. package/docs/releases/RELEASE_CHECKLIST_1.8.10.md +0 -331
  111. package/docs/releases/RELEASE_CHECKLIST_1.8.9.md +0 -207
  112. package/docs/releases/RELEASE_CHECKLIST_v1.7.4.md +0 -253
  113. package/docs/releases/RELEASE_CHECKLIST_v1.7.5.md +0 -315
  114. package/docs/releases/RELEASE_CHECKLIST_v1.7.6.md +0 -389
  115. package/docs/releases/RELEASE_CHECKLIST_v1.8.0.md +0 -331
  116. package/docs/releases/RELEASE_CHECKLIST_v1.8.2.md +0 -309
  117. package/docs/releases/RELEASE_NOTES_1.7.0.md +0 -539
  118. package/docs/releases/RELEASE_NOTES_1.8.10.md +0 -239
  119. package/docs/releases/RELEASE_NOTES_1.8.9.md +0 -213
  120. package/docs/releases/RELEASE_NOTES_v1.8.0.md +0 -685
  121. package/docs/releases/RELEASE_NOTES_v1.8.1.md +0 -221
  122. package/docs/releases/RELEASE_NOTES_v1.8.2.md +0 -421
  123. package/docs/releases/RELEASE_NOTES_v1.8.3.md +0 -292
  124. package/docs/releases/RELEASE_NOTES_v1.8.4.md +0 -277
  125. package/docs/releases/RELEASE_NOTES_v1.8.6.md +0 -205
  126. package/docs/releases/RELEASE_NOTES_v1.8.7.md +0 -184
  127. package/docs/releases/RELEASE_PLAN_v1.7.6.md +0 -816
  128. package/docs/releases/RELEASE_SUMMARY_1.8.10.md +0 -193
  129. package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +0 -276
  130. package/docs/releases/RELEASE_SUMMARY_v1.7.5.md +0 -322
  131. package/docs/releases/RELEASE_SUMMARY_v1.7.6.md +0 -436
  132. package/docs/releases/RELEASE_SUMMARY_v1.7.7.md +0 -391
  133. package/docs/releases/RELEASE_SUMMARY_v1.7.8.md +0 -523
  134. package/docs/releases/RELEASE_SUMMARY_v1.7.9.md +0 -542
  135. package/docs/troubleshooting/ARDUINO_IDE_VERSION_FIX_SUMMARY.md +0 -229
  136. package/docs/troubleshooting/ARDUINO_LIBRARY_NAME_FIX.md +0 -197
  137. package/docs/troubleshooting/CRASH_QUICK_REF.md +0 -93
  138. package/docs/troubleshooting/ESP32_C6_COMPATIBILITY.md +0 -157
  139. package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +0 -288
  140. package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +0 -267
  141. package/docs/troubleshooting/NPM_PUBLISHING_ISSUE_SUMMARY.md +0 -110
  142. package/docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md +0 -547
  143. package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +0 -164
  144. package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +0 -264
  145. package/docs/troubleshooting/common-architecture-mistakes.md +0 -438
  146. package/docs/troubleshooting/internet-access-faq.md +0 -299
  147. package/docs/troubleshooting/station-reconnection-issues.md +0 -172
  148. package/docs/v1.7.7_MQTT_IMPROVEMENTS.md +0 -794
  149. package/docs/wiki/API-Reference.md +0 -246
  150. package/docs/wiki/Complete-Documentation.md +0 -123
  151. package/examples/alteriomImproved/alteriom_sensor_package.hpp +0 -224
  152. package/examples/alteriomImproved/improved_sensor_node.ino +0 -248
  153. package/examples/alteriomImproved/platformio.ini +0 -32
  154. package/examples/alteriomMetricsHealth/alteriom_sensor_package.hpp +0 -796
  155. package/examples/alteriomMetricsHealth/metrics_health_node.ino +0 -429
  156. package/examples/alteriomMetricsHealth/platformio.ini +0 -26
  157. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +0 -224
  158. package/examples/alteriomPhase1/phase1_features.ino +0 -242
  159. package/examples/alteriomPhase1/platformio.ini +0 -26
  160. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +0 -224
  161. package/examples/alteriomPhase2/phase2_features.ino +0 -186
  162. package/examples/alteriomPhase2/platformio.ini +0 -26
  163. package/examples/alteriomSensorNode/alteriom_sensor_node.ino +0 -186
  164. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +0 -1227
  165. package/examples/alteriomSensorNode/platformio.ini +0 -26
  166. package/examples/bridge/alteriom_sensor_package.hpp +0 -1170
  167. package/examples/bridge/bridge_health_monitoring_example.ino +0 -188
  168. package/examples/bridge/enhanced_mqtt_bridge.hpp +0 -610
  169. package/examples/bridge/enhanced_mqtt_bridge_example.ino +0 -226
  170. package/examples/bridge/mesh_event_publisher.hpp +0 -253
  171. package/examples/bridge/mesh_topology_reporter.hpp +0 -303
  172. package/examples/bridge/mqtt_command_bridge.hpp +0 -459
  173. package/examples/bridge/mqtt_status_bridge.hpp +0 -519
  174. package/examples/bridgeAwareSensorNode/alteriom_sensor_package.hpp +0 -1227
  175. package/examples/bridgeAwareSensorNode/bridgeAwareSensorNode.ino +0 -342
  176. package/examples/bridgeAwareSensorNode/platformio.ini +0 -26
  177. package/examples/diagnosticsExample/diagnosticsExample.ino +0 -171
  178. package/examples/diagnosticsExample/platformio.ini +0 -26
  179. package/examples/echoNode/echoNode.ino +0 -33
  180. package/examples/echoNode/platformio.ini +0 -26
  181. package/examples/meshCommandNode/alteriom_sensor_package.hpp +0 -235
  182. package/examples/meshCommandNode/meshCommandNode.ino +0 -265
  183. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +0 -235
  184. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +0 -253
  185. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +0 -303
  186. package/examples/mqttCommandBridge/mqttCommandBridge.ino +0 -254
  187. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +0 -462
  188. package/examples/mqttCommandBridge/platformio.ini +0 -27
  189. package/examples/mqttStatusBridge/mqttStatusBridge.ino +0 -218
  190. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +0 -522
  191. package/examples/mqttStatusBridge/platformio.ini +0 -27
  192. package/examples/mqttTopologyTest/README.md +0 -467
  193. package/examples/mqttTopologyTest/mqttTopologyTest.ino +0 -754
  194. package/examples/mqttTopologyTest/platformio.ini +0 -27
  195. package/examples/multi_bridge/README.md +0 -346
  196. package/examples/multi_bridge/primary_bridge.ino +0 -108
  197. package/examples/multi_bridge/regular_node.ino +0 -141
  198. package/examples/multi_bridge/secondary_bridge.ino +0 -123
  199. package/examples/ntpTimeSyncBridge/alteriom_sensor_package.hpp +0 -1383
  200. package/examples/ntpTimeSyncBridge/ntpTimeSyncBridge.ino +0 -86
  201. package/examples/ntpTimeSyncNode/alteriom_sensor_package.hpp +0 -1383
  202. package/examples/ntpTimeSyncNode/ntpTimeSyncNode.ino +0 -109
  203. package/examples/queued_alarms/README.md +0 -390
  204. package/examples/queued_alarms/queued_alarms.ino +0 -265
  205. package/examples/routing_demo/README.md +0 -172
  206. package/examples/routing_demo/routing_demo.ino +0 -102
  207. package/examples/rtcIntegration/README.md +0 -294
  208. package/examples/rtcIntegration/rtcIntegration.ino +0 -210
@@ -1,389 +0,0 @@
1
- # painlessMesh v1.7.6 Release Checklist
2
-
3
- **Release Date:** October 19, 2025
4
- **Release Type:** Critical Bug Fix
5
- **Git Commit:** c17384a
6
- **Git Tag:** v1.7.6
7
-
8
- ---
9
-
10
- ## ✅ Completed Steps
11
-
12
- ### Code Implementation
13
- - [x] Removed `src/painlessmesh/scheduler_queue.hpp` (30 lines deleted)
14
- - [x] Removed `src/painlessmesh/scheduler_queue.cpp` (70 lines deleted)
15
- - [x] Updated `src/painlessmesh/mesh.hpp` (removed queue includes and initialization)
16
- - [x] Created comprehensive unit test `test/catch/catch_scheduler_queue_removal.cpp` (200+ lines)
17
-
18
- ### Version Updates
19
- - [x] Updated `library.json` version: 1.7.5 → 1.7.6
20
- - [x] Updated `library.properties` version: 1.7.5 → 1.7.6
21
- - [x] Updated `package.json` version: 1.7.5 → 1.7.6
22
-
23
- ### Documentation
24
- - [x] Updated `CHANGELOG.md` with v1.7.6 section
25
- - [x] Created `docs/releases/RELEASE_PLAN_v1.7.6.md` (850+ lines)
26
- - [x] Created `docs/releases/RELEASE_SUMMARY_v1.7.6.md` (comprehensive release notes)
27
- - [x] Created `docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md` (historical reference)
28
- - [x] Updated `README.md` with v1.7.6 information
29
-
30
- ### Git Operations
31
- - [x] Staged all changes (`git add -A`)
32
- - [x] Committed with detailed message (commit c17384a)
33
- - [x] Created annotated tag v1.7.6
34
- - [x] Pushed to GitHub (`git push origin main --tags`)
35
-
36
- ### Statistics
37
- - **Files Changed:** 12 files
38
- - **Insertions:** +2046 lines
39
- - **Deletions:** -131 lines
40
- - **Net:** +1915 lines (mostly documentation and tests)
41
-
42
- ---
43
-
44
- ## 🔄 Manual Steps Required
45
-
46
- ### 1. Create GitHub Release
47
-
48
- **URL:** https://github.com/Alteriom/painlessMesh/releases/new
49
-
50
- **Release Details:**
51
- - **Tag:** v1.7.6 (select existing tag)
52
- - **Title:** `v1.7.6 - Critical Compilation Fix`
53
- - **Set as latest release:** ✅ Checked
54
-
55
- **Release Description Template:**
56
-
57
- ```markdown
58
- # v1.7.6 - Critical Compilation Fix
59
-
60
- 🚨 **URGENT**: If you are using v1.7.4 or v1.7.5, upgrade immediately. Those versions fail to compile.
61
-
62
- ## What's Fixed
63
-
64
- ✅ **Compilation Failure** - Fixed "_task_request_t was not declared" error
65
- ✅ **ESP32 Support** - All ESP32 builds now compile successfully
66
- ✅ **ESP8266 Support** - All ESP8266 builds now compile successfully
67
- ✅ **FreeRTOS Stability** - Maintained ~85% crash reduction on ESP32
68
-
69
- ## What Changed
70
-
71
- This release removes the thread-safe scheduler queue that was causing compilation failures:
72
-
73
- - **Removed**: `scheduler_queue.hpp` and `scheduler_queue.cpp`
74
- - **Simplified**: `mesh.hpp` initialization code
75
- - **Maintained**: Semaphore timeout fix for FreeRTOS crash protection
76
-
77
- ## Why This Fix
78
-
79
- The thread-safe scheduler queue required `_TASK_THREAD_SAFE` macro, but:
80
- - This macro conflicts with `_TASK_STD_FUNCTION` in TaskScheduler v4.0.x
81
- - painlessMesh **requires** `_TASK_STD_FUNCTION` for lambda callbacks
82
- - The queue code was disabled but still trying to compile
83
- - Result: Type definitions were missing, causing compilation errors
84
-
85
- ## Upgrade Instructions
86
-
87
- ### PlatformIO
88
- ```ini
89
- [env:your_board]
90
- lib_deps =
91
- https://github.com/Alteriom/painlessMesh.git#v1.7.6
92
- ```
93
-
94
- ### Arduino IDE
95
- Update through Library Manager: **AlteriomPainlessMesh v1.7.6**
96
-
97
- ### NPM
98
- ```bash
99
- npm update @alteriom/painlessmesh
100
- ```
101
-
102
- ## Performance
103
-
104
- - ✅ ESP32 crash rate: ~5-8% (down from 30-40%)
105
- - ✅ Crash reduction: ~85% via semaphore timeout increase
106
- - ✅ No performance impact vs v1.7.2
107
- - ✅ Full lambda and std::function support maintained
108
-
109
- ## Testing
110
-
111
- - ✅ 710+ unit tests passing
112
- - ✅ All 19 examples compile successfully
113
- - ✅ ESP32 and ESP8266 platforms verified
114
- - ✅ CI/CD pipeline passing
115
-
116
- ## Breaking Changes
117
-
118
- **None** - This is a pure bug fix release.
119
-
120
- ## Known Limitations
121
-
122
- - ESP32 crash protection is ~85% effective (not 95-98% as originally targeted)
123
- - Thread-safe scheduler queue feature removed (may return in v1.8.0)
124
- - Requires TaskScheduler v4.1+ for future thread-safe re-implementation
125
-
126
- ## Documentation
127
-
128
- 📋 [Complete Release Notes](https://github.com/Alteriom/painlessMesh/blob/main/docs/releases/RELEASE_SUMMARY_v1.7.6.md)
129
- 📖 [CHANGELOG](https://github.com/Alteriom/painlessMesh/blob/main/CHANGELOG.md)
130
- 📋 [Implementation Plan](https://github.com/Alteriom/painlessMesh/blob/main/docs/releases/RELEASE_PLAN_v1.7.6.md)
131
- 🐛 [Compilation Issues (Resolved)](https://github.com/Alteriom/painlessMesh/blob/main/docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md)
132
-
133
- ---
134
-
135
- **Release Date**: October 19, 2025
136
- **Build Status**: ✅ All tests passing
137
- **Upgrade Priority**: 🚨 CRITICAL for v1.7.4/v1.7.5 users
138
- ```
139
-
140
- **Action:** Copy the template above and create the release on GitHub.
141
-
142
- ---
143
-
144
- ### 2. Publish NPM Package
145
-
146
- **Prerequisites:**
147
- - NPM account with publish access
148
- - Logged in to NPM (`npm whoami` to verify)
149
-
150
- **Commands:**
151
-
152
- ```bash
153
- # 1. Verify login
154
- npm whoami
155
-
156
- # 2. (Optional) Test package creation
157
- npm pack
158
-
159
- # 3. Publish to NPM
160
- npm publish --access public
161
-
162
- # 4. Verify publication
163
- npm view @alteriom/painlessmesh version
164
- # Should show: 1.7.6
165
- ```
166
-
167
- **NPM Package URL:** https://www.npmjs.com/package/@alteriom/painlessmesh
168
-
169
- **Checklist:**
170
- - [ ] Logged in to NPM
171
- - [ ] Package built successfully
172
- - [ ] Published to NPM registry
173
- - [ ] Version 1.7.6 visible on npmjs.com
174
- - [ ] Installation tested: `npm install @alteriom/painlessmesh@1.7.6`
175
-
176
- ---
177
-
178
- ### 3. Monitor PlatformIO Registry
179
-
180
- **URL:** https://registry.platformio.org/libraries/sparck75/AlteriomPainlessMesh
181
-
182
- **Update Process:**
183
- - **Automatic:** PlatformIO scans GitHub releases every 24 hours
184
- - **Expected:** v1.7.6 should appear within 24 hours of GitHub Release
185
- - **Manual Trigger (if needed):** `pio pkg publish .`
186
-
187
- **Checklist:**
188
- - [ ] Wait 24 hours after GitHub Release
189
- - [ ] Verify v1.7.6 appears on registry
190
- - [ ] Test installation: `pio pkg install --library "AlteriomPainlessMesh@1.7.6"`
191
- - [ ] Verify example compilation
192
-
193
- ---
194
-
195
- ### 4. Monitor Arduino Library Manager
196
-
197
- **Update Process:**
198
- - **Automatic:** Arduino syncs from `library.properties` in GitHub releases
199
- - **Expected:** v1.7.6 should appear within 24-48 hours
200
- - **No manual action required**
201
-
202
- **Verification:**
203
- - [ ] Wait 24-48 hours after GitHub Release
204
- - [ ] Open Arduino IDE Library Manager
205
- - [ ] Search for "AlteriomPainlessMesh"
206
- - [ ] Verify v1.7.6 is available
207
- - [ ] Test installation and example compilation
208
-
209
- ---
210
-
211
- ## 📊 Success Criteria
212
-
213
- ### Immediate (Within 1 Hour)
214
- - [ ] GitHub Release published successfully
215
- - [ ] NPM package published and available
216
- - [ ] CI/CD pipeline status: Green
217
-
218
- ### First 24 Hours
219
- - [ ] Zero compilation error reports on GitHub Issues
220
- - [ ] PlatformIO registry updated to v1.7.6
221
- - [ ] Positive community feedback (if any)
222
- - [ ] No critical bugs discovered
223
-
224
- ### First Week
225
- - [ ] Arduino Library Manager synced to v1.7.6
226
- - [ ] ESP32 crash reports show ~5-8% rate (not increasing)
227
- - [ ] No regression reports from users
228
- - [ ] CI/CD continues to pass
229
-
230
- ---
231
-
232
- ## 🔍 Monitoring Tasks
233
-
234
- ### GitHub Issues
235
- Monitor for:
236
- - Compilation errors (should be zero)
237
- - Runtime crashes (should be ~5-8% on ESP32)
238
- - Breaking API changes (should be none)
239
- - Documentation issues
240
-
241
- ### CI/CD Pipeline
242
- Check that:
243
- - All tests continue to pass
244
- - ESP32 examples compile
245
- - ESP8266 examples compile
246
- - No new lint errors
247
-
248
- ### Community Feedback
249
- Watch for:
250
- - User reports of successful upgrades
251
- - Questions about migration
252
- - Feature requests for v1.8.0
253
- - Reports of improved stability
254
-
255
- ---
256
-
257
- ## 🚨 Rollback Plan
258
-
259
- If critical issues are discovered:
260
-
261
- ### Immediate (Within 1 Hour)
262
- 1. **Advise users to downgrade:**
263
- ```ini
264
- lib_deps = https://github.com/Alteriom/painlessMesh.git#v1.7.2
265
- ```
266
-
267
- 2. **Mark GitHub Release as pre-release** (if possible)
268
-
269
- ### Short-term (Within 24 Hours)
270
- 1. **Revert commit:**
271
- ```bash
272
- git revert c17384a
273
- git push origin main
274
- ```
275
-
276
- 2. **Delete tag:**
277
- ```bash
278
- git tag -d v1.7.6
279
- git push origin :refs/tags/v1.7.6
280
- ```
281
-
282
- 3. **Unpublish NPM package** (if within 72 hours):
283
- ```bash
284
- npm unpublish @alteriom/painlessmesh@1.7.6
285
- ```
286
-
287
- ### Medium-term (Within 1 Week)
288
- 1. Investigate root cause of rollback
289
- 2. Prepare hotfix v1.7.7
290
- 3. Re-test thoroughly
291
- 4. Re-release with fixes
292
-
293
- **Rollback Criteria:**
294
- - Compilation failures reported
295
- - Critical functionality broken
296
- - Crash rate increases significantly
297
- - Data corruption or security issues
298
-
299
- ---
300
-
301
- ## 📝 Communication
302
-
303
- ### GitHub Discussions (Optional)
304
-
305
- **Post announcement in Discussions:**
306
-
307
- **Title:** `v1.7.6 Released - Critical Compilation Fix`
308
-
309
- **Body:**
310
- ```markdown
311
- Hi everyone! 👋
312
-
313
- We've just released **v1.7.6**, which is a critical emergency fix for compilation issues in v1.7.4 and v1.7.5.
314
-
315
- ## 🚨 If you're on v1.7.4 or v1.7.5
316
-
317
- **Please upgrade immediately.** Those versions fail to compile with the error:
318
- ```
319
- '_task_request_t' was not declared
320
- ```
321
-
322
- ## ✅ What's Fixed
323
-
324
- - ESP32 and ESP8266 now compile successfully
325
- - Removed problematic thread-safe queue code
326
- - Maintained ~85% FreeRTOS crash reduction
327
- - Zero breaking changes to API
328
-
329
- ## 📦 How to Upgrade
330
-
331
- **PlatformIO:**
332
- ```ini
333
- lib_deps = https://github.com/Alteriom/painlessMesh.git#v1.7.6
334
- ```
335
-
336
- **Arduino IDE:** Update through Library Manager
337
-
338
- **NPM:** `npm update @alteriom/painlessmesh`
339
-
340
- ## 📚 Documentation
341
-
342
- - [Release Notes](https://github.com/Alteriom/painlessMesh/releases/tag/v1.7.6)
343
- - [Full CHANGELOG](https://github.com/Alteriom/painlessMesh/blob/main/CHANGELOG.md)
344
-
345
- Thanks for your patience, and apologies for the broken releases! 🙏
346
- ```
347
-
348
- ---
349
-
350
- ## 📋 Post-Release Checklist
351
-
352
- ### Day 1 (October 19, 2025)
353
- - [ ] GitHub Release created
354
- - [ ] NPM package published
355
- - [ ] CI/CD verified green
356
- - [ ] No immediate issues reported
357
-
358
- ### Day 2 (October 20, 2025)
359
- - [ ] PlatformIO registry check
360
- - [ ] GitHub Issues monitored
361
- - [ ] Community feedback reviewed
362
-
363
- ### Week 1 (October 19-26, 2025)
364
- - [ ] Arduino Library Manager verified
365
- - [ ] No critical bugs reported
366
- - [ ] Crash rate statistics collected
367
- - [ ] Plan v1.8.0 roadmap
368
-
369
- ---
370
-
371
- ## 🎯 Next Steps
372
-
373
- ### Immediate
374
- 1. Create GitHub Release (use template above)
375
- 2. Publish NPM package
376
- 3. Monitor CI/CD pipeline
377
-
378
- ### Future (v1.8.0 Planning)
379
- 1. Monitor TaskScheduler updates for v4.1+
380
- 2. Collect user feedback on v1.7.6
381
- 3. Evaluate thread-safe queue re-implementation
382
- 4. Consider alternative FreeRTOS fixes
383
-
384
- ---
385
-
386
- **Release Manager:** Alteriom Development Team
387
- **Completion Status:** Automated steps complete, manual steps pending
388
- **Estimated Time for Manual Steps:** 30 minutes
389
- **Priority:** HIGH - Users are waiting for working version
@@ -1,331 +0,0 @@
1
- # Release v1.8.0 Checklist
2
-
3
- **Version:** 1.8.0
4
- **Release Date:** 2025-11-09
5
- **Status:** ✅ READY FOR RELEASE
6
-
7
- ---
8
-
9
- ## Pre-Release Verification ✅
10
-
11
- - [x] All tests passing (1,500+ assertions)
12
- - [x] Version numbers updated in all files
13
- - [x] CHANGELOG.md updated with v1.8.0 section
14
- - [x] Release notes created (RELEASE_NOTES_v1.8.0.md)
15
- - [x] All features documented
16
- - [x] Examples provided and working
17
- - [x] No compilation warnings
18
- - [x] No security vulnerabilities
19
- - [x] 100% backward compatible
20
- - [x] No breaking changes
21
-
22
- ---
23
-
24
- ## Release Steps
25
-
26
- ### 1. Merge Pull Request
27
-
28
- ```bash
29
- # Review PR: copilot/review-issues-and-initiate-release
30
- # Merge to main branch via GitHub UI or:
31
- git checkout main
32
- git merge copilot/review-issues-and-initiate-release
33
- git push origin main
34
- ```
35
-
36
- **Files Changed:**
37
- - `CHANGELOG.md`
38
- - `library.json`
39
- - `library.properties`
40
- - `package.json`
41
- - `RELEASE_NOTES_v1.8.0.md` (new)
42
- - `RELEASE_CHECKLIST_v1.8.0.md` (new)
43
-
44
- ### 2. Create Git Tag
45
-
46
- ```bash
47
- # On main branch
48
- git tag -a v1.8.0 -m "Release v1.8.0 - Bridge-centric architecture and monitoring enhancements"
49
- git push origin v1.8.0
50
- ```
51
-
52
- ### 3. Create GitHub Release
53
-
54
- 1. Go to: https://github.com/Alteriom/painlessMesh/releases/new
55
- 2. Select tag: `v1.8.0`
56
- 3. Release title: `painlessMesh v1.8.0`
57
- 4. Copy content from `RELEASE_NOTES_v1.8.0.md`
58
- 5. Check "Set as the latest release"
59
- 6. Click "Publish release"
60
-
61
- ### 4. Publish to npm
62
-
63
- ```bash
64
- # Ensure you're on the v1.8.0 tag
65
- git checkout v1.8.0
66
-
67
- # Verify version
68
- cat package.json | grep version
69
-
70
- # Publish (requires npm login)
71
- npm publish
72
- ```
73
-
74
- **Expected Output:**
75
- ```
76
- + @alteriom/painlessmesh@1.8.0
77
- ```
78
-
79
- ### 5. Verify PlatformIO Registry
80
-
81
- PlatformIO will automatically detect and index the new release within 24 hours.
82
-
83
- **Verify at:** https://registry.platformio.org/libraries/sparck75/AlteriomPainlessMesh
84
-
85
- **Manual trigger (if needed):**
86
- ```bash
87
- pio pkg update
88
- ```
89
-
90
- ### 6. Update Documentation Website
91
-
92
- If you maintain a documentation website:
93
-
94
- ```bash
95
- cd docs-website
96
- # Update version references
97
- # Regenerate docs
98
- # Deploy
99
- ```
100
-
101
- ---
102
-
103
- ## Post-Release Verification
104
-
105
- ### Verify GitHub Release
106
-
107
- - [ ] Release appears at: https://github.com/Alteriom/painlessMesh/releases/tag/v1.8.0
108
- - [ ] Release notes are complete and formatted correctly
109
- - [ ] Assets are attached (if any)
110
- - [ ] "Latest release" badge is updated
111
-
112
- ### Verify npm Package
113
-
114
- ```bash
115
- # Check npm package
116
- npm view @alteriom/painlessmesh version
117
- # Should show: 1.8.0
118
-
119
- # Test installation
120
- npm install @alteriom/painlessmesh
121
- ```
122
-
123
- ### Verify PlatformIO Registry
124
-
125
- **After ~24 hours:**
126
- - [ ] Library appears with v1.8.0 at PlatformIO registry
127
- - [ ] Installation works: `pio pkg install -l sparck75/AlteriomPainlessMesh@^1.8.0`
128
-
129
- ### Verify Arduino Library Manager
130
-
131
- **After ~48 hours:**
132
- - [ ] Library appears with v1.8.0 in Arduino IDE Library Manager
133
- - [ ] Installation works via Arduino IDE
134
-
135
- ---
136
-
137
- ## Communication
138
-
139
- ### GitHub Announcement
140
-
141
- Post in Discussions: https://github.com/Alteriom/painlessMesh/discussions
142
-
143
- **Template:**
144
- ```markdown
145
- # painlessMesh v1.8.0 Released! 🎉
146
-
147
- We're excited to announce painlessMesh v1.8.0, a major feature release focused on bridge operations, monitoring, and time synchronization.
148
-
149
- ## Key Highlights
150
-
151
- ✨ **Bridge-Centric Architecture** - Zero-configuration setup
152
- 📊 **Comprehensive Monitoring** - Real-time health metrics
153
- 🕐 **Time Synchronization** - NTP distribution with RTC backup
154
- 🔍 **Diagnostics Tools** - Deep insights into operations
155
- ⚡ **Production Ready** - 100% backward compatible
156
-
157
- ## 7 Major Features
158
-
159
- 1. Diagnostics API for Bridge Operations
160
- 2. Bridge Health Monitoring & Metrics Collection
161
- 3. RTC Integration for offline timekeeping
162
- 4. Bridge Status Broadcast & Callbacks
163
- 5. NTP Time Synchronization (Type 614)
164
- 6. Bridge-Centric Architecture with Auto Channel Detection
165
- 7. Enhanced Documentation & Examples
166
-
167
- ## Download & Upgrade
168
-
169
- - **GitHub:** https://github.com/Alteriom/painlessMesh/releases/tag/v1.8.0
170
- - **npm:** `npm install @alteriom/painlessmesh@1.8.0`
171
- - **PlatformIO:** Available within 24 hours
172
- - **Arduino IDE:** Available within 48 hours
173
-
174
- ## Documentation
175
-
176
- See [RELEASE_NOTES_v1.8.0.md](RELEASE_NOTES_v1.8.0.md) for:
177
- - Detailed feature descriptions
178
- - Migration guide with code examples
179
- - Configuration examples
180
- - Use cases and benefits
181
-
182
- ## Upgrade
183
-
184
- ✅ **100% backward compatible** - No breaking changes
185
- ✅ **Optional adoption** - All new features are opt-in
186
- ✅ **Simple migration** - See release notes for examples
187
-
188
- ## Questions?
189
-
190
- - Open an [issue](https://github.com/Alteriom/painlessMesh/issues)
191
- - Start a [discussion](https://github.com/Alteriom/painlessMesh/discussions)
192
- - Check the [examples](examples/)
193
-
194
- Happy meshing! 🚀
195
- ```
196
-
197
- ### Social Media (if applicable)
198
-
199
- **Twitter/X:**
200
- ```
201
- 🎉 painlessMesh v1.8.0 is here!
202
-
203
- ✨ Bridge-centric architecture
204
- 📊 Health monitoring & diagnostics
205
- 🕐 NTP time sync + RTC
206
- ⚡ Production-ready
207
-
208
- 100% backward compatible!
209
-
210
- Download: https://github.com/Alteriom/painlessMesh/releases/tag/v1.8.0
211
-
212
- #ESP32 #ESP8266 #IoT #MeshNetwork
213
- ```
214
-
215
- **LinkedIn:**
216
- ```
217
- We're thrilled to announce painlessMesh v1.8.0! 🎉
218
-
219
- This major release brings seven production-ready features for ESP32/ESP8266 mesh networks:
220
-
221
- ✨ Bridge-Centric Architecture with automatic channel detection
222
- 📊 Comprehensive health monitoring and diagnostics
223
- 🕐 NTP time synchronization with RTC backup
224
- 🔍 Deep diagnostic tools for troubleshooting
225
- ⚡ Real-time metrics for Grafana/Prometheus integration
226
-
227
- Perfect for:
228
- • Industrial IoT deployments
229
- • Smart building automation
230
- • Environmental monitoring
231
- • Production mesh networks
232
-
233
- 100% backward compatible with v1.7.x - upgrade with confidence!
234
-
235
- Learn more: https://github.com/Alteriom/painlessMesh/releases/tag/v1.8.0
236
-
237
- #IoT #ESP32 #ESP8266 #MeshNetworking #OpenSource
238
- ```
239
-
240
- ---
241
-
242
- ## Monitoring
243
-
244
- ### Week 1
245
-
246
- Monitor for:
247
- - [ ] Installation issues
248
- - [ ] Compilation errors
249
- - [ ] Feature requests
250
- - [ ] Bug reports
251
- - [ ] Documentation questions
252
-
253
- ### Metrics to Track
254
-
255
- - GitHub downloads
256
- - npm downloads
257
- - PlatformIO downloads
258
- - GitHub stars/forks
259
- - Issue/discussion activity
260
-
261
- ---
262
-
263
- ## Hotfix Process (if needed)
264
-
265
- If critical bugs are discovered:
266
-
267
- 1. Create hotfix branch: `git checkout -b hotfix/v1.8.1`
268
- 2. Fix the issue
269
- 3. Update CHANGELOG.md with v1.8.1
270
- 4. Update version numbers
271
- 5. Create PR and merge
272
- 6. Tag v1.8.1 and release
273
- 7. Communicate to users
274
-
275
- ---
276
-
277
- ## Success Criteria
278
-
279
- ✅ **Release Published**
280
- - GitHub release created
281
- - npm package published
282
- - PlatformIO updated
283
- - Arduino Library Manager synced
284
-
285
- ✅ **No Critical Issues**
286
- - Zero critical bugs in first week
287
- - No breaking changes reported
288
- - Installation works on all platforms
289
-
290
- ✅ **Community Engagement**
291
- - Positive feedback from users
292
- - Feature adoption beginning
293
- - Questions answered promptly
294
-
295
- ---
296
-
297
- ## Next Release Planning (v1.8.1)
298
-
299
- Features planned for v1.8.1:
300
- - Message Queuing for Offline Mode (#66)
301
- - Multi-Bridge Coordination (#65)
302
- - Automatic Bridge Failover (#64)
303
-
304
- **Timeline:** Q1 2026
305
-
306
- ---
307
-
308
- ## Contacts
309
-
310
- **Maintainer:** @sparck75
311
- **Repository:** https://github.com/Alteriom/painlessMesh
312
- **Issues:** https://github.com/Alteriom/painlessMesh/issues
313
- **Discussions:** https://github.com/Alteriom/painlessMesh/discussions
314
-
315
- ---
316
-
317
- ## Notes
318
-
319
- - All pre-release checks passed ✅
320
- - Release is backward compatible ✅
321
- - No breaking changes ✅
322
- - Comprehensive testing complete ✅
323
- - Documentation comprehensive ✅
324
-
325
- **Status: READY TO RELEASE** 🚀
326
-
327
- ---
328
-
329
- **Last Updated:** 2025-11-09
330
- **Prepared by:** GitHub Copilot
331
- **Reviewed by:** (pending maintainer review)