Acknowledged

bug: venusqm CIQ version isn't updated

On a physical venusqm the API level is 3.3.6, but in compiler.json it's only 3.3.1 and here: https://developer.garmin.com/connect-iq/compatible-devices/ it's only 3.3.0

Parents
  • > When your source code doesn't change at all, what is the reason that compilation with the new sdk limit the watches by them firmware? 

    It's because you're building with the new device files and the new device files guarantee new firmware / new CIQ version because the CIQ team assumes new devs want the newer CIQ. Run-time version checks and has checks only go so far, at some point devs will want users to have new firmware / CIQ features.

    Yes, you suggested that a better way to do this would be to use minApiVersion to force users to upgrade firmware, but obviously the CIQ team did not decide to go in that direction.

    As far as old device files go, as discussed in the other thread, the CIQ team (or at least one member) recognizes that devs may want to use old device files and old SDK.

    > Of course you are right on condition you add something to source code or something is deleted from API with the new firmware.

    No my point was that:

    - Kyle.ConnectIQ was right that manually editing the device files can cause a crash

    and

    - it has nothing to do with: "if app can crash just before I rebuild it without any changes in source code it means new firmware can have not only API but also duplicated api (for app built the older SDK and the newest). Or upgrading of firmware upgrading installed app to the newest CIQ."

    --

    Again, simple example:

    TL;DR I change firmwareVersion to older version, but I don't change connectIqVersion to the correct value for that firmware. I have a compile-time has check which returns true for feature X, but the app is installed on a device which does not have X, so the app crashes

Comment
  • > When your source code doesn't change at all, what is the reason that compilation with the new sdk limit the watches by them firmware? 

    It's because you're building with the new device files and the new device files guarantee new firmware / new CIQ version because the CIQ team assumes new devs want the newer CIQ. Run-time version checks and has checks only go so far, at some point devs will want users to have new firmware / CIQ features.

    Yes, you suggested that a better way to do this would be to use minApiVersion to force users to upgrade firmware, but obviously the CIQ team did not decide to go in that direction.

    As far as old device files go, as discussed in the other thread, the CIQ team (or at least one member) recognizes that devs may want to use old device files and old SDK.

    > Of course you are right on condition you add something to source code or something is deleted from API with the new firmware.

    No my point was that:

    - Kyle.ConnectIQ was right that manually editing the device files can cause a crash

    and

    - it has nothing to do with: "if app can crash just before I rebuild it without any changes in source code it means new firmware can have not only API but also duplicated api (for app built the older SDK and the newest). Or upgrading of firmware upgrading installed app to the newest CIQ."

    --

    Again, simple example:

    TL;DR I change firmwareVersion to older version, but I don't change connectIqVersion to the correct value for that firmware. I have a compile-time has check which returns true for feature X, but the app is installed on a device which does not have X, so the app crashes

Children
No Data