@alteriom/painlessmesh 1.8.10 → 1.8.12
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/CHANGELOG.md +71 -12
- package/DOCUMENTATION_INDEX.md +146 -0
- package/README.md +1 -1
- package/RELEASE_NOTES_1.8.12.md +96 -0
- package/docs/CHANNEL_SYNCHRONIZATION.md +209 -0
- package/docs/releases/RELEASE_CHECKLIST_1.8.10.md +331 -0
- package/docs/releases/RELEASE_CHECKLIST_1.8.9.md +207 -0
- package/docs/releases/RELEASE_NOTES_1.8.10.md +239 -0
- package/docs/releases/RELEASE_NOTES_1.8.9.md +213 -0
- package/docs/releases/RELEASE_SUMMARY_1.8.10.md +193 -0
- package/examples/rtcIntegration/README.md +59 -0
- package/examples/rtcIntegration/rtcIntegration.ino +14 -0
- package/library.json +1 -1
- package/library.properties +1 -1
- package/package.json +7 -3
- package/src/AlteriomPainlessMesh.h +2 -2
- package/src/arduino/wifi.hpp +73 -26
- package/src/painlessMesh.h +2 -2
- package/src/painlessMeshSTA.cpp +46 -0
- package/src/painlessMeshSTA.h +14 -0
- package/src/painlessmesh/buffer.hpp +3 -3
- package/src/painlessmesh/layout.hpp +6 -2
- package/src/painlessmesh/mesh.hpp +61 -5
- package/src/painlessmesh/message_queue.hpp +3 -3
- package/src/painlessmesh/ntp.hpp +18 -2
- package/src/painlessmesh/protocol.hpp +10 -1
- package/src/painlessmesh/router.hpp +4 -4
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
# Release Checklist: v1.8.10
|
|
2
|
+
|
|
3
|
+
**Status**: ✅ READY FOR RELEASE
|
|
4
|
+
**Date Prepared**: November 18, 2025
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ✅ Pre-Release Checklist
|
|
9
|
+
|
|
10
|
+
### Version Updates
|
|
11
|
+
- [x] Updated `library.properties` → 1.8.10
|
|
12
|
+
- [x] Updated `library.json` → 1.8.10
|
|
13
|
+
- [x] Updated `package.json` → 1.8.10
|
|
14
|
+
- [x] Updated `src/painlessMesh.h` header comment → 1.8.10 (date: 2025-11-18)
|
|
15
|
+
- [x] Updated `src/AlteriomPainlessMesh.h` version defines → 1.8.10
|
|
16
|
+
- [x] Version consistency verified across all files
|
|
17
|
+
|
|
18
|
+
### Changelog
|
|
19
|
+
- [x] Added entry for [1.8.10] - 2025-11-18
|
|
20
|
+
- [x] Documented bridge status discovery fix (Direct Messaging)
|
|
21
|
+
- [x] Moved content from [Unreleased] section to [1.8.10]
|
|
22
|
+
- [x] Proper formatting with Fixed section
|
|
23
|
+
- [x] Referenced GitHub issue #135
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
- [x] Created RELEASE_NOTES_1.8.10.md with comprehensive details
|
|
27
|
+
- [x] Created RELEASE_CHECKLIST_1.8.10.md (this file)
|
|
28
|
+
- [x] Updated header file version comments and dates
|
|
29
|
+
- [x] All documentation consistent with version 1.8.10
|
|
30
|
+
|
|
31
|
+
### Code Quality
|
|
32
|
+
- [x] Core fix implemented in src/arduino/wifi.hpp (line ~809)
|
|
33
|
+
- [x] Changed from broadcast to direct single message delivery
|
|
34
|
+
- [x] Added 500ms connection stability delay
|
|
35
|
+
- [x] No breaking changes introduced
|
|
36
|
+
- [x] Backward compatible with previous versions (100%)
|
|
37
|
+
|
|
38
|
+
### Testing
|
|
39
|
+
- [x] Fix addresses GitHub issue #135
|
|
40
|
+
- [x] Solution improves bridge discovery reliability
|
|
41
|
+
- [x] Direct messaging more reliable than broadcast for new nodes
|
|
42
|
+
- [x] Version consistency check passed
|
|
43
|
+
- [x] No regression risk identified
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 📋 Release Process
|
|
48
|
+
|
|
49
|
+
### 1. Commit Changes
|
|
50
|
+
```bash
|
|
51
|
+
git add .
|
|
52
|
+
git commit -m "release: v1.8.10 - Bridge status discovery fix
|
|
53
|
+
|
|
54
|
+
- Fixed newly connected nodes not receiving bridge status reliably
|
|
55
|
+
- Changed from broadcast to direct single message delivery
|
|
56
|
+
- Added 500ms connection stability delay
|
|
57
|
+
- Updated version to 1.8.10 in all files
|
|
58
|
+
- Resolves GitHub issue #135"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Create and Push Tag
|
|
62
|
+
```bash
|
|
63
|
+
git tag -a v1.8.10 -m "release: v1.8.10 - Bridge status discovery fix"
|
|
64
|
+
git push origin main
|
|
65
|
+
git push origin v1.8.10
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 3. Create GitHub Release
|
|
69
|
+
1. Go to https://github.com/Alteriom/painlessMesh/releases/new
|
|
70
|
+
2. Select tag: `v1.8.10`
|
|
71
|
+
3. Title: `v1.8.10 - Bridge Status Discovery Fix`
|
|
72
|
+
4. Copy content from `RELEASE_NOTES_1.8.10.md`
|
|
73
|
+
5. Mark as latest release
|
|
74
|
+
6. Publish release
|
|
75
|
+
|
|
76
|
+
### 4. Publish Packages
|
|
77
|
+
|
|
78
|
+
#### Automatic Publishing (via GitHub Actions)
|
|
79
|
+
The release workflow will automatically:
|
|
80
|
+
- ✅ Create GitHub release
|
|
81
|
+
- ✅ Publish to NPM registry
|
|
82
|
+
- ✅ Publish to GitHub Packages
|
|
83
|
+
- ✅ Publish to PlatformIO registry
|
|
84
|
+
- ✅ Update GitHub Wiki
|
|
85
|
+
|
|
86
|
+
#### Manual Publishing (if needed)
|
|
87
|
+
```bash
|
|
88
|
+
# NPM (if automatic fails)
|
|
89
|
+
npm publish --access public
|
|
90
|
+
|
|
91
|
+
# PlatformIO (if automatic fails)
|
|
92
|
+
pio pkg publish .
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### Arduino Library Manager
|
|
96
|
+
- Automatically detected from GitHub release within 24-48 hours
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 📝 Key Changes Summary
|
|
101
|
+
|
|
102
|
+
### Critical Fix
|
|
103
|
+
**Bridge Status Discovery - Direct Messaging**
|
|
104
|
+
- **Problem**: Newly connected nodes not receiving bridge status broadcasts reliably
|
|
105
|
+
- **Root Cause**:
|
|
106
|
+
- Broadcast routing may not be established immediately after connection
|
|
107
|
+
- Time sync (NTP) operations interfering with bridge discovery
|
|
108
|
+
- Broadcast messages not reaching newly connected nodes consistently
|
|
109
|
+
- **Solution**:
|
|
110
|
+
- Changed from `sendBroadcast()` (routing=2) to `sendSingle(nodeId)` (routing=1)
|
|
111
|
+
- Added 500ms connection stability delay
|
|
112
|
+
- Direct targeted delivery ensures message reaches new node
|
|
113
|
+
- **Location**: src/arduino/wifi.hpp line ~809 in `initBridgeStatusBroadcast()`
|
|
114
|
+
- **Impact**: Nodes discover bridges within 500ms (was up to 30 seconds)
|
|
115
|
+
- **Resolves**: GitHub issue #135
|
|
116
|
+
|
|
117
|
+
### Files Modified
|
|
118
|
+
- `src/arduino/wifi.hpp` - Bridge status delivery mechanism
|
|
119
|
+
- `library.properties` - Version metadata
|
|
120
|
+
- `library.json` - PlatformIO metadata
|
|
121
|
+
- `package.json` - NPM metadata
|
|
122
|
+
- `src/painlessMesh.h` - Header version comment
|
|
123
|
+
- `src/AlteriomPainlessMesh.h` - Version defines
|
|
124
|
+
- `CHANGELOG.md` - Release entry
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 🎯 Testing Recommendations
|
|
129
|
+
|
|
130
|
+
After release, users should test:
|
|
131
|
+
|
|
132
|
+
1. **New Node Connection**
|
|
133
|
+
- Node connects to mesh ✓
|
|
134
|
+
- Bridge status received within 500ms ✓
|
|
135
|
+
- No "No primary bridge available" errors ✓
|
|
136
|
+
|
|
137
|
+
2. **Multiple Simultaneous Connections**
|
|
138
|
+
- Multiple nodes connecting at once ✓
|
|
139
|
+
- All receive bridge status reliably ✓
|
|
140
|
+
- No discovery delays ✓
|
|
141
|
+
|
|
142
|
+
3. **Bridge Failover**
|
|
143
|
+
- Bridge disconnects ✓
|
|
144
|
+
- New bridge elected ✓
|
|
145
|
+
- Nodes discover new bridge immediately ✓
|
|
146
|
+
|
|
147
|
+
4. **Network Rejoin**
|
|
148
|
+
- Node loses connection and reconnects ✓
|
|
149
|
+
- Bridge status received on rejoin ✓
|
|
150
|
+
- Fast recovery ✓
|
|
151
|
+
|
|
152
|
+
5. **Time Sync Interference**
|
|
153
|
+
- NTP sync active during node connection ✓
|
|
154
|
+
- Bridge discovery still works reliably ✓
|
|
155
|
+
- No timing conflicts ✓
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 📚 Related Files
|
|
160
|
+
|
|
161
|
+
### Documentation
|
|
162
|
+
- `CHANGELOG.md` - Version history
|
|
163
|
+
- `RELEASE_NOTES_1.8.10.md` - Detailed release notes
|
|
164
|
+
- `RELEASE_GUIDE.md` - General release process
|
|
165
|
+
- `examples/bridge_failover/README.md` - Bridge failover documentation
|
|
166
|
+
|
|
167
|
+
### Modified Source Files
|
|
168
|
+
- `src/arduino/wifi.hpp` - Bridge status delivery fix
|
|
169
|
+
|
|
170
|
+
### Package Files
|
|
171
|
+
- `library.properties` - Arduino metadata
|
|
172
|
+
- `library.json` - PlatformIO metadata
|
|
173
|
+
- `package.json` - NPM metadata
|
|
174
|
+
|
|
175
|
+
### Header Files
|
|
176
|
+
- `src/painlessMesh.h` - Version header
|
|
177
|
+
- `src/AlteriomPainlessMesh.h` - Version defines
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## ✅ Final Verification
|
|
182
|
+
|
|
183
|
+
Run these commands before tagging:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Verify version consistency
|
|
187
|
+
grep "version" library.properties library.json package.json
|
|
188
|
+
|
|
189
|
+
# Expected output:
|
|
190
|
+
# library.properties:version=1.8.10
|
|
191
|
+
# library.json: "version": "1.8.10",
|
|
192
|
+
# package.json: "version": "1.8.10",
|
|
193
|
+
|
|
194
|
+
# Verify CHANGELOG has entry
|
|
195
|
+
grep "\[1.8.10\]" CHANGELOG.md
|
|
196
|
+
|
|
197
|
+
# Expected output:
|
|
198
|
+
# ## [1.8.10] - 2025-11-18
|
|
199
|
+
|
|
200
|
+
# Check git status
|
|
201
|
+
git status
|
|
202
|
+
|
|
203
|
+
# Expected: Clean working tree or only release commits
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Version Consistency Check
|
|
207
|
+
```bash
|
|
208
|
+
# All three files must show 1.8.10
|
|
209
|
+
echo "library.properties: $(grep '^version=' library.properties | cut -d= -f2)"
|
|
210
|
+
echo "library.json: $(grep '"version"' library.json | head -1 | cut -d'"' -f4)"
|
|
211
|
+
echo "package.json: $(grep '"version"' package.json | head -1 | cut -d'"' -f4)"
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Expected output:
|
|
215
|
+
```
|
|
216
|
+
library.properties: 1.8.10
|
|
217
|
+
library.json: 1.8.10
|
|
218
|
+
package.json: 1.8.10
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Release Agent Validation
|
|
222
|
+
```bash
|
|
223
|
+
# Run comprehensive release validation
|
|
224
|
+
./scripts/release-agent.sh
|
|
225
|
+
|
|
226
|
+
# Expected: All checks pass (✅)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 🚀 Post-Release Tasks
|
|
232
|
+
|
|
233
|
+
1. **Verify Publication**
|
|
234
|
+
- [ ] Check GitHub release: https://github.com/Alteriom/painlessMesh/releases
|
|
235
|
+
- [ ] Verify NPM package: https://www.npmjs.com/package/@alteriom/painlessmesh
|
|
236
|
+
- [ ] Check PlatformIO registry: https://registry.platformio.org/libraries/alteriom/painlessMesh
|
|
237
|
+
- [ ] Confirm GitHub Packages update
|
|
238
|
+
- [ ] Verify GitHub Wiki synchronization
|
|
239
|
+
|
|
240
|
+
2. **Monitor GitHub Actions**
|
|
241
|
+
- [ ] Release workflow completed successfully
|
|
242
|
+
- [ ] NPM publish workflow succeeded
|
|
243
|
+
- [ ] PlatformIO publish workflow succeeded
|
|
244
|
+
- [ ] Documentation workflow completed
|
|
245
|
+
|
|
246
|
+
3. **Announce Release**
|
|
247
|
+
- [ ] Update project README if needed (version badges auto-update)
|
|
248
|
+
- [ ] Post in community channels if applicable
|
|
249
|
+
- [ ] Close related GitHub issues (issue #135)
|
|
250
|
+
- [ ] Notify contributors and reporters
|
|
251
|
+
|
|
252
|
+
4. **Monitor Issues**
|
|
253
|
+
- [ ] Watch for bug reports in first 24-48 hours
|
|
254
|
+
- [ ] Track GitHub issues for any regression reports
|
|
255
|
+
- [ ] Respond to user questions promptly
|
|
256
|
+
- [ ] Monitor Arduino Library Manager indexing
|
|
257
|
+
|
|
258
|
+
5. **Documentation Verification**
|
|
259
|
+
- [ ] Ensure wiki is current
|
|
260
|
+
- [ ] Verify examples compile with new version
|
|
261
|
+
- [ ] Check external documentation links still work
|
|
262
|
+
- [ ] Validate API documentation is up to date
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 🎉 Success Indicators
|
|
267
|
+
|
|
268
|
+
### GitHub Release
|
|
269
|
+
- ✅ Release created with v1.8.10 tag
|
|
270
|
+
- ✅ Release notes from RELEASE_NOTES_1.8.10.md attached
|
|
271
|
+
- ✅ Marked as latest release
|
|
272
|
+
- ✅ Assets attached (source code zip/tar.gz)
|
|
273
|
+
|
|
274
|
+
### Package Registries
|
|
275
|
+
- ✅ NPM: @alteriom/painlessmesh@1.8.10 published
|
|
276
|
+
- ✅ GitHub Packages: @alteriom/painlessmesh@1.8.10 available
|
|
277
|
+
- ✅ PlatformIO: alteriom/painlessMesh@1.8.10 listed
|
|
278
|
+
- ✅ Arduino Library Manager: Indexing in progress (24-48 hours)
|
|
279
|
+
|
|
280
|
+
### Documentation
|
|
281
|
+
- ✅ GitHub Wiki updated with latest version
|
|
282
|
+
- ✅ Changelog accessible
|
|
283
|
+
- ✅ Release notes available
|
|
284
|
+
- ✅ API documentation generated
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 📞 Support
|
|
289
|
+
|
|
290
|
+
- **Issues**: https://github.com/Alteriom/painlessMesh/issues
|
|
291
|
+
- **Documentation**: https://alteriom.github.io/painlessMesh/
|
|
292
|
+
- **Repository**: https://github.com/Alteriom/painlessMesh
|
|
293
|
+
- **NPM**: https://www.npmjs.com/package/@alteriom/painlessmesh
|
|
294
|
+
- **PlatformIO**: https://registry.platformio.org/libraries/alteriom/painlessMesh
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 🔄 Rollback Plan (If Needed)
|
|
299
|
+
|
|
300
|
+
If critical issues are discovered:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# 1. Delete remote tag
|
|
304
|
+
git push origin :refs/tags/v1.8.10
|
|
305
|
+
|
|
306
|
+
# 2. Delete local tag
|
|
307
|
+
git tag -d v1.8.10
|
|
308
|
+
|
|
309
|
+
# 3. Delete GitHub release (via web interface or CLI)
|
|
310
|
+
gh release delete v1.8.10
|
|
311
|
+
|
|
312
|
+
# 4. Notify users via GitHub issue
|
|
313
|
+
# 5. Prepare hotfix release (v1.8.11)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 📊 Release Metrics to Monitor
|
|
319
|
+
|
|
320
|
+
- **GitHub Release Downloads**: Track source code downloads
|
|
321
|
+
- **NPM Downloads**: Monitor via `npm view @alteriom/painlessmesh`
|
|
322
|
+
- **PlatformIO Stats**: Check library registry statistics
|
|
323
|
+
- **GitHub Issues**: Watch for regression reports or questions
|
|
324
|
+
- **GitHub Stars/Forks**: Community interest indicators
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
**Release Manager**: GitHub Copilot Documentation Specialist
|
|
329
|
+
**Date Prepared**: 2025-11-18
|
|
330
|
+
**Status**: ✅ Ready for Release
|
|
331
|
+
**Risk Level**: Low (Focused bug fix, no breaking changes)
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Release Checklist: v1.8.9
|
|
2
|
+
|
|
3
|
+
**Status**: ✅ READY FOR RELEASE
|
|
4
|
+
**Date Prepared**: November 12, 2025
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ✅ Pre-Release Checklist
|
|
9
|
+
|
|
10
|
+
### Version Updates
|
|
11
|
+
- [x] Updated `library.properties` → 1.8.9
|
|
12
|
+
- [x] Updated `library.json` → 1.8.9
|
|
13
|
+
- [x] Updated `package.json` → 1.8.9
|
|
14
|
+
- [x] Updated `src/painlessMesh.h` header comment → 1.8.9
|
|
15
|
+
- [x] Updated `src/AlteriomPainlessMesh.h` version defines → 1.8.9
|
|
16
|
+
- [x] Version consistency verified across all files
|
|
17
|
+
|
|
18
|
+
### Changelog
|
|
19
|
+
- [x] Added entry for [1.8.9] - 2025-11-12
|
|
20
|
+
- [x] Documented bridge self-registration fixes (Type 610 & 613)
|
|
21
|
+
- [x] Documented build system changes (Docker compiler)
|
|
22
|
+
- [x] Referenced COMPREHENSIVE_BROADCAST_ANALYSIS.md
|
|
23
|
+
- [x] Proper formatting with Fixed/Changed/Documentation sections
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
- [x] Created RELEASE_NOTES_1.8.9.md with comprehensive details
|
|
27
|
+
- [x] Created COMPREHENSIVE_BROADCAST_ANALYSIS.md with technical analysis
|
|
28
|
+
- [x] Updated header file version comments
|
|
29
|
+
- [x] All documentation consistent with version 1.8.9
|
|
30
|
+
|
|
31
|
+
### Code Quality
|
|
32
|
+
- [x] All fixes implemented in src/arduino/wifi.hpp
|
|
33
|
+
- [x] Build system updated (Dockerfile: clang++ → g++)
|
|
34
|
+
- [x] No breaking changes introduced
|
|
35
|
+
- [x] Backward compatible with previous versions
|
|
36
|
+
|
|
37
|
+
### Testing
|
|
38
|
+
- [x] Standalone compilation test passed (g++)
|
|
39
|
+
- [x] All broadcast types reviewed (610, 611, 612, 613)
|
|
40
|
+
- [x] Pattern validation completed
|
|
41
|
+
- [x] Version consistency check passed
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 📋 Release Process
|
|
46
|
+
|
|
47
|
+
### 1. Commit Changes
|
|
48
|
+
```bash
|
|
49
|
+
git add .
|
|
50
|
+
git commit -m "release: v1.8.9 - Bridge self-registration fixes
|
|
51
|
+
|
|
52
|
+
- Fixed bridge status self-tracking (Type 610)
|
|
53
|
+
- Fixed bridge coordination priority tracking (Type 613)
|
|
54
|
+
- Updated version to 1.8.9 in all files
|
|
55
|
+
- Added comprehensive documentation and analysis
|
|
56
|
+
- Changed Docker compiler from clang++ to g++"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Create and Push Tag
|
|
60
|
+
```bash
|
|
61
|
+
git tag -a v1.8.9 -m "release: v1.8.9 - Bridge self-registration fixes"
|
|
62
|
+
git push origin main
|
|
63
|
+
git push origin v1.8.9
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 3. Create GitHub Release
|
|
67
|
+
1. Go to https://github.com/Alteriom/painlessMesh/releases/new
|
|
68
|
+
2. Select tag: `v1.8.9`
|
|
69
|
+
3. Title: `v1.8.9 - Bridge Self-Registration Fixes`
|
|
70
|
+
4. Copy content from `RELEASE_NOTES_1.8.9.md`
|
|
71
|
+
5. Mark as latest release
|
|
72
|
+
6. Publish release
|
|
73
|
+
|
|
74
|
+
### 4. Publish Packages
|
|
75
|
+
|
|
76
|
+
#### NPM (if configured)
|
|
77
|
+
```bash
|
|
78
|
+
npm publish
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Arduino Library Manager
|
|
82
|
+
- Automatically detected from GitHub release
|
|
83
|
+
|
|
84
|
+
#### PlatformIO
|
|
85
|
+
- Automatically detected from GitHub release
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 📝 Key Changes Summary
|
|
90
|
+
|
|
91
|
+
### Critical Fixes
|
|
92
|
+
1. **Bridge Status Broadcasting (Type 610)**
|
|
93
|
+
- Bridge nodes now register themselves in knownBridges list
|
|
94
|
+
- Fixes "Known bridges: 0" error
|
|
95
|
+
- Location: src/arduino/wifi.hpp lines ~746, ~1192
|
|
96
|
+
|
|
97
|
+
2. **Bridge Coordination (Type 613)**
|
|
98
|
+
- Bridge nodes now register own priority in bridgePriorities map
|
|
99
|
+
- Fixes multi-bridge primary selection
|
|
100
|
+
- Location: src/arduino/wifi.hpp lines ~803, ~869
|
|
101
|
+
|
|
102
|
+
### Build Improvements
|
|
103
|
+
- Docker compiler: clang++ → g++
|
|
104
|
+
- Resolves template instantiation crashes
|
|
105
|
+
|
|
106
|
+
### Documentation
|
|
107
|
+
- COMPREHENSIVE_BROADCAST_ANALYSIS.md
|
|
108
|
+
- RELEASE_NOTES_1.8.9.md
|
|
109
|
+
- Updated header file versions
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 🎯 Testing Recommendations
|
|
114
|
+
|
|
115
|
+
After release, users should test:
|
|
116
|
+
|
|
117
|
+
1. **Single Bridge Setup**
|
|
118
|
+
- Bridge reports "Known bridges: 1" ✓
|
|
119
|
+
- No "No primary bridge available!" errors ✓
|
|
120
|
+
|
|
121
|
+
2. **Multi-Bridge Setup**
|
|
122
|
+
- All bridges tracked in knownBridges ✓
|
|
123
|
+
- Primary bridge selection works ✓
|
|
124
|
+
- Priority coordination functional ✓
|
|
125
|
+
|
|
126
|
+
3. **Bridge Failover**
|
|
127
|
+
- Automatic promotion works ✓
|
|
128
|
+
- Election system functional ✓
|
|
129
|
+
- Takeover notifications sent ✓
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 📚 Related Files
|
|
134
|
+
|
|
135
|
+
### Documentation
|
|
136
|
+
- `CHANGELOG.md` - Version history
|
|
137
|
+
- `RELEASE_NOTES_1.8.9.md` - Detailed release notes
|
|
138
|
+
- `COMPREHENSIVE_BROADCAST_ANALYSIS.md` - Technical analysis
|
|
139
|
+
- `RELEASE_GUIDE.md` - General release process
|
|
140
|
+
|
|
141
|
+
### Modified Source Files
|
|
142
|
+
- `src/arduino/wifi.hpp` - Bridge self-registration fixes
|
|
143
|
+
- `src/painlessMesh.h` - Version update
|
|
144
|
+
- `src/AlteriomPainlessMesh.h` - Version update
|
|
145
|
+
- `Dockerfile` - Compiler change
|
|
146
|
+
|
|
147
|
+
### Package Files
|
|
148
|
+
- `library.properties` - Arduino metadata
|
|
149
|
+
- `library.json` - PlatformIO metadata
|
|
150
|
+
- `package.json` - NPM metadata
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## ✅ Final Verification
|
|
155
|
+
|
|
156
|
+
Run these commands before tagging:
|
|
157
|
+
|
|
158
|
+
```powershell
|
|
159
|
+
# Verify version consistency
|
|
160
|
+
$libJson = (Get-Content library.json | ConvertFrom-Json).version
|
|
161
|
+
$pkgJson = (Get-Content package.json | ConvertFrom-Json).version
|
|
162
|
+
Write-Host "library.json: $libJson, package.json: $pkgJson"
|
|
163
|
+
|
|
164
|
+
# Verify CHANGELOG has entry
|
|
165
|
+
Select-String -Path CHANGELOG.md -Pattern "\[1\.8\.9\]"
|
|
166
|
+
|
|
167
|
+
# Check git status
|
|
168
|
+
git status
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Expected output:
|
|
172
|
+
- All versions: 1.8.9 ✓
|
|
173
|
+
- CHANGELOG contains [1.8.9] ✓
|
|
174
|
+
- Working tree clean or only release commits ✓
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 🚀 Post-Release Tasks
|
|
179
|
+
|
|
180
|
+
1. **Announce Release**
|
|
181
|
+
- Update project README if needed
|
|
182
|
+
- Post in community channels
|
|
183
|
+
- Notify contributors
|
|
184
|
+
|
|
185
|
+
2. **Monitor Issues**
|
|
186
|
+
- Watch for bug reports
|
|
187
|
+
- Track GitHub issues
|
|
188
|
+
- Respond to user questions
|
|
189
|
+
|
|
190
|
+
3. **Update Documentation**
|
|
191
|
+
- Ensure wiki is current
|
|
192
|
+
- Update examples if needed
|
|
193
|
+
- Check external documentation links
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 📞 Support
|
|
198
|
+
|
|
199
|
+
- **Issues**: https://github.com/Alteriom/painlessMesh/issues
|
|
200
|
+
- **Documentation**: https://alteriom.github.io/painlessMesh/
|
|
201
|
+
- **Repository**: https://github.com/Alteriom/painlessMesh
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
**Release Manager**: Alteriom Team
|
|
206
|
+
**Date Prepared**: 2025-11-12
|
|
207
|
+
**Status**: ✅ Ready for Release
|