You can get it one of two ways:
- Use 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.2.2 released January 6, 2015.
- Download directly from our developer site at http://developer.garmin.com/connect-iq/sdk/
General Changes:
- Improve API documentation based on feedback.
- Replace the Input sample with a new version which tests more permutations of input than the original.
- Add support for “Tall Watch” profile, a new/upcoming device which has new screen dimensions.
- Add better documentation for each released sample within the README.
- Extend Primates sample to use a BehaviorDelegate and demonstrate multiple types of bitmaps.
- Update the Layouts sample to have a blue triangle as the background, and clean up build warnings.
- Add check to make sure the type of the application being compiled is supported by the device that’s being targeted.
- Add 16-bit alpha channel support to the resource compiler for compatible devices (Edge only).
- Add ability to preview data fields on the non-active profile without running them (Edge only).
- New memory management system which improves object creation/deletion performance by up to 3x (Edge only).
- Allow comments as last line of a Monkey C file.
- Deprecate loadProperties() and saveProperties().
- Allow Unicode support for custom fonts.
- Replace the Weather sample with JsonRequest which prints arguments duplicated and returned by httpbin.org, a free service.
Simulator Changes:
- Fix the encoding of Unicode characters in Communications.encodeURL() in the Simulator.
- Correct an issue that sometimes caused a System Error in the simulator when loading an app.
- Fix the data contained in ActivityMonitor.Info when Activity Tracking is disabled in the simulator.
- JSON responses greater than 512 characters are now allowed.
- Correct an issue with the Picker sample that caused the initial screen to not display correctly.
- Prevent an empty string from being chosen in the TextPicker, which emulates behavior on devices.
- The Simulator will now issue callbacks with negative Communications status codes.
- Fix Simulator crash when passing C format specifiers to print()/println().
- The Simulator now requires a minimum of 1 second when choosing a duration with a number picker.
- Fix incorrect purple (palette) definitions for semi-round watch, FR630, FR235 and FR230.
- Add landscape mode setting which allows Edge devices that support a landscape rotation (90/270 degrees) to run data fields in that mode.
- Resolve several crashes with the Simulator Memory Window.
- Support the FR230/235/630 in the Picker sample.
- Allow for simulating and FIT file playback of swim lap data.
- Add Fenix 3 HR, tactix Bravo and new APAC device support.
- Ensure onUpdate() is called during a push/pop/switch view operation.
- Only call onStop() once on during application shut-down.
- Do not respond to the ENTER key in Menus on devices that do not map it to onSelect().
- If an ON_BACK behavior is issued by pressing the ESC key, pop the view if the key is not used, i.e. false is returned by the input or behavior delegate. Emulates the current device behavior under these circumstances.
- Fix several crashes occurring in various circumstances when using the Number Picker.
API Additions:
- Add support for heart rate history on devices with wrist-based heart rate monitoring; see ActivityMonitor.getHeartRateHistory() for more details. The FR235 will support this new API at a later date.
Bug Fixes:
- Fix an issue preventing empty string resources from being defined. now works as expected.
- Fix an issue that caused devices to reboot when deleting a class that used WeakReference.
- A warning is now generated generated with Module.className.init(). Note: Module name is not checked against the module to which the parent class belongs.
- If a class does not initialize its parent class, the compiler now includes a relevant line number for that warning - the line of the class’s initialize if it exists and the line of the class declaration if it doesn’t.
- Adjust makeJsonRequest() to support Unicode in addition to 1252 as the source code page.
- Fix hidden keyword functionality in the compiler, which will now generate a symbol not found error when a hidden item is accessed out-of-scope.
- Exception errors now correctly print the call-stack.
- Defines a new error “Invalid Resource” which is issued when a bitmap is loaded that is not compiled for the current system.
- Invalid permissions errors will now display a “Permission Required” error versus the previous “Symbol Not Found Error”.
- Always ensure a call stack is printed when a Monkey C application crashes.
- Toybox::WatchUi::DataField::getBackgroundColor() will now return either COLOR_WHITE or COLOR_BLACK.
- Allow for :method to not be in the options hash, if passed into makeJsonRequest. This allows it to be null as it defaults to GET.
- Fix a crash that occurred when pushing a menu with no items (empty).
- Prevent pushing views in watch-faces or data-fields and generate an error.
- Time.today() now returns the locally adjusted time of the beginning of the day in Unix time.
- Fix several issues with stack trace handling.
- Prevent the system from running out of timers if both a widget and application are running.
- Fix System.exit() so that it doesn’t “crash” the application or fail to exit.
Known Issues:
- If an Exception is thrown from a catch block, the finally block of the current try/catch/finally will not be executed.
- The compiler is processing custom fonts in a way that allows for more data to be specified, but hand-made font files may display slightly different.
- Number fonts on the Edge 520 have not yet been finalized.