Seeed-Studio / Seeed_SHT35

MIT License
7 stars 7 forks source link

Tags made without bumping version in `library.properties` #12

Open per1234 opened 1 year ago

per1234 commented 1 year ago

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:

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).

You can see it here:

https://github.com/Seeed-Studio/Seeed_SHT35/blob/v1.0.2/library.properties#L2

version=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:

  1. Update the version value in library.properties to the version that will be used for the new release.
  2. 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.


Originally reported at https://forum.arduino.cc/t/sht35-library-error/1110371