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 ✅

  1. Identified Root Cause: Library name changed from Alteriom PainlessMesh to AlteriomPainlessMesh
  2. Verified Registration: Confirmed library is already in arduino/library-registry
  3. Fixed Library Name: Reverted library.properties to use original name with space
  4. Verified Compliance: All Arduino Library Manager requirements are met
  5. Updated Documentation: Comprehensive explanation and validation tools
  6. 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

  1. Open Browser → https://github.com/arduino/library-registry
  2. Click "Issues" → "New Issue"
  3. Copy Template from .github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md
  4. Paste and Submit the issue
  5. Wait for Review (1-2 weeks typical)
  6. 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

  1. docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md (10KB)

    • Complete submission guide
    • Pre-submission checklist
    • Testing procedures
    • Troubleshooting guide
    • Post-registration maintenance
  2. .github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md (5KB)

    • Ready-to-use submission template
    • Includes all library features
    • Highlights compliance status
    • Lists all dependencies

Tools

  1. scripts/validate-arduino-compliance.sh
    • Automated compliance checker
    • Validates all requirements
    • Checks version consistency
    • Verifies file structure
    • Current Status: ✅ All checks passing

Updated Documentation

  1. RELEASE_GUIDE.md

    • Added Arduino Library Manager section
    • Prominent registration warning
    • Detailed submission instructions
  2. 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

  1. Download from https://github.com/Alteriom/painlessMesh/releases/latest
  2. Arduino IDE → Sketch → Include Library → Add .ZIP Library
  3. 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

Getting Help

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:

  1. Review .github/ARDUINO_LIBRARY_REGISTRY_SUBMISSION.md
  2. Create issue at https://github.com/arduino/library-registry
  3. Monitor issue for Arduino team feedback
  4. 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