ARDUINO_IDE_VERSION_FIX_SUMMARY - Alteriom/painlessMesh GitHub Wiki
Arduino IDE Version Detection Issue - Resolution Summary
Issue Summary [RESOLVED]
Problem: Arduino IDE does not detect the current library version (1.8.2), shows old version (1.6.1).
Root Cause: The library name in library.properties was changed from Alteriom PainlessMesh (v1.6.1) to AlteriomPainlessMesh (v1.7.0+). Arduino Library Manager requires consistent library names and stopped indexing new releases when the name changed.
Impact: Users could only see and install version 1.6.1 via Arduino IDE Library Manager.
Solution: Reverted library name in library.properties back to original format with space: Alteriom PainlessMesh
Solution Overview
This issue has been RESOLVED. The library name has been corrected and Arduino Library Manager will resume indexing new releases.
What Has Been Done ✅
- Identified Root Cause: Library name changed from
Alteriom PainlessMeshtoAlteriomPainlessMesh - Verified Registration: Confirmed library is already in arduino/library-registry
- Fixed Library Name: Reverted
library.propertiesto use original name with space - Verified Compliance: All Arduino Library Manager requirements are met
- Updated Documentation: Comprehensive explanation and validation tools
- No Manual Action Required: Arduino will automatically index new releases
What Happens Next (Automatic)
Arduino Library Manager will automatically index the next release:
Step-by-Step Submission Process
- Open Browser → https://github.com/arduino/library-registry
- Click "Issues" → "New Issue"
- Copy Template from
.github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md - Paste and Submit the issue
- Wait for Review (1-2 weeks typical)
- Verify Registration in Arduino IDE
Quick Submission
Use this command to view the submission template:
cat .github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md
Then copy the entire content and create an issue at https://github.com/arduino/library-registry
What Happens After Submission
Immediate (Upon Approval)
- ✅ Library appears in Arduino IDE Library Manager
- ✅ Users can search for "AlteriomPainlessMesh"
- ✅ One-click installation available
- ✅ Version 1.8.2 (and all future releases) automatically indexed
Future Releases
- Automatic: Arduino Library Manager checks for updates every 24-48 hours
- No Manual Work: Just create GitHub releases with proper version tags
- Seamless Updates: Users see "Update" button in Library Manager
Files Created
Documentation
-
docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md(10KB)- Complete submission guide
- Pre-submission checklist
- Testing procedures
- Troubleshooting guide
- Post-registration maintenance
-
.github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md(5KB)- Ready-to-use submission template
- Includes all library features
- Highlights compliance status
- Lists all dependencies
Tools
scripts/validate-arduino-compliance.sh- Automated compliance checker
- Validates all requirements
- Checks version consistency
- Verifies file structure
- Current Status: ✅ All checks passing
Updated Documentation
-
RELEASE_GUIDE.md- Added Arduino Library Manager section
- Prominent registration warning
- Detailed submission instructions
-
README.md- Updated installation section
- Added registration status
- Provided temporary workarounds
Current Workarounds for Users
Until registration is complete, users can install the library via:
Option 1: PlatformIO (Recommended)
[env:esp32dev]
lib_deps = alteriom/AlteriomPainlessMesh@^1.8.2
Option 2: Manual ZIP Installation
- Download from https://github.com/Alteriom/painlessMesh/releases/latest
- Arduino IDE → Sketch → Include Library → Add .ZIP Library
- Select downloaded ZIP file
Option 3: Git Clone
cd ~/Arduino/libraries/
git clone https://github.com/Alteriom/painlessMesh.git AlteriomPainlessMesh
Option 4: NPM (for Node.js projects)
npm install @alteriom/painlessmesh
Validation Results
All Arduino Library Manager requirements verified:
✓ library.properties exists and is properly formatted
✓ Version field set to 1.8.2
✓ src/ directory with header files
✓ examples/ directory with 29 examples
✓ LICENSE file (LGPL-3.0)
✓ README.md with comprehensive documentation
✓ Git tags properly formatted (v1.8.2)
✓ Version consistency across all files
✓ Dependencies properly declared
✓ keywords.txt present
Run validation: ./scripts/validate-arduino-compliance.sh
Expected Timeline
| Phase | Duration | Status |
|---|---|---|
| Documentation & Validation | Complete | ✅ Done |
| Submission Creation | 5 minutes | ⏳ Pending |
| Arduino Team Review | 1-2 weeks | ⏳ Awaiting submission |
| Indexing & Availability | 24-48 hours | ⏳ After approval |
Benefits of Registration
For Users
- ✅ One-click installation via Arduino IDE
- ✅ Automatic update notifications
- ✅ Version selection in Library Manager
- ✅ Integration with Arduino's ecosystem
For Maintainers
- ✅ Wider user reach
- ✅ Automatic version indexing
- ✅ Reduced support burden
- ✅ Professional credibility
Support Resources
Documentation Files
- Submission Guide:
docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md - Submission Template:
.github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md - Release Guide:
RELEASE_GUIDE.md - Validation Script:
scripts/validate-arduino-compliance.sh
External Resources
- Arduino Library Registry: https://github.com/arduino/library-registry
- Submission Guidelines: https://support.arduino.cc/hc/en-us/articles/360012175419
- Library Specification: https://arduino.github.io/arduino-cli/latest/library-specification/
Getting Help
- Issues: https://github.com/Alteriom/painlessMesh/issues
- Discussions: https://github.com/Alteriom/painlessMesh/discussions
- Arduino Forum: https://forum.arduino.cc/c/using-arduino/libraries/67
Frequently Asked Questions
Q: Why isn't this automatic?
A: Arduino Library Manager requires one-time manual submission to their registry repository. After approval, all future releases are automatically indexed.
Q: How long does approval take?
A: Typically 1-2 weeks, but can vary depending on the Arduino team's review queue.
Q: Will this break existing users?
A: No. Users already using PlatformIO, manual installation, or NPM will continue working. This only adds Arduino IDE support.
Q: What if the submission is rejected?
A: Unlikely, as all requirements are met. If issues are found, the Arduino team will provide feedback to address them.
Q: Do we need to update library.properties?
A: No. The current library.properties is compliant and ready for submission.
Next Steps Summary
For Repository Maintainer:
- Review
.github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md - Create issue at https://github.com/arduino/library-registry
- Monitor issue for Arduino team feedback
- Verify library appears in Arduino IDE after approval
For Users (Current):
- Use PlatformIO, manual ZIP, or git clone installation
- All features and updates available via these methods
- Arduino IDE support coming after registration
For Future:
- After registration, Arduino IDE installation works automatically
- No additional work needed for future releases
- Semantic version tags automatically indexed
Summary
✅ Problem Identified: Library not in Arduino Library Manager registry
✅ Solution Prepared: Documentation and submission template ready
✅ Requirements Met: All compliance checks passing
✅ Action Required: One-time manual submission by maintainer
✅ Workarounds Available: PlatformIO, ZIP, git clone all functional
✅ Future Automatic: After registration, all releases auto-indexed
Estimated Resolution: 1-3 weeks after submission