Repository navigation
RELEASE_NOTES_v1.8.3
Release Date: November 11, 2025
Type: Patch Release - Bug Fix
Breaking Changes: None - 100% Backward Compatible
Version 1.8.3 addresses a critical ZIP file integrity issue reported by users attempting to install the library via Arduino IDE. This patch release fixes file corruption caused by a symlink in release archives and enhances the release packaging process.
Key Fix: Arduino IDE installation now works correctly with clean ZIP packages
Users reported ZIP file corruption when attempting to install AlteriomPainlessMesh via Arduino IDE's "Add .ZIP Library" feature:
- Arduino IDE crashed during installation
- ZIP file reported as corrupted or unreadable
- Installation hung indefinitely
- Manual extraction failed
Reported by: @woodlist
The _codeql_detected_source_root symlink (automatically created by GitHub Actions CodeQL scanner) was being included in release archives. This circular symlink caused:
- ZIP file corruption during archive creation
- Arduino IDE crashes when parsing the malformed archive
- Installation failures across all platforms
1. Removed Problematic Symlink
- Deleted
_codeql_detected_source_rootsymlink from repository - Added to
.gitignoreto prevent automatic recreation by CodeQL
2. Enhanced Release Packaging
- Added comprehensive
.gitattributesexport-ignore rules - Excludes development files from Git-based archives
- Reduces package size and improves cleanliness
3. Improved Archive Structure
- ZIP packages now contain only essential library files
- Package size reduced from 840K to 420K (50% reduction)
- Cleaner structure improves Arduino IDE compatibility
The following development files are now excluded via .gitattributes export-ignore:
Development Directories:
-
.github/- GitHub Actions workflows and configurations -
scripts/- Build and release automation scripts -
test/- Unit tests and test infrastructure -
docs/,docs-website/,docsify-site/,doxygen/- Documentation sources -
website/,extras/,paypal/- Website and miscellaneous files
Build & Configuration:
-
CMakeLists.txt,ninja.build,.ninja*- Build system files -
docker-compose.yml,Dockerfile,docker-test.ps1- Docker configurations -
autotest.sh,run-tests.sh- Testing scripts -
mcp-server.json,copilot-agents.json- Development tools
Package Management:
-
.npmignore,.npmrc,package-lock.json- NPM-specific files
Clean, Arduino-ready packages now contain:
- ✅
src/- Library source code - ✅
examples/- Example sketches - ✅
library.properties- Arduino library metadata - ✅
README.md- Getting started guide - ✅
LICENSE- License information - ✅
CHANGELOG.md- Version history - ✅
keywords.txt- Arduino syntax highlighting
Added comprehensive version documentation to painlessMesh.h main header file as requested by @woodlist:
/**
* @file painlessMesh.h
* @brief Main header file for Alteriom painlessMesh library
*
* @version 1.8.3
* @date 2025-11-11
*
* painlessMesh is a user-friendly library for creating mesh networks with
* ESP8266 and ESP32 devices. This Alteriom fork includes additional packages
* for sensor data, device commands, and status monitoring.
*
* For the latest version and updates, visit:
* https://github.com/Alteriom/painlessMesh
*/Benefits:
- Version information visible when browsing source code
- Release date provides temporal context
- Repository URL helps users find updates
- Improves library discoverability and documentation
Method 1: Library Manager (Recommended)
- Open Arduino IDE
- Go to:
Sketch → Include Library → Manage Libraries - Search: "Alteriom PainlessMesh"
- Click: Install
Method 2: Manual ZIP Installation (Now Fixed!)
- Download: painlessMesh-v1.8.3.zip
- Arduino IDE →
Sketch → Include Library → Add .ZIP Library - Select the downloaded ZIP file
- Wait for installation to complete
- Verify:
Sketch → Include Library→ see "Alteriom PainlessMesh"
Dependencies (install separately via Library Manager):
- ArduinoJson (v6.21.x or v7.x)
- TaskScheduler (v3.7.0+)
[env:esp32]
platform = espressif32
framework = arduino
lib_deps =
alteriom/painlessMesh@^1.8.3
bblanchon/ArduinoJson@^7.4.2
arkhipenko/TaskScheduler@^4.0.0npm install @alteriom/painlessmesh@1.8.3✅ Build Verification
- All 110 targets compiled successfully
- No compiler warnings or errors
- ESP32, ESP8266, and ESP32-C6 platform support verified
✅ Test Suite
- 1000+ test assertions passed
- No regressions detected
- All existing functionality working correctly
✅ Release Validation
- Release agent: 20/20 checks passed
- Version consistency verified across all files
- CHANGELOG entry complete with fix details
- No breaking changes detected
Created and verified painlessMesh-v1.8.3.zip:
✅ Package Size: 420K (clean, optimized)
✅ Structure: Clean, Arduino-compatible
✅ Contents: Only essential library files
✅ No Symlinks: Verified absent
✅ No Test Files: Excluded correctly
✅ No .github/: Excluded correctly
✅ No scripts/: Excluded correctly
✅ Installation: Tested successfully in Arduino IDE
Archive Contents Summary:
painlessMesh/
├── src/ # Library source (1.2MB)
├── examples/ # Example sketches (45 examples)
├── library.properties # Arduino metadata
├── README.md # Getting started guide
├── LICENSE # LGPL-3.0 license
├── CHANGELOG.md # Version history
└── keywords.txt # Syntax highlighting
Version Numbers:
-
library.properties: 1.8.3 -
library.json: 1.8.3 -
package.json: 1.8.3 -
painlessMesh.h: 1.8.3
Release Date: November 11, 2025
Git Tag: v1.8.3
No Code Changes Required - This is a bug fix release affecting only packaging and installation.
Arduino IDE Users:
- Remove old version:
Sketch → Include Library → Manage Libraries - Search "Alteriom PainlessMesh"
- Click "Update" or "Install" for v1.8.3
PlatformIO Users:
- Update
platformio.ini:alteriom/painlessMesh@^1.8.3 - Run:
pio lib update
NPM Users:
npm update @alteriom/painlessmeshManual Installation Users:
- Download new ZIP from Releases
- Install via Arduino IDE → Add .ZIP Library
None - This release specifically addresses the ZIP file integrity issue.
Issue Report: @woodlist
Root Cause Analysis: @sparck75, @Copilot
Fix Implementation: @Copilot
Testing: Alteriom Team
Special thanks to @woodlist for the detailed bug report and patience during investigation.
v1.8.3 Available On:
- ✅ GitHub Releases
- ✅ NPM Registry
- ✅ PlatformIO Registry
- ✅ Arduino Library Manager (within 24-48 hours)
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: https://alteriom.github.io/painlessMesh/
Previous Release: v1.8.2 - Multi-Bridge Coordination & Message Queue
Next Release: TBD