cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Usage Intelligence SDK Versions and Updates - Changelog

Usage Intelligence SDK Versions and Updates - Changelog

Below you will find a list of version numbers corresponding to the public builds for the Usage Intelligence SDK. Usage Intelligence provides individual SDKs for .NET, C++, Python, and Windows Store Apps. SDK version numbers are kept in sync between the different languages, therefore the version numbers listed below are valid for all languages unless specified otherwise.

Obtaining the Latest SDK

You may download the latest Usage Intelligence SDK here, where you will also find the full API documentation for your preferred language.

Updating the SDK

We do our best to keep backward compatibility in the API between version updates, therefore we highly recommend that you keep your end-clients updated with the latest version of the Usage Intelligence SDK.

Changelog 

5.6.1 (January 2024)

The Usage Intelligence SDK now supports macOS 13.2.1.

5.6.1.43be9a8 (15 September 2023)

Vulnerabilities that existed in the 5.6.0 release of the C++ for Windows SDK have been fixed, and the updated version is available for download on the Usage Intelligence SDK Download Links and API Documentation page.

5.6.1.001 (6 June 2022)

A release of the .NET SDK that includes .NET SDK multiplatform dll for running the RUI, which is built on version .NET 6.0 and .NET standard 2.0. Works similar as the old .NET framework version and there is no change in the API implementation. It is available in a separate download package (.NET standard SDK and .NET 6.0 SDK).

5.6.1.24853 (30 December 2021)

A release of the Java SDK that includes jar for running RUI. It is available in a separate download package (Usage Intelligence Java SDK - 5.6.1). Fixed the critical zero-day vulnerability reported in Apache Log4j2 by upgrading the Log4j2 version from  2.8.2 to 2.17.0 version. Other SDKs not updated and not included in this packaging.

The following vulnerabilities are fixed in this release CVE-2021-44228, CVE-2021-45046, CVE-2021-45105.  

5.6.1.24333 (16 April 2021)

  • A release of the Mac OSX SDK that includes an Intel, ARM, and Universal dylib for running RUI is available in a separate download package (Usage Intelligence Mac OSX SDK - 5.6.1). This version supports the Apple Silicon M1 machines and provides for the deployment of either an ARM-native or a universal dylib for those customers requiring it.  Other SDKs not updated and not included in this packaging.

5.6.0.24324 (1 April 2021)

  • Update to the Windows SDK (C++ and .NET) to replace the revoked certificate.  Other SDKs not updated.

5.6.0.24307 (23 March 2021)

  • Update to the Windows SDK (C++ and .NET) to get more accurate CPU information on devices supporting Microsoft ARM chip. Other SDKs unaffected but updated to the same revision number. Java SDK is unchanged from November 2020 release. 

5.6.0 (10 November 2020)

  • Changed whitelist and blacklist terminology to more accurate terminology allowed and blocked. Note users of the license calls may need to change code.
  • Updated mbedTLS library to version 2.16.8
  • Handle issue in Java SDK when X11 display value set incorrectly

5.5.2 Build 23986 (15 September 2020) 

  • Expands the precision of custom numeric double values.

5.5.2 Build 23794 (28 August 2020) Java SDK

  • Fixes an issue in the Java SDK where it would fail when running on Java 14 and greater.

5.5.2 (16 March 2020)

  • Update to mbedtls version used (now 2.16.5)
  • Docker VM detection for WIndows and Linux.

5.5.1 (25 November 2019)

  • Eliminates false-positive reporting of malware by Malwarebytes Premium when used in a plug-in type environment. (Windows-only)
  • Added additional method to get OS ID from Java SDK when running on Linux (Java SDK running on Linux only)

5.5.0 Build 22856 (9 October 2019)

  • Improved accuracy for detecting laptop vs desktop machines running on Windows

5.5.0 Build 22772 (23 September 2019)

  • Minor API cleanup in Mac OSX SDK

5.5.0 Build 22667 (27 August 2019)

  • Fixed issue with .NET SDK that caused a crash when calling RUISDK.SetReachOutOnAutoSync()
  • Java SDK updated to make failed system data reader calls less visible

5.5.0 (9 July 2019)

  • Apple Notarization Support – For customers requiring Apple Notarization, the RUI SDK now includes the RUI dylib signed so that it can be included in applications that required Apple Notarization. Also, the zip file provided for the Mac OS X install is notarized and passes notarization checks on Mac OS X Systems that enforce those checks.
  • Linux VM Check has been updated to eliminate issues on some Linux distributions that have security restrictions on certain system files.

5.4.3 (29 March 2019)

  • Fixed issue in .NET SDK causing an exception to be thrown if category or event name is set as null in event tracking.

5.4.2 (21 March 2019)

  • Fixed occasional crash in Windows SDK when application using the Windows SDK was launched through Windows Automation API.
  • Fixed issue running Windows OS in Virtual Machine where VM doesn’t report all disk information – behavior was that createConfig call returns -999.

5.4.1 (14 January 2019)

  • Fixed rare crash on Mac OS X when attached Display fails to register correctly in Mac OS X.

5.4.0 Build 21126 JAVA (23 October 2018)

  • Fixed time zone issue that was causing machine time zone to be reported 1 hour off.

5.4.0 Build 21075 (15 October 2018)

  • Fixed issue in .NET SDK which was referencing an older version of the base library.

5.4.0 (9 October 2018)

  • Added mechanisms to suspend and resume automatic ReachOut
  • Added collection of screen pixels-per-inch
  • Added collection of Java JVM RAM (Java SDK only)
  • Added collection of touch screen presence (native (non-Java) SDKs only)

5.3.1 (22 August 2018)

  • Fixed issue with custom license type 3 not being accepted as a valid key type.

5.3.0 Build 20709 (25 July 2018)

  • Fixed memory leak in C# .NET SDK caused by not freeing memory when transforming string parameters.
  • Removed dependency on libuuid from Linux and Mac SDKs.

5.3.0 Build 20569 (14 June 2018)

  • Fixed issue in Usage Intelligence Machine ID collection causing mismatching IDs affecting native Linux and Mac SDKs.

5.3.0 (11 June 2018)

  • Added VM detection on all platforms except Java.
  • Fixed issue where under certain circumstances unnecessary syncs were being performed.

5.2.0 (28 February 2018)

  • Fixed issue in custom ReachOut handler mechanism
  • Improved syncing mechanism when multiple long-running processes sharing the same config and rarely writing an event exist
  • New API call to get the ClientID
  • Improved display resolution detection in Linux
  • Improved collection of .NET release information
  • New collection of Windows Update Build Revision data
  • Fix for issue with AutoSync requesting new ReachOut when the handler is still busy

5.1.0 Build 18333 JAVA (23 January 2018)

  • Fixed issue on Ubuntu and some other Linux distribution which was causing the OS type to be reported incorrectly.
  • Fixed issue on Ubuntu and some other Linux distribution which was causing the number of monitors to be reported incorrectly.

5.1.0 JAVA (12 December 2017)

  • First Java SDK Release

5.1.0 Build 18167 (3 November 2017)

  • Fixed issue in Mac SDK which was causing some applications not to be able to link to the dynamic library.
  • Fixed issue in .NET SDK which was causing the DLL path to be ignored.

5.1.0 Build 18053 (18 October 2017)

  • Fixed issue in Linux SDK that was causing internal warning messages to be displayed on the command-line on some distributions.

5.1.0 Build 18053 (11 October 2017)

  • Removed redundant #import in Objective-C header file.

5.1.0 Build 17988 (22 September 2017)

  • Fixed issues regarding HTTPS via proxy on Linux and Mac.
  • Fixed issue regarding reverse time-warp.

5.1.0 Build 17900 (29 August 2017)

  • Fixed minor naming issue in Mac OSX header file.

5.1.0 Build 17885 (18 August 2017)

  • Fixed issues with Unicode characters in .NET edition.
  • Changed rules regarding new event names.

5.1.0 Build 17865 (8 August 2017)

  • Eliminated Windows C++ library dependencies.
  • Modified custom event and exception absolute limits.

5.1.0 (25 July 2017)

  • Added opt-out mechanism.
  • Fixed titlebar issue withReachOut auto-popup window on Windows SDKs. Titlebar was showing URL instead of title in some scenarios.

4.0.7 Build 1240 (17 July 2017)

  • Fixed titlebar issue withReachOut auto-popup window on Windows SDKs. Titlebar was showing URL instead of title in some scenarios.

4.0.7 Build 1237 (3 July 2017)

  • ReachOut auto-popup window on Windows SDKs no longer displays JavaScript error messages to the end user.

5.0.0 (30 June 2017)

  • First release of version 5 SDK.

4.0.7 Build 1233 (23 June 2017)

  • Fixed issue on Windows SDKs causing some new event names (events never seen by the server) not to be registered on the server.

4.0.7 Build 1227 (16 May 2017)

  • Fixed issue on Mac OSX and Linux causing temporary files not being deleted.

4.0.7 (12 May 2017)

  • Fixed issue on Mac OSX sandboxed application causing data upload failure due to non-existing temporary file path.

4.0.6 (18 Apr 2017)

  • Fixed issue on Mac OSX and Linux where a random crash may occur in some rare scenarios.

4.0.5 (31 Mar 2017)

  • Fixed issue on Mac OSX where an unhandled exception may occur on some machines running OSX Sierra.

4.0.4 (07 Mar 2017)

  • Decreased power usage on Linux and Mac laptops
  • Minor bug fixes on Windows

4.0.3 (28 Feb 2017)

  • Added support for new locales on Windows

4.0.2 (31 Jan 2017)

  • Minor bug fixes and improvements

4.0.1 (7 Nov 2016)

  • Includes all changes in 4.0.0
  • Fixed issue in collecting OS and CPU data on Mac OSX.
  • Fixed issue on Windows SDK which caused old clients on Usage Intelligence SDK v3.x to be identified as new users.

4.0.0 (1 Nov 2016)

  • Includes all changes in 4.0.0 BETA
  • Mac OSX edition now supports collection of OS version.
  • Mac OSX edition is now able to detect old (v3) installations and mark them as updates rather than new installations.

3.4.4 (24 Oct 2016)

  • Released for .NET, C++ and Python
  • Fixed crash when event tracking functions are called from a different thread.

3.4.3 (13 Oct 2016)

  • Released for .NET, C++ and Python
  • Fixed Automatic Reachout issues detected on some x64 scenarios on Windows 8 and Windows 10

4.0.0 BETA (21 Sep 2016)

  • Linux Support - New C/C++ SDK for Linux
  • Support for Plugins - The Usage Intelligence SDK now supports running in a plugin environment, where multiple applications running as part of a plugin framework or multiple modules in the same application can all make use of the Usage Intelligence SDK independently
  • Dynamic Classes - In order to be able to support plugin environments, the SDK now uses dynamic classes instead of singletons. This requires you to create an instance of the class instead of making use of static functions
  • Support for Shared File Path - Usage Intelligence data files now use a new naming convention based on the product ID to allow multiple products to share the same data path

3.4.2 (6 Apr 2016)

  • Released for .NET, C++ and Python
  • Improved failover mechanisms for uploading log files.
  • Improved concurrency mechanisms when invoking multiple syncs at once.

3.4.3 - Mac OSX (1 Mar 2016)

  • Fixed issue with connection timeouts in cases where Internet connection is not present on first application execution.

3.4.2 - Mac OSX (7 Mar 2016)

  • Fixed issues with multi-user systems where Usage Intelligence data files are shared between different system users.

3.4.1 - Mac OSX (1 Feb 2016)

  • Added support for longer event names (IMPORTANT: API for event tracking has been changed).
  • Fixed an issue which was causing system information not to be updated in some cases.

3.4.1 (7 Dec 2015)

  • Released for .NET, C++ and Python
  • Message check, version check, and key check/change functions now do not wait for the first initialization to finish if they are called too early.
  • Fixed an issue which was causing auto sync to fail in some scenarios.

3.2.3 - Mac OS X (12 Oct 2015)

  • Released for Mac OS X in Objective-C and C++
  • Added 2 functions in C++ SDK to facilitate event tracking without custom data.
  • Changed client identification algorithm.
  • Changed error-handling mechanisms so now exceptions are never thrown once an application has been released.

3.3.3 (4 Sep 2015)

  • Released for .NET, C++ and Python
  • Replaced MessageCheck() method with MessageCheckAnyType() and MessageCheckSpecificType() in .NET SDK.
  • Fixed an issue in collecting GPU information which caused some data to be corrupted in very rare scenarios.

3.3.2 (11 Aug 2015)

  • Released for .NET, C++ and Python
  • Added support for Windows 10

3.3.1 (19 May 2015)

  • Released for .NET, C++ and Python
  • Added support for in-app purchases (IAP)
  • Added collection of GPU details
  • Added collection of installed .NET versions
  • Fixed issue with whitelist building of newly-registered event names and categories
  • Rebuilt unload mechanism to support dynamic loading and unloading
  • Reachout window now closes automatically if open during application stop
  • .NET version now also supports exception tracking for exceptions without stack trace
  • Added support for long event and category names

3.2.10 (18 Nov 2014)

  • Released for .NET, C++ and Python
  • Fixed parts of code which were causing issues with some debuggers and development tools.

3.2.9 (23 Sep 2014)

  • Released for .NET, C++ and Python
  • Rewrote load/unload mechanism to support integrating the Usage Intelligence SDK on Windows drivers.

3.2.2 - Mac OS X (18 Sep 2014)

  • Released for Mac OS X in Objective-C and C++
  • Added ability to set the maximum time that the sync on stop takes to return by calling stopAndDoSyncWithTimeout (Obj-C) or calling stop and passing an int parameter (C++).

3.2.8 (30 Jul 2014)

  • Released for .NET, C++ and Python
  • Fixed an issue which was causing a crash under some debuggers when calling tbStop()
  • The C++ API is now const-correct

3.2.7 (24 Jun 2014)

  • Released for .NET, C++ and Python
  • Improved connection check function
  • Added configuration check function

3.2.1 - Mac OS X (10 Jun 2014)

  • Released for Mac OS X in Objective-C and C++
  • Improved failover mechanisms for connection failures and corrupted data.

3.2.6 (29 May 2014)

  • Released for .NET, C++ and Python
  • Added safety limits to maximum log file sizes
  • Improved handling of temporary files when working directory is not writeable.

3.2.5 (21 May 2014)

  • Released for .NET, C++ and Python
  • Added a short wait time if checking for message or doing a license change or license check immediately after the first time the Usage Intelligence SDK is started. This has been added so that such requests do not fail if the start mechanism hasn't finished yet.

3.2.4 (16 May 2014)

  • Released for .NET, C++ and Python
  • Added support for calling Start again after Stop.
  • Improved handling of inaccessible or invalid paths.

3.2.3 (12 May 2014)

  • Released for .NET, C++ and Python
  • Improved shutdown mechanism to better enforce connection timeouts.
  • Fixed an issue in the Python SDK regarding changing of license keys.

3.2.2 (21 Mar 2014)

  • Released for .NET, C++ and Python
  • Added handling mechanism for trailing slash (/) in callhome URL.
  • Duplicate event names are now allowed when the category is different.
  • New event names are now detected even when they occur before the first call to the server.

3.2.0 - Mac OS X (20 Mar 2014)

  • Released for Mac OS X in Objective-C and C++
  • API changes to allow startup without sync and sync without ReachOut™. These options are set through optional parameters and the affected functions are backward compatible.
  • Installations of the same app using different data paths (by setting the filePath parameter) are now considered as different client installations.

3.2.1 (24 Feb 2014)

  • Released for .NET, C++ and Python
  • Improved failover mechanisms

3.2.0 (20 Feb 2014)

  • Released for .NET, C++ and Python
  • API changes to allow startup without sync and sync without ReachOut™. These options are set through optional parameters and the affected functions are backward compatible.
  • Internal stability improvements

3.1.9 (15 Feb 2014)

  • Released for .NET, C++ and Python
  • Added detection and handling of corrupt data files

3.1.8 (14 Feb 2014)

  • Released for .NET, C++ and Python
  • Implemented failover mechanism for when session cookie is blocked
  • Shutdown mechanism timeout mechanism improved

3.1.7 (12 Feb 2014)

  • Released for .NET, C++ and Python
  • Allows events to be logged immediately after starting up

3.1.6 (12 Feb 2014)

  • Released for .NET, C++ and Python
  • Improved failover mechanisms

3.1.5 (31 Jan 2014)

  • Released for .NET, C++ and Python
  • Improved shutdown algorithm for better stability when debugging

3.1.4 (30 Jan 2014)

  • Released for .NET, C++ and Python
  • Fixed a stability issue triggered by code debuggers

3.1.3 (27 Jan 2014)

  • Released for .NET, C++ and Python
  • Improved start-up algorithms to allow logging of events immediately after start-up even on first run

3.1.2 (23 Jan 2014)

  • Released for .NET, C++ and Python
  • First final release of version 3 for Python
  • Includes minor API changes in C++ and Python
  • Syncs automatically on startup for easier implementation

3.1.1 - Windows and Mac OS X (20 Jan 2014)

  • First final release of version 3
  • Released for .NET, C++, Objective-C
  • Includes minor API changes in .NET

3.0.5 RC1 (15 Jan 2014)

  • Released for .NET, C++ and Python
  • First Release candidate of version 3
  • Includes performance improvements over versions 2.*, custom properties, and logging of custom string events.

3.0 BETA for Mac OS X (1 Nov 2013)

  • Supports Mac OS X 10.6 and higher (x64 only).
  • Native APIs for C++ and Objective-C
  • Includes all functionality available in the Windows SDK

2.6.3 (10 Jun 2013)

  • Released for .NET, C++ and Python
  • Improved multithreading support to accept multiple simultaneous events happening at exactly the same time.
  • Improved .NET Framework detection in Python SDK

2.6.2 (31 May 2013)

  • Released for .NET, C++ and Python
  • Added option to disable syncing during App.Stop()
  • Speed improvements on App.Stop()
  • Speed improvements when running multiple instances.
  • Fixed race condition affecting applications running large number of concurrent instances sharing the same file path.
  • Fixed issue with long plain-text Reachout messages in C++ and Python SDKs
  • Forced calling convention on an internal C++ function with was causing issues with some compilers.
  • Added more detailed status reporting for App.StartStatus

2.6.1 (24 May 2013)

  • Released for .NET, C++ and Python
  • Added App.StartStatus value/function to monitor whether App.Start() (or equivalent in another language) has finished.
  • Added check for data path existence and write access during start.
  • Added further connection/server checks during first execution.
  • Python and C++ SDKs now also allowed to call startAutoSync() or tbStartAutoSync() before tbStart() or appStart() has finished loading.
  • More constants added in Python SDK to ease development.
  • Python SDK code is now PEP-8 compliant.
  • Improved handling of changing of config during runtime which was causing issues if it is done during sync.
  • Plain-text reachout messages now support multi-line messages

2.5.2 (08 May 2013)

  • Released for .NET, C++ and Python
  • Added checks to handle cleanly cases where data directory does not exist.

2.5.1 (25 Mar 2013)

  • Released for .NET, C++ and Python
  • Improved reporting accuracy for session and runtime counts for enterprise-class users.

2.2.2 (13 Mar 2013)

  • C++ and Python only.
  • Improved handling of .NET Framework-related issues.
  • .NET 4 now given priority over .NET 2.

2.2.1 (07 Mar 2013)

  • C++ and Python only.
  • Fixed issue with some 64-bit single-session applications being treated as multi-session.
  • Added more safety checks regarding multi-session mode and sessionID in event tracking.

2.1.4 (25 Feb 2013)

  • Fixed MessageCheck holding a mutex unnecessarily potentially causing a temporary freeze until HTTP time out is received. This effects clients with a very slow or bad internet connection.
  • All of the EventTrack overloads have been made asynchronous in order to return instantly.

2.1.3 (18 Jan 2013)

  • Fixed how the SDK handles cases where it has no write permissions on user directory.

2.1.2 (03 Jan 2013)

  • Minor hotfix to change naming convention.

2.1.1 (02 Jan 2013)

  • Fixed bug that caused tracking failure in newly registered clients when DNS request fails
  • Increased combined limit of Event names and Event categories to 40 characters

2.0.2 (04 Dec 2012)

  • Added support for .NET Client Profile
  • Increased limit of EventTrack names to 30 characters
  • Added support for Event categories/groups

2.0.1 (28 Sep 2012)

  • Added support for concurrent runtime sessions
  • Improved tracking accuracy on multiple users sharing a single installation

1.1 (31 April 2012)

  • Improved tracking accuracy on multiple users sharing a single installation

1.0 (13 April 2012)

  • Release Candidate

0.9 BETA (December 2011)

  • Public BETA build for .NET
Labels (1)
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Jan 26, 2024 11:56 AM
Updated by: