Connect IQ 1.1.4 SDK Available!

We released version 1.1.4 of the Connect IQ SDK today!

You may also download through the Connect IQ SDK Manager in Eclipse, by clicking the Connect IQ menu, selecting Open SDK Manager, and then clicking the Download button for Connect IQ SDK v1.1.4 released August 26, 2015.

It is also available for download here: http://developer.garmin.com/connect-iq/sdk/

Release Notes:

  • Modified grammar to allow an expanded set of unicode characters in the ID definition. Fixes a bug where non-latin characters couldn't be used in hard coded strings because the compiler-generated label was using the string value (which contained non-latin characters).
  • Fixed an issue with using string resources qualified using 'zht' and 'zhs' instead of 'cht' and 'chs' when running the app export wizard
  • Fixed a simulator-only memory leak in non-simple data fields when an application returned a value from the 'compute()' function.
  • Fixed an issue where a large string value could crash the memory window
  • With specific projects a bug existed that didn't allow for the application icon to be overridden properly. This could cause compiler errors if the icon to be overridden was bigger than what the device allowed.
  • Added the `semi_round_watch` profile to `devices.xml` to support new and exciting devices that will be launching to support Connect IQ.
  • Fixed an issue where behavior delegate events were being sent when keys were pressed and released, and not only on the action event for those keys
  • Fixed an issue where the system pen width could be altered and affect native application behavior
  • Now exits with an error if an application tries to push or switch to something that is not a view
  • Increased reliability and speed of JSON requests on devices
  • Fixed an issue where a widget was able to pop the base view and put the unit into an undefined state, causing the unit to hang:
    • Menu 1: Pop view and push menu 2
    • Menu 2: Pop view (and auto pop pops base view)
    • The application will exit with an error in this situation.


  • Fixed an issue where the generic delegate was not being passed to the progress bar in order for it to be cancelled (if present)
  • Now always creates the `CIQ_LOG.txt` in the event of an application crash
  • Standardized the output of Error/Warning logging and prevent two errors being issued for a single instance
  • Fixed a memory leak in [`Toybox.Lang.Dictionary.values()`][Dictionary]
  • Improved memory usage reporting on the simulator in Mac OS X
  • Support new Asia/Pacific SKUs for vivoactive, fenix 3 and epix
  • Several other minor bug fixes and improvements
  • Thanks, especially for the JSON improvements.
  • How to upgrade?

    What is the best way to upgrade? Is it simply a matter or replacing the installed directory with the new one, or do we need to do something for Eclipse as well? Or in our workspace? If it makes a difference, I'm using windows.
  • What is the best way to upgrade? Is it simply a matter or replacing the installed directory with the new one, or do we need to do something for Eclipse as well? Or in our workspace? If it makes a difference, I'm using windows.


    Like it says in the first post, the easiest way is to use Eclipse - click on the "ConnectIQ menu and then "SDK Manager".

    Bear in mind that some of the improvements won't be on the real devices until they get FW for the 1.1.4 VM.
  • I saw that but it was not clear to me what this would do and how to upgrade after. I tried this on a test system and see that this downloads and then sets the root directory based on where it was downloaded. Looks like I need to re-organise my directory structure a bit better. Thanks for the pointer.
  • Wanted to see if anyone else is having the same issue. When I run my data field in the simulator with version 1.1.3 it runs correctly as a 920XT with 11kb of use. When I run my data field using version 1.1.4 I get a out of memory error and only after removing some code can I get it to run. Does this mean I can't rebuild using 1.1.4 or is there something I am missing here?
  • i have this problem too. Tho I did try to go back to 1.1.3 and error also occur so I tot it was my code. But.. It was working previously with 1.1.3 ..

    I reverted to older code due to this.
  • I'll look into this. I haven't heard any similar reports, but perhaps each of you are doing more with your data fields than most are. What kind of operations are the sections of code doing that you had to remove/disable?
  • In order to add more functionality, support for multiple devices had to be removed to get the simulator to run the 920XT version. I didn't have the same problem in the simulator with Fenix 3 mode and neither versions had problems with 1.1.3. Previously I had asked about removing and re-adding projects to the store for this particular reason. I am breaking them into separate projects to reduce the memory foot print. In my case I think it has less to do with the type of operation so much as it is the amount of code. Personally I am starting to lean towards developing specifically for the watch I own because there are just to many variations between watches that I can't verify/test because I don't own the devices. This is a hobby for me building things I will use and just figured share if you can so it is not really an option for me to purchase one of each device nor is there a good way to generate revenue to procure resources. It would be great to see some alignment of platforms to support similar fonts and behaviors which would increase confidence on how it will look and behave. Thanks for working with us to keep things moving forward and I am confident in the end things will smooth out.
  • I basically splitted my app from 3 in 1 into 1 in 1 due to memory footprint and support for multiple devices..

    EPIX is the worst due to the font. it's either too BIG or too small.. Custom fonts takes up 1-2kb
  • Out of Memory issues with 1.1.4

    I have the same data field memory issues as reported above. Using the 1.1.3 SDK a datafield uses 13kB. Using the 1.1.4 SDK I immediately get out of memory errors for that datafield, and for the other two that i've developed. All of these datafields use custom fonts. I'm pretty blocked developing any of these datafields further until I know if there's a fix coming.

    Example code that uses 12KB (on a Vivoactive) under 1.1.3 but immediately Out of Memory errors under 1.1.4 is at https://gitlab.com/nz_brian/garmin.datafield.doubletime

    Another example is the 0.0.4 release of https://gitlab.com/nz_brian/garmin.datafield.timeanddistance. The current 0.0.5 version now works in 1.1.4 as I've removed the custom font.