ThingWorx Edge SDKs Support Matrix
ThingWorx Edge SDKs Support Matrix
ThingWorx Edge Software Development Kits (SDKs) enable partners and customers to develop applications for Edge devices to communicate with the ThingWorx Platform over the ThingWorx binary, WebSocket-based AlwaysOn protocol, while adding their own device connectivity implementation. Each SDK handles creating the communication socket to ThingWorx Platform and the binding of an Edge device to the corresponding Remote Thing on the platform. The SDKs support two-way property read/write, two-way service execution, event propagation, and file transfers. The SDKs also support tunneling for remote sessions with Edge devices, or tunneling. The SDKs are offered for various programming languages, namely C, .NET, and Java. The Java SDK also supports developing Edge applications for the Android OS, The hardware/software requirements vary by language.
This topic summarizes the requirements for developing applications using the ThingWorx Edge SDKs and deploying them. It is intended for use by all ThingWorx customers and can be used to ensure their end users understand system requirements for applications deployed directly in or on assets in their organizations. This topic provides hardware, operating systems, and software components suggested for use with the ThingWorx Edge SDKs and your applications.
Standard Support Policy
All ThingWorx Edge SDK releases are supported for two years from the initial release date.
Releases Covered in this Topic
ThingWorx Edge C SDK, v.2.2.0 through v.2.2.12
ThingWorx Edge Java SDK, v.6.2.x, v.7.0.0, v.7.0.x
ThingWorx Edge .NET SDK, v.5.8.0 through v.5.8.3
* 
Refer to the PTC Product Calendar on the PTC Support site for releases and support start and end dates. When support for the older releases has expired, they are no longer listed in this support matrix. If you
Support for Oracle JDK and OpenJDK (ThingWorx Edge Java SDK)
Version 7.0.0 of the ThingWorx Edge Java SDK adds support for OpenJDK, versions 8 and 11 in production environments. Support is also provided for Oracle JDK 11 in production. However, you must have the Java SE Subscription from Oracle to use Oracle JDK 11 in a production environment.
The ThingWorx Edge Java SDK supports Oracle JDK 8 builds 212 and later in production, provided you have a Java SE Subscription. The ThingWorx Edge Java SDK also supports JDK 8 builds prior to 212, without a Java SE Subscription in development but not in production.
The following table lists and explains Oracle support for Oracle JDK 8 versions as well as OpenJDK support:
Support for JDK 8
Version
Notes
OpenJDK 8
Support for this open source version of the JDK will be maintained until September 2023. No build numbers have been specified for this support.
OpenJDK 11
Support is provided for this open source version of the JDK
Oracle JDK, version 1.8.0_201
Build 201 is the last free version of JDK 8. The January 15, 2019 Critical Patch Update of Java 8u201 and the related 8u202 Patch Set Update are the last updates available under the BCL license, which is generally free for general purpose.
Oracle JDK, version 1.8.0_212
This version is the first build under the new license, which is free for personal use only. The following update of Java 8, scheduled for April 16, 2019 (8u211 and the related 8u212 Patch Set Update), will be made available under a new license that will be free for personal individual desktop use and free for development, testing, prototyping, and demonstration purposes.
Oracle supports these later builds. JDK 8 premier support is provided until 2022 under the new license. For more information from Oracle about JDK 8 and OpenJDK 8, refer to the following blog posts:
Software Requirements
ThingWorx releases versioned updates to the Edge SDKs and certifies product quality through rigorous testing of these products with the ThingWorx Platform. Unless otherwise specified within this document or the release notes for an Edge SDK, backward compatibility for the Edge SDKs such that combinations of later versions of the Edge SDKs with earlier versions are supported.
The following table shows the operating system, hardware, and toolchain requirements for the SDKs. Use the CMake v.3.4 or later compiler, or any compiler that is compatible with your IDE. CMake provides a toolchain extraction.
Supported Operating Systems, Hardware, and Toolchains for Edge SDKs
SDK
Operating System
Architecture
Toolchain
Notes
C SDK
Windows 10, 8.1, and 7. Tested on Windows 10
Windows x86/64
Visual Studio 2012, 2015, 2017, 2019.
Platform must provide TCP/IP stack, dynamic memory allocation (malloc, calloc, free), and some form of mutex or pinlock mechanism.
Linux
Tested on Ubuntu 18.04.2 LTS
Linux x86 32-bit
GCC 3.4.x or higher / GLIBC
Linux
Tested on Ubuntu 18.04.2 LTS
Linux x86 64-bit
GCC 3.4.x or higher / GLIBC
Linux
Tested in Raspbian Linux 9.1
Linux ARM HWFPU
GLIBC
.NET SDK
Windows 10, 9.1, and 7
Tested on Windows 10
Windows x86 / x64
Visual Studio 2012, 2015, 2017, 2019
Uses Apache log4net
Java SDK
Windows 10, 9.1
Tested on Windows 10
Windows x64
Any IDE that supports Oracle JDK 7, 8, or 11
Tested with ThingWorx 9.0.2
Linux
Tested on Ubuntu 18.04.2 LTS
Linux 64-bit
Any IDE that supports Oracke JDK 7, 8, or 11
EMS
Windows 10, 8.1, and 7
Tested on Windows 10
Windows x86 / x64
Visual Studio 2012, 2015, 2017, 2019
Linux
Linux x86 32-bit, x86 64-bit, ARM 32-bit, ARM HWFPU 32-bit, ARM 64-bit
GCC
SSL/TLS Compatibility for the Edge SDKs
The following table lists OpenSSL versions supported by the various releases of the Edge SDKs:
OpenSSL Compatibility
Edge SDK Version
AxTLS 2.1.2?
OpenSSL Version
FIPS?
Edge C SDK
C SDK 2.0.x, 2.1.x, and 2.2.0
Yes, but no longer the default library
1.0.1L, now the default library
Yes, for Windows and Linux.
C SDK 2.2.1
No
1.0.2q
This version of OpenSSL does not support FIPS. However, the OpenSSL library that supports FIPS is included in the distribution bundle.
C SDK 2.2.2, 2.2.3, 2.2.4
No
1.0.2r
This version of OpenSSL does not support FIPS. However, the OpenSSL library that supports FIPS is included in the distribution bundle.
C SDK 2.2.5 - 2.2.12
No
1.1.1
No
Edge .NET SDK
.NET SDK 5.7.0 - 5.7.5
Yes
1.0.1L, only with FIPS / Windows distribution bundle
Yes
.NET SDK 5.7.6
Yes, but no longer the default library
1.0.1L
Yes
.NET SDK 5.8.0
No
Non-FIPS package: 1.0.1r
FIPS package: 1.0.1L
Yes
.NET SDK 5.8.1 - 5.8.3
No
1.1.1
No
Edge Java SDK
Java SDK 7.0.x
No
No
No. FIPS requires OpenSSL which is not support by Java.
* 
Although the ThingWorx Platform v.9.1.x runs on Java 11, the ThingWorx Platform does not yet fully support TLS 1.3. Earlier versions of the platform than v.9.1.x do not run on Java 11 and therefore do not support TLS 1.3.
Cipher Suite Support
The older versions of the C SDK and .NET SDK support the following cipher suites:
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
Starting with OpenSSL v.1.1.1 and the associated releases of the C and .NET SDKs, cipher suites supported by OpenSSL are supported by these SDKs.
The Java Secure Socket Extension (JSSE) and the versions of the C and .NET SDKs that support OpenSSL 1.1.1 support more than 36 cipher suites. You should not find any issues in SSL/TLS communication with the ThingWorx Platform.
* 
The Client and Server SSL handshake fails when the Server does not support the cipher suites supported by the Edge SDK In this situation, overall communication fails, and the Edge devices do not bind to the ThingWorx Platform.
Compatibility with ThingWorx Platform
PTC will provide standard support for the current version (Major.Minor.Patch) of a ThingWorx Edge SDK, provided it is connecting to a supported version of the ThingWorx Platform. To ensure that your SDK application is connecting to a supported version of ThingWorx Platform, refer to the PTC Product Calendar on the PTC Support site.
The following table shows the versions of ThingWorx Platform supported by each Edge SDK. See also the section, Important Information, below.
Compatibility with ThingWorx Platform
SDK
Versions
ThingWorx Platform Versions
C SDK
2.0.x - 2.2.12
7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x, 8.2.x, 8.3.x, 8.4.x, 9.x
.NET SDK
5.7.0 - 5.8.3
7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x, 8.2.x, 8.3.x, 8.4.x, 9.x
Java SDK
7.0.x
7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x, 8.2.x, 8.3.x, 8.4.x, 9.x
Important Information
The following table lists the versions of the ThingWorx Edge SDKs that are certified with ThingWorx Platform v.9.0.2 in both single-server and ThingWorx High Availability (HA) Clustering modes. Note that v.2.2.12 of the Edge C SDK and v.5.8.3 of the Edge .NET SDK have been certified with ThingWorx Platform v.9.1.x.
Edge SDK Compatibility with ThingWorx 9.0.2 to 9.0.x
Edge SDK
Latest Releases
Oldest Release with SNI Support
Oldest Supported Version
C SDK
v.2.2.12 and v.2.2.11.562
v.2.2.7.1808
v.2.2.0.1202
.NET SDK
v.5.8.3 and v.5.8.2.65, built on C SDK v.2.2.10
v.5.8.1.794, built on C SDK v.2.2.8.135
v.5.8.0.568, built on C SDK v.2.2.4
Java SDK
v.7.0.0
N/A
6.2.0.220
Was this helpful?