JavaScript SDK version 4 - Changelog

Version 4.1.0

Summary

This release primarily improves Easy call-control with bug fixes and two new API functions: onDisconnect and teardown. In addition, it is now possible to provide an initial state for Easy Call Control. The updates make it easier to handle - and recover from - device changes and disconnects.

Features

  • Easy call-control: New APIs onDisconnect and teardown
  • Easy call-control: Optional initial state

Fixes

  • Easy call-control: Mute state of device and call control object could get out of synch when "hold" is used in MultiCallControl
  • Easy call-control: With some device, a delay of several seconds could occur between the user pressing the accept-call button and the action being signalled in the application
  • Connection errors during attach and detach

Known bugs and issues

  • Organization key and app name does not support UTF-8
    • The only supported character set is ASCII
  • REJECT_CALL signal is sometimes ignored on Linux by the easy call control modules
    • When running in Chrome on Linux with the Jabra Chrome Extension, REJECT_CALL signals from wireless devices are sometimes not caught properly by the library, and mistaken for an ACCEPT_CALL
  • Caveats with multiple connection paths to a device (e.g. headset connected both through USB cable and USB Bluetooth dongle)
    • Call lock interference between aplications using SDK Gen 2 and SDK Gen 3 (with child devices)
      • There are cases in which locking a child device simultaneously in SDK Generation 2 and SDK Generation 3 is possible. This may lead to interference in operation of the device in the two applications if trying to use the device simultaneously

Version 4.0.1

Summary

A small patch with bug fixes.

API Changes

  • Renamed IConfig.organizationKey to IConfig.partnerKey
  • Added ICallControl.onDisconnect
  • Removed IDevice.preferredConnection
  • Removed IDevice.isChild

Issues fixed

  • Changing connections after Call Control is started
    • Attaching new connections to a device after creating an ICallControl object will no longer cause issues with the internal state of the device. However, ICallControl uses only one of the available connections, and detaching that connection will cause the ICallControl object to seize operation. The necessary work is described in the Manage call part of the Developer's Guide.
  • Connecting child device via USB as charge-only will disable Call Control for this device
  • Removed deprecated members in IDevice
    • The deprecated members preferredConnection and isChild inside the IDevice interface have been removed.

Known bugs and issues

  • Organization key and app name does not support UTF-8
    • The only supported character set is ASCII
  • REJECT_CALL signal is sometimes ignored on Linux by the easy call control modules
    • When running in Chrome on Linux with the Jabra Chrome Extension, REJECT_CALL signals from wireless devices are sometimes not caught properly by the library, and mistaken for an ACCEPT_CALL
  • Caveats with multiple connection paths to a device (e.g. headset connected both through USB cable and USB Bluetooth dongle)
    • Call lock interference between aplications using SDK Gen 2 and SDK Gen 3 (with child devices)
      • There are cases in which locking a child device simultaneously in SDK Generation 2 and SDK Generation 3 is possible. This may lead to interference in operation of the device in the two applications if trying to use the device simultaneously

Version 4.0.0

Summary

Welcome to the initial release of the Jabra JavaScript SDK for USB products.

The SDK supports development of standalone applications for Node.js as well as in-browser applications using either a browser extension or the new WebHID standard. The installation requirements for each are different and described in the documentation.

Release details

Headline functionality supported in this release includes:

  • Device management.
  • Call control.
  • Easy call-control.
  • Handling of device signals related to call control.
  • Logging and error handling.
  • Support for child devices.
  • Support for WebHID.

The release includes:

  • Installation instructions for the supported platforms.
  • Overview and Getting Started documentation.
  • API reference documentation.
  • Code samples which show how to initialize the SDK and use it in various scenarios.
  • Interactive demos and accompanying tutorials.
  • Licensing information.

Known bugs and issues

  • Organization key and app name does not support UTF-8
    • The only supported character set is ASCII
  • REJECT_CALL signal is sometimes ignored on Linux by the easy call control modules
    • When running in Chrome on Linux with the Jabra Chrome Extension, REJECT_CALL signals from wireless devices are sometimes not caught properly by the library, and mistaken for an ACCEPT_CALL
  • Caveats with multiple connection paths to a device (e.g. headset connected both through USB cable and USB Bluetooth dongle)
    • Changing the connection path after a call-control session has been started
      • Adding or removing a connection path to an already connected device after a call-control session has been started will alter both the way the library communicates with the device, and the internal state of the device itself. Listening for changes in connections and resetting the state may alleviate this problem
    • Connecting child device via USB as charge-only will disable Call Control for this device
    • Call lock interference between aplications using SDK Gen 2 and SDK Gen 3 (with child devices)
      • There are cases in which locking a child device simultaneously in SDK Generation 2 and SDK Generation 3 is possible. This may lead to interference in operation of the device in the two applications if trying to use the device simultaneously