I noticed that I forgot to include a fix in README.md.
The fix was included in the Github v1.1.0 release of the library, but I forgot to include the updated README.md when creating the library package for PlatformIO.
When the library v1.1.0 gets downloaded from PlatformIO it contains the old non-updated README.md.
When v1.1.0 is downloaded from Github the updated README.md is included.
I read in the documentation (or on screen messages) that a specific library version can be published only one single time which means that unpublishing it and then repushing it with the same library version shall not work.
Changing the library version is not an option because nothing has changed. The actual version and its contents are defined by the repository on Github.
There is only a mismatch in the package published on PlatformIO.
How can I fix this mismatch between PlatformIO and Github without changing te version number and corresponding release on Github?
pio package unpublish lnlp/EasyLed@1.1.0
Package version has been successfully removed from the registry
pio package publish EasyLed-1.1.0.tar.gz
Error: The package EasyLed@1.1.0 is already published in registry.
It will be helpful to add this information to the pio unpublish documentation.
It would be more useful if an unpublish-ed package can be re-published with the same version (for situations like this).
I still do not understand what is wrong with our registry. You published a package with version 1.1.0. Now, you changed 1 byte. The question: “Are these packages identical?”. If no, please publish 1.1.1 or 1.2.0. It’s registry. It’s impossible to host 2 packages with DIFFERENT contents under the same version.
The problem is that the EasyLed library package which contains the EasyLed library v1.1.0 does not 100% match the files in the corresponding Github repository.
Because I apparently made a mistake when creating the PlatformIO library package.
No that is incorrect. That was in the latest commit which was committed to Github after v1.1.0 was released on Github.
To repeat what I tried to explain above:
EasyLed release v1.1.0 released on GitHub
PlatformIO library package created from local repository.
README.md was updated (fix version in shield) edited on (in Github Web UI) and committed on Github BEFORE Github release v1.1.0 was created. The fixed README.md is part of release v1.1.0.
I forgot to do pull on local repo so local repo did not include the updated README.md. But library.json and library.properties already contained the correct library version number 1.1.0.
I then created a publish package from local repo and published it to PlatformIO.
When downloading the library from PlatformIO in VSCode I noticed it contains the old unfixed README.md, while the rrepository release v1.1.0 on Github does contain the fixed README.md.
So the PlatformIO package contains an error. It does not match 100% the repository on Github which is not good.
This is about a fix in README.md that is now not included on PlatformIO, which should be corrected. The package in PlatformIO should match the released version on Github.
It would be absurd having to change the version of the library while no functionality of the code has been changed.
If I would not have created and uploaded a package explicitly but the library would have been picked up by the crawler then the problem would not have existed at all. The crawler would use the contents from Github. There would not be a mismatch between Github and the PlatformIO library package.
I tried to play nicely and follow PlatformIO rules where possible, but it is still possible to make (small) mistakes.
I conclude that it is currenly possible to create a PlatformIO library package based on a Github repository for which the URL needs to be specified, but then end up with a PlatformIO package with contents that does not match the same files in the Github repository. Isn’t that strange?
I just want to make available on Platform my EasyLed v1.1.0 library with the same version of the files as contained in the v1.1.0 release (tage) on Github.