We've released Connect IQ SDK version 4.1.6, which includes new compiler optimization features, analog clock hand support for Instinct Crossover and several bug fixes. We've also updated the VS Code extension to 1.0.7, which should also be installed with 4.1.6 to ensure proper function. Here is a list of the changes and updates:

General Changes

  • Add analog clock hand APIs.
  • Add new Activity.SPORT_* and Activity.SUB_SPORT_* enum values.
  • Add GPS Mode API.
  • Change Ant.BurstPayload.size and Ant.BurstPayload.burstDataBlob to private.
  • Fix an issue that prevented data fields with developer data from being able to start if they previously crashed.
  • Fix a text rendering issue with transparent background color on forerunner55.
  • Fix unicode characters being dropped off in debugger messages for string variables.
  • Update typing on Media.setAlbumArt, Communications.openWebpage, and WatchUi.switchToView.

Simulator Changes

  • Add GPS Modes support.
  • Add support for Instinct Crossover.
  • Fix RunNoEvil failed to start error for music apps issue.
  • Fix music app crash when changing settings.
  • Fix an issue that caused the DeviceSettings.isTouchScreen flag to be improperly set after launching a device.
  • Update heart rate zone labels in the user profile dialog.
  • Allow starting a stopped activity in the simulator.

Compiler Changes

  • Add compiler optimizations.
  • Add compiler logging for submitting bug reports.
  • Add resource file information to resource errors and warnings.
  • Add support for setting ‘project.typecheck’ and ‘project.optimization’ properties in a Jungle file.
  • Enable type checking by default.
  • Allow WeakReference to be explicitly or implicitly casted.
  • Fix the type checker to only generate a type check warning when doing a ‘instanceof’ operation on type Any.
  • Fix bug in converting settings resources to JSON.
  • Fix bug in check for ambiguous import statements, which caused an error to be generated for duplicate import statements.
  • Fix a bug in code generation that caused classes with the same name as the extends class name to be looked up rather than the actual super class.
  • Fix a bug where nested Array and Dictionary types caused an error.
  • Fix a bug where imported modules were applied outside of their scope.
  • Fix a bug where local variables with the same name as an imported module were sometimes mistakenly treated as the imported module.
  • Fix a bug where some const variables were using the inferred type of the variable instead of the type declared during initialization.
  • Fix a bug which did not allow nested classes to lookup symbols in its module hierarchy.
  • Fix bugs in the type checker’s lookup algorithm, which should replicate the virtual machine’s lookup algorithm.
  • Add type check error when casting a function definition.
  • Ignore invalid devices with MonkeyMotion entry point when using the -m option.
  • Fix a bug when using the ‘me’ keyword that caused type checking to error that the ‘me’ variable is uninitialized.
  • Fix a type checking bug in expression type testing for String additions with Boolean and Symbol types.