Skip to content

RELEASE_CHECKLIST_1.8.9

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

Release Checklist: v1.8.9

Status: ✅ READY FOR RELEASE
Date Prepared: November 12, 2025


✅ Pre-Release Checklist

Version Updates

  • Updated library.properties → 1.8.9
  • Updated library.json → 1.8.9
  • Updated package.json → 1.8.9
  • Updated src/painlessMesh.h header comment → 1.8.9
  • Updated src/AlteriomPainlessMesh.h version defines → 1.8.9
  • Version consistency verified across all files

Changelog

  • Added entry for [1.8.9] - 2025-11-12
  • Documented bridge self-registration fixes (Type 610 & 613)
  • Documented build system changes (Docker compiler)
  • Referenced COMPREHENSIVE_BROADCAST_ANALYSIS.md
  • Proper formatting with Fixed/Changed/Documentation sections

Documentation

  • Created RELEASE_NOTES_1.8.9.md with comprehensive details
  • Created COMPREHENSIVE_BROADCAST_ANALYSIS.md with technical analysis
  • Updated header file version comments
  • All documentation consistent with version 1.8.9

Code Quality

  • All fixes implemented in src/arduino/wifi.hpp
  • Build system updated (Dockerfile: clang++ → g++)
  • No breaking changes introduced
  • Backward compatible with previous versions

Testing

  • Standalone compilation test passed (g++)
  • All broadcast types reviewed (610, 611, 612, 613)
  • Pattern validation completed
  • Version consistency check passed

📋 Release Process

1. Commit Changes

git add .
git commit -m "release: v1.8.9 - Bridge self-registration fixes

- Fixed bridge status self-tracking (Type 610)
- Fixed bridge coordination priority tracking (Type 613)
- Updated version to 1.8.9 in all files
- Added comprehensive documentation and analysis
- Changed Docker compiler from clang++ to g++"

2. Create and Push Tag

git tag -a v1.8.9 -m "release: v1.8.9 - Bridge self-registration fixes"
git push origin main
git push origin v1.8.9

3. Create GitHub Release

  1. Go to https://github.com/Alteriom/painlessMesh/releases/new
  2. Select tag: v1.8.9
  3. Title: v1.8.9 - Bridge Self-Registration Fixes
  4. Copy content from RELEASE_NOTES_1.8.9.md
  5. Mark as latest release
  6. Publish release

4. Publish Packages

NPM (if configured)

npm publish

Arduino Library Manager

  • Automatically detected from GitHub release

PlatformIO

  • Automatically detected from GitHub release

📝 Key Changes Summary

Critical Fixes

  1. Bridge Status Broadcasting (Type 610)

    • Bridge nodes now register themselves in knownBridges list
    • Fixes "Known bridges: 0" error
    • Location: src/arduino/wifi.hpp lines ~746, ~1192
  2. Bridge Coordination (Type 613)

    • Bridge nodes now register own priority in bridgePriorities map
    • Fixes multi-bridge primary selection
    • Location: src/arduino/wifi.hpp lines ~803, ~869

Build Improvements

  • Docker compiler: clang++ → g++
  • Resolves template instantiation crashes

Documentation

  • COMPREHENSIVE_BROADCAST_ANALYSIS.md
  • RELEASE_NOTES_1.8.9.md
  • Updated header file versions

🎯 Testing Recommendations

After release, users should test:

  1. Single Bridge Setup

    • Bridge reports "Known bridges: 1" ✓
    • No "No primary bridge available!" errors ✓
  2. Multi-Bridge Setup

    • All bridges tracked in knownBridges ✓
    • Primary bridge selection works ✓
    • Priority coordination functional ✓
  3. Bridge Failover

    • Automatic promotion works ✓
    • Election system functional ✓
    • Takeover notifications sent ✓

📚 Related Files

Documentation

  • CHANGELOG.md - Version history
  • RELEASE_NOTES_1.8.9.md - Detailed release notes
  • COMPREHENSIVE_BROADCAST_ANALYSIS.md - Technical analysis
  • RELEASE_GUIDE.md - General release process

Modified Source Files

  • src/arduino/wifi.hpp - Bridge self-registration fixes
  • src/painlessMesh.h - Version update
  • src/AlteriomPainlessMesh.h - Version update
  • Dockerfile - Compiler change

Package Files

  • library.properties - Arduino metadata
  • library.json - PlatformIO metadata
  • package.json - NPM metadata

✅ Final Verification

Run these commands before tagging:

# Verify version consistency
$libJson = (Get-Content library.json | ConvertFrom-Json).version
$pkgJson = (Get-Content package.json | ConvertFrom-Json).version
Write-Host "library.json: $libJson, package.json: $pkgJson"

# Verify CHANGELOG has entry
Select-String -Path CHANGELOG.md -Pattern "\[1\.8\.9\]"

# Check git status
git status

Expected output:

  • All versions: 1.8.9 ✓
  • CHANGELOG contains [1.8.9] ✓
  • Working tree clean or only release commits ✓

🚀 Post-Release Tasks

  1. Announce Release

    • Update project README if needed
    • Post in community channels
    • Notify contributors
  2. Monitor Issues

    • Watch for bug reports
    • Track GitHub issues
    • Respond to user questions
  3. Update Documentation

    • Ensure wiki is current
    • Update examples if needed
    • Check external documentation links

📞 Support


Release Manager: Alteriom Team
Date Prepared: 2025-11-12
Status: ✅ Ready for Release

Clone this wiki locally