Even though a 1.0.1 and 1.0.2 has been tagged in the repository. Only version 1.0.0 of the library is available from the Arduino Library Manager. This causes users to use an outdated version of the library that is missing the critical fix from https://github.com/Seeed-Studio/Seeed_SHT35/pull/5
2023/04/03 14:12:03 Checking out tag: v1.0.1
2023/04/03 14:12:03 Release Grove - I2C High Accuracy Temp_Humi Sensor SHT35:1.0.0 already loaded, skipping
2023/04/03 14:12:03 Checking out tag: v1.0.2
2023/04/03 14:12:04 Release Grove - I2C High Accuracy Temp_Humi Sensor SHT35:1.0.0 already loaded, skipping
Unfortunately, the logs don't communicate about this particular thing very clearly, but what this tells us is that the version value in the library.properties metadata file was not updated before creating the v1.0.1 and v1.0.2 tags (note that the indexer checked out tag v1.0.2 , only to find the release version was 1.0.0).
Even though Git tags are the unit of release for the Arduino Library Manager, all versioning is done according to the version field of the library.properties file.
For this reason, the indexer will reject any tag that has the same value in its version field as a release already in the index.
Solution
The solution is to make another release of the library:
Update the version value in library.properties to the version that will be used for the new release.
Create a new release or tag in the library repository.
The indexer system will pick up that new release and it will be available from Library Manager within a day.
The non-compliant release will still be missing, but since the newer release will be available, that is no problem.
The fact that the metadata update was forgotten two releases in a row indicates this problem is likely to occur again. I suggest producing a formal library release procedure document for use by the Seeed Studio developers when making releases of Seeed Studio's many valued Arduino libraries.
Even though a 1.0.1 and 1.0.2 has been tagged in the repository. Only version 1.0.0 of the library is available from the Arduino Library Manager. This causes users to use an outdated version of the library that is missing the critical fix from https://github.com/Seeed-Studio/Seeed_SHT35/pull/5
Explanation
The cause is shown here in the library's dedicated indexer logs web page:
Unfortunately, the logs don't communicate about this particular thing very clearly, but what this tells us is that the
version
value in thelibrary.properties
metadata file was not updated before creating thev1.0.1
andv1.0.2
tags (note that the indexer checked out tagv1.0.2
, only to find the release version was1.0.0
).You can see it here:
https://github.com/Seeed-Studio/Seeed_SHT35/blob/v1.0.2/library.properties#L2
Even though Git tags are the unit of release for the Arduino Library Manager, all versioning is done according to the
version
field of thelibrary.properties
file.For this reason, the indexer will reject any tag that has the same value in its
version
field as a release already in the index.Solution
The solution is to make another release of the library:
version
value inlibrary.properties
to the version that will be used for the new release.The indexer system will pick up that new release and it will be available from Library Manager within a day.
The non-compliant release will still be missing, but since the newer release will be available, that is no problem.
The fact that the metadata update was forgotten two releases in a row indicates this problem is likely to occur again. I suggest producing a formal library release procedure document for use by the Seeed Studio developers when making releases of Seeed Studio's many valued Arduino libraries.
Originally reported at https://forum.arduino.cc/t/sht35-library-error/1110371