New way to organize devices in SDK manager

I just noticed that they changed how the devices are organized in SDK manager. By API level. I wonder why they did this change, and if this is a sign of some big changes to come. From the users' point of view this is not very logical IMHO. Devices will sometimes disappear from one category and climb up. I already foresee the posts from devs looking for disappeared devices :) 

What do you think is behind this change? There must be some good reason for this.

  • Interesting, thanks for posting this!

    It's not even correct, at least for me (on Mac):

    Unless "API level 5.1" means something other than what I assume it means.

    I wonder why they did this change, and if this is a sign of some big changes to come.

    imo Garmin has already made the big API level change about a year ago, which is to abandon all older devices (i.e. CIQ 3 devices) with respect to CIQ updates / new features as well as for the new (at the time) CIQ store monetization. Around the same time, Garmin suddenly changed all the old forums (everything for products that were released before roughly 2019) to read-only archives. I say sudden, because for a long time prior to that, all the old forums were read-write, and they were *not* archived on a rolling basis (contrary to one CIQ team member suggested when this was brought up *).

    [*] that was interesting to me as it suggests the CIQ team was out of loop on the forum archiving thing

    Previous to CIQ 5.0 / System 7, CIQ 3 and 4 devices received CIQ updates in parallel (with some of the nicer features being reserved for CIQ 4), which is why we the "system level" scheme was introduced in the first place. (e.g. System 6 was CIQ 3.4 and 4.2).

    But System 7 was CIQ 5.0 only, and of course only (formerly) CIQ 4 devices got the upgrade. CIQ 3 devices were left completely behind. Of course, System 8 is CIQ 5.1 only.

    Who knows, maybe the next step is to abandon those devices which are still stuck on CIQ 5.0 (which includes Venu 2 and Venu Sq 2)? But even Instinct 3 (released in 2025) is still on CIQ 5.0 (at least according to compiler.json for those CIQ devices.)

    I mean, obviously they haven't *literally* abandoned old devices (you can still make apps for them), but they aren't getting any new CIQ features, which means that the System Level scheme is kind of useless now. System 7 is CIQ 5.0 and System 8 is CIQ 5.1. If I were them I would just drop the "System Level" nomenclature since devs and users never really understood it anyway.

  • Btw, at least it's now possible to see the mapping of system levels to API levels from an official source: CURRENT_SDK/bin/compilerinfo.xml. It's enough to look at the latest sdk, as the list is cumulative. (in fact, one of the SDKs from last year had a bug in the list, so it's better to not look at the old versions)

     <targetSdkVersions>
            <version supportsBarrels="false" systemLevel="1">1.2.0</version>
            <version supportsBarrels="false" systemLevel="1">1.3.0</version>
            <version supportsBarrels="true" systemLevel="1">1.4.0</version>
            <version supportsBarrels="true" systemLevel="1">1.5.0</version>
            <version supportsBarrels="false" systemLevel="2">2.1.0</version>
            <version supportsBarrels="false" systemLevel="2">2.2.0</version>
            <version supportsBarrels="false" systemLevel="2">2.3.0</version>
            <version supportsBarrels="true" systemLevel="2">2.4.0</version>
            <version supportsBarrels="true" systemLevel="3">3.0.0</version>
            <version supportsBarrels="true" systemLevel="3">3.1.0</version>
            <version supportsBarrels="true" systemLevel="4">3.2.0</version>
            <version supportsBarrels="true" systemLevel="5">3.3.0</version>
            <version supportsBarrels="true" systemLevel="6">3.4.0</version>
            <version supportsBarrels="true" systemLevel="4">4.0.0</version>
            <version supportsBarrels="true" systemLevel="5">4.1.0</version>
            <version supportsBarrels="true" systemLevel="6">4.2.0</version>
            <version supportsBarrels="true" systemLevel="7">5.0.0</version>
            <version supportsBarrels="true" systemLevel="7">5.0.1</version>
            <version supportsBarrels="true" systemLevel="8">5.1.0</version>
            <version supportsBarrels="true" systemLevel="8">5.1.1</version>
        </targetSdkVersions>
    

    (The list is still called "targetSdkVersions", because once upon a time, the SDK version was the same as the API version, but it should really be called "targetApiVersions". Similar to how minApiLevel in manifest.xml used to be called minSdkVersion, and in fact you can still use the old name if you want.)

  • You must have a glitch, because I have all the devices, all the API levels, and under 5.1 much more:

  • You must have a glitch,

    Yes, that's what I tried to imply with "at least for me". Once again, sorry for not explicitly spelling things out.

    I think it's fairly obvious that Garmin wouldn't have released the sdk manager like that if *everyone* had that problem (including garmin testers).

    Thanks for letting me know that it works for you, although I also inferred from the text of the OP.

  • Anyway my wild guess is it's meant to be a convenience for devs and nothing more. The question of which devices support a given API level seems to come up in the forums quite a bit.

    But that's just a guess.

  • I will also say it would be nicer if we could control how the devices are grouped / filtered (so you could see it the old way if you wanted), but I'm pretty sure that's too much to ask