Out build pipeline just started failing because adafruit/Adafruit PN532 @ 1.2.2 is no longer available.
Library Manager: Installing adafruit/Adafruit PN532 @ 1.2.2
UnknownPackageError: Could not find the package with ‘adafruit/Adafruit PN532 @ 1.2.2’ requirements for your system ‘linux_x86_64’
Looking at the versions page (PlatformIO Registry) I no longer see the version there.
I worked around this by getting the library directly from the Github repository.
However, now our pipeline fails with the following error:
Platform Manager: Installing atmelavr @ 4.0.0
UnknownPackageError: Could not find the package with ‘atmelavr @ 4.0.0’ requirements for your system ‘linux_x86_64’
It seems strange that this version is suddenly missing, given that older versions are still available (PlatformIO Registry).
Could it be that there is an issue with the registry?
I’m seeing an similar issue now, issue started appearing around yesterday.
platformio.exe pkg install --global --platform "platformio/teensy@4.13.1"
Platform Manager: Installing platformio/teensy @ 4.13.1
UnknownPackageError: Could not find the package with 'platformio/teensy @ 4.13.1' requirements for your system 'windows_amd64'
And I see a similar pattern as mlout, that the specific release looks like it has disappeared from the Platformio Registry
What was the previous day when you used atmelavr @ 4.0.0/ Adafruit PN532 @ 1.2.2 ? We will investigate our auto-clean mechanism for unused versions for a long period. We have already disabled it while we understand the root of the issue. Sorry.
Meanwhile, please switch to the latest stable version of atmelavr platform. I’m sure it is compatible with your project.
The last time our pipeline downloaded them was February 22 8:56 AM GMT+1.
We cache these packages in our pipeline. Only if we change the platformio.ini (or the cache gets deleted) we download the packages again.
I’d like to point out that the issues I’m having are of the same nature as mlout, but with another platform (“platformio/teensy@4.13.1”), just in case that was not clear in my first post. Perhaps that helps troubleshooting in some way.
For me it’s still not possible to update at the moment unfortunately.
It really seems like there are missing versions of Teensy platform, comparing the versions found in the registry and the ones found in the Github repo.
Update: Now an additional package failed to be found
Tool Manager: Installing platformio/tool-scons @ ~4.40300.0
Error: Could not find the package with 'platformio/tool-scons @ ~4.40300.0' requirements for your system 'linux_x86_64'
Tool Manager: Installing platformio/tool-scons @ ~4.40400.0
Error: Could not find the package with 'platformio/tool-scons @ ~4.40400.0' requirements for your system 'linux_x86_64'
that caused the CI pipeline to fail. It was using a statically fixed older version of the PlatformIO core in a Docker container though, and updating to the newest core version quickly fixed the error.
This kind of behaviour is unexpected from a package repository service, and the early deletion of dependencies like SCons required for PlatformIO core means that older versions of PlatformIO no longer work.
There needs to be a way to archive older versions. For example, with Maven I can use a proxy that maintains a copy of everything that has ever been accessed.
I no longer have any confidence in using the registry for dependencies when arbitrary versions I may have pinned (because the later versions cause problems or have breaking changes) will just disappear.
This is what happens if you’re running v6.1.5 and then change to v6.1.14:
Tool Manager: Installing platformio/tool-scons @ ~4.40700.0
Downloading [####################################] 100%
Unpacking [####################################] 100%
Tool Manager: tool-scons@4.40700.0 has been installed!
Tool Manager: Removing tool-scons @ 4.40400.0
Tool Manager: tool-scons@4.40400.0 has been removed!
You then can’t revert back to v6.1.5 for any reason because the previous version will no longer work and your local copy has been deleted.
The complexity of the arduino-esp32 library structure makes it impossible to use a range of versions when making modifications to one part of it.
If you want people to upgrade old dependencies, add warnings to the the build output. Don’t go deleting files that make it impossible for older versions to build.
This is also happening for a number of Adafruit’s libraries and has completely broken my build process. Adafruit says this is platformio’s problem to solve:
I cannot upgrade to newer versions of these libraries at the moment as I’m busy with normal development.
I shouldn’t have to worry about versions of 3rd party dependencies that STILL EXIST on Github to go missing from the platformio-registry. I don’t care how old or unused they are.
I pin my versions so that I have a stable platform to develop on. When I have time I obviously look to upgrade to newer versions of the 3rd party libraries, but a lot of times there are breaking changes that require time to research.
For the time being I’m getting around this by pointing directly to Github for the source of the dependency: