Forced to build with SDK 8.1.0?! Compatibility issues?

I was building with SDK 7.4.3. just fine, including building for the Fenix 8.

But than I opened the SDK manager and it started updating everything, devices and SDKS.

Without changing anything all of a sudden my builds are not working anymore: 

java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\michael\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-7.4.3-2024-12-11-90ec25e45\bin\monkeybrains.jar -o c:\Users\michael\Desktop\GarminTesting.prg -f c:\Users\michael\Documents\GitHub\GarminTesting\monkey.jungle -y c:\Users\michael\Documents\GitHub\GarminTesting\developer_key -d fenix8solar51mm -w

-> Now results in 

"ERROR: Device 'fenix8solar51mm' requires API Level '5.1.0'. The current SDK supports up to API Level '5.0.1'. Try updating your SDK using the Connect IQ SDK Manager."

Before the SDK (manager) updates it was working fine, including building for Fenix 8. Now all of a sudden it seems Fenix 9 requires API level 5.1.0 which requires SDK 8.1.0. The only way I get it working again is when i set 8.1.0 as my current SDK. But this SDK is only 1 month old. I always lived in the assumption to built with oldest SDK possible, so make sure that the app can be installed on devices that didnt have recent firmware updates. If I now built with 8.1.0 and release to the Connect IQ store, what are the risks? Could it be that many people can't install/update the app yet?

And how can an update of the SDK / SDK manager break my built? 

  • The device files were only updated after the 5.1.x production FW was available for those devices,

  • Hi Jim. I'm afraid this is not what I experience :(. In the Connect IQ store for my own FR255 I now see the message: "Device update needed. To get the latest version of this app, you must update your FR255 in garmin express". But there are no updates in Garmin Express. Also no updates available in the Connect APP. I have FW 22.24 on my FR255, no updates. 

  • On two other watches i have here, fenix 6 and venu 3 i dont have the problem.. 

  • That sounds bad. Not sure if it'll help (maybe in the long term) but I think it's worth to open a bug report. Include the link to the app and a screenshot where we can see the version of the app, one where we can see the FW version on the watch, one with the error message 

  • What do you see if you look at settings>system>about on your 255?  It could be you have the update installed, but the app store doesn't know it yet - this has happened in the past. Turn off BT on your watch and then back on - this has worked in the past.

    Also, look at settings>system>software update as you may have it, but it's not installed yet.

  • I always restart after upgrade. It helps sometimes. I have seen inconsistencies between the version installed on the watch and the version displayed in the connect website. That was not something I could "fix" (nothing I did changed it). After a few hours it was synced. Probably another case of the Garmin servers' strange syncing habits.

  • I have seen inconsistencies between the version installed on the watch and the version displayed in the connect website.

    Yeah, other users have reported problems with the CIQ store asking them to update firmware even though it was already up-to-date, and the assumption was always that the CIQ store's idea of the device's firmware version was out of date.

    But my horror scenario is that I launch my update to CIQ store, and users come back reporting that there is no Firmware update available (despite me being able to built /export for that device). Is this a valid concern? Or can I trust this won't happen?

    Aside from the bug which you recently reported, you should be able to trust that a firmware update will be available if the store demands it. Garmin typically doesn't update the device files with a given firmware version until a little while after that firmware has been 100% rolled out. (As a matter of fact, they sometimes have the opposite problem where the APAC firmware version in compiler.json is too far behind the actual device's firmware version, which causes problems when optimization is enabled and the dev uses has to check for certain API functionality, since - when optimization is enabled - such checks are resolved at compile time based on the device files.).

    In your case, with the FR255 issue, you can validate which firmware version the store should expect a user to have in order to install your app, if you still have the exported IQ file:

    - open fr255/compiler.json and look for the first (or sole) part number. I did so and it's "006-B3992-00"

    - open your IQ file with an app that can open ZIP files. (Rename it to .ZIP if you have to)

    - The top level of the IQ/ZIP contains manifest.xml (app manifest containing info for all part numbers)

    - Open manifest.xml and search for your part number

    - The entry for your part number should include minFirmwareVersion which should match firmwareVersion from fr255/compiler.json when you built the app. The store should require your device to have at least minFirmwareVersion

    Here's what I see for an app I built last year:

    <iq:product connectIqVersion="5.0.0" filename="006-B3992-00/mathfield5.prg" fitContributions="006-B3992-00/006-B3992-00-fit_contributions.json" id="fr255" minFirmwareVersion="1918" partNumber="006-B3992-00" settings="006-B3992-00/006-B3992-00-settings.json" ... />

    I should expect that anyone who tried to install that build of my app was required to have at least firmware 19.18 on their FR255, which would guarantee a CIQ version of at least 5.0.0.

  • Thanks @flocsy,   and   .. All the help very much appreciated. And restarting did the trick. Dont ask me why, but now i can install it.. 

  • Thanks!! good to know that my issue is just a glitch and that device files never get updated before the FW is 100% available. Little stress moments here, but restart of my watch did the trick