-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Library Manager FAQ
From a list of public git repos, a job (a small program that runs regularly) fetches every tag, verifies library files and push the updated list onto the Arduino download server. Only valid libraries and their tags are published. A library is not valid when:
- it's not in 1.5 format and in particular it misses a library.properties file(1.5 format folder layout is not required)
- its version number is not semver compliant
- it contains
.exe
files - it contains a
.development
file - our antivirus finds infected files
The job runs every hour. If a new library has been released, you can expect it to be listed within the hour.
- Your library repository must be hosted on GitHub
- Ensure your library is complaint with 1.5 format(1.5 format folder layout is not required)
- Tag it and push the tag, or create a release with github "releases"
- Open an issue on Arduino's github, specifying the git repo (or github url) from where to download your library
Ensure you've changed version in your library.properties
. Then tag your library once more and push the new tag, or create a new release with github "releases".
Our job will eventually fetch and publish your new release.
In order to change contents of an already published library version, you can recreate its related tag (or github "release").
In order to unpublish a library version, delete its related tag/release. Deleted library versions are removed from the list every Sunday.
Open your sketchbook "libraries" folder with your OS file explorer (win: explorer, mac: finder, linux: nautilus, kfiles...) and delete the folder containing your library.
No, we don't have a delete button. Libraries managed by the Library Manager are mixed with those you've manually installed, maybe libraries you've written: making a mistake and deleting the wrong library is too easy. That's why trash bins exist. Since the IDE has no knowledge of your trash bin, we didn't implement a "delete" button.
Your repo is ok if its root folder contains file library.properties
and the rest of the library source code. If your library is stored into a subfolder, your repo it's not ok and we can't include your library in the list.
At the moment, the IDE handles one URL only, and that's written into the code (dev jargon: it's hardcoded). This is a known limitation. However, if you know your way through the code, you can change that URL with another one.
When I install a library that I know depends on another library, will this other library be installed as well?
No, at the moment library dependencies are ignored. Current Library Manager aims at simplifying your life when dealing with installing a single library. If a library depends on another one, you'll have to install both.
Library Manager installs libraries into your sketchbook "libraries" folder. Since you cannot create two folders with the same name, we can't install two versions of the same library. However, you can switch between library versions, by selecting the appropriate one from the version dropdown that pops up on Library Manager when more than one version is available.