Supported Environments

The PubSub+ Messaging APIs are compatible with many different operating systems and platforms.

The following table summarizes the major operating systems and environments supported for each PubSub+ Messaging API. For the complete list of operating systems and platforms supported for each API, see the sections that follow:

Operating System Platform Java1 Java RTO1 JCSMP1 C Go .NET JavaScript2 Node.js3 Python
Windows x86/x86_64 Supported Supported Supported Supported Supported Supported Supported Supported Supported
macOS

x86_64

Supported Supported Supported Supported Supported Supported Supported Supported Supported

ARM (M-Series)

Supported Supported

10.6+

Supported Supported

7.25.0+

Supported

1.3+

Supported

10.23+

Supported Supported Supported

1.7+

Linux

x86

Supported Supported Supported Supported

7.13.0+

Supported Supported Supported Supported Supported

x86_64

Supported Supported Supported Supported Supported Supported Supported Supported Supported

ARM

Supported

Supported Supported

7.25.0+

Supported

1.4+

Supported

10.24+

Supported Supported Supported

1.8+

Alpine Linux x86_64 Supported Supported Supported

7.23.0+

Supported

1.1+

Supported

10.21+

Supported Supported Supported

1.9+

1Java, Java RTO, and JCSMP require any version of a Java Development Kit (JDK) that is in active support for the platform and operating system. Versions 10.23 and later of the PubSub+ JCSMP API rely on the latest supported version of the Netty library as a dependency. For more information about Netty, see netty.io.

2JavaScript works with some browsers. Mobile browsers are not verified. For more information, see the PubSub+ Javascript API.

3Node.js version 10.15 supports the actively maintained Node.js LTS release lines.

The following sections describe the supported environments for each PubSub+ Messaging API:

Each environment that supports client connections to the event broker using Transport Layer Security (TLS) / Secure Sockets Layer (SSL) encryption is indicated. When the term TLS/SSL is used in this documentation, it refers to these forms of data encryption. Depending on the PubSub+ Messaging API:

  • Support for different Transport Layer Security versions vary for each API. The versions available are TLS 1.0, TLS 1.1, and TLS 1.2. The recommended version to use is the most recent version of TLS.
  • Secure Socket Layer (SSL) protocol version support varies for each API. We don't recommend that you use SSL unless it's required for backwards compatibility.

Most PubSub+ Messaging APIs support various Linux environments for desktops and servers but do not support Alpine Linux. Alpine Linux is built with musl-c, which is typically used for containerized environments or microcontroller devices.  The PubSub+ Messaging APIs are built with glibc, which are typically used for Linux ( both desktop and server) environments. See appropriate API section on this page to determine whether Alpine Linux (musl-c) is supported.

PubSub+ Java API

For more information about the supported environments for the PubSub+ Messaging API for Java, see Supported Environments for the PubSub+ Java API in the developer's guide for the PubSub+ Java API.

PubSub+ Java RTO API

The PubSub+ Messaging API for Java RTO is compatible and supported with any version of the Oracle JDK or OpenJDK that is in active support and also has security update support. For information about supported versions, see the Oracle Java SE Support Roadmap. The PubSub+ Java RTO API is compatible with the following systems:

  • Linux variants (x86/x86_64)  that are in active support and also have security update support
    • Compatible with glibc 2.17 and later (desktop/server)
    • supports TLS/SSL connections
  • macOS [x86_64 versions and ARM (M-Series processors)] that are in active support and also have security update support
    • supports TLS/SSL connections
  • Windows (x86/x86_64), that are in active support and also have security update support
    • supports TLS/SSL connections

The PubSub+ Java RTO API bundles OpenSSL libraries for developer convenience only, these libraries are unsuitable for production environments. OpenSSL binaries are bundled with the following:

  • for macOS and Windows, all versions of the PubSub+ Java RTO API
  • for Linux, versions 10.7 and earlier of the PubSub+ Java RTO API

Your JVM and Java RTO architecture must both be 32-bit or both be 64-bit.

The Java RTO API can be retrieved using Maven (pom.xml) or Gradle (build.gradle).

For example, using Maven:

<dependencies>
  <dependency>
    <groupId>com.solacesystems</groupId>
    <artifactId>solclientj</artifactId>
    <version>10.8.0</version>
    <type>pom</type>
  </dependency>
</dependencies>			

Using Gradle:

...
...
dependencies {
//PubSub+ Messaging API Dependencies
implementation group: 'com.solacesystems', name: 'solclientj', version: '10.8.0'
...
}

PubSub+ JCSMP API

  • The PubSub+ Messaging API for JCSMP is compatible and supported with any version of the Oracle JDK or OpenJDK that is in active support and also has security update support. For information about supported versions, see the Oracle Java SE Support Roadmap.
  • Java 1.8 or later is required to use TLS/SSL connections to the event broker.
  • Versions 10.23 and later of the PubSub+ JCSMP API rely on the latest supported version of the Netty library as a dependency. For more information about Netty, see https://netty.io.
  • The PubSub+ JCSMP API includes a sample Ant build script (build.xml) with the sample applications that shows how to add the PubSub+ Messaging API libraries to the CLASSPATH during the compiler invocation.
    • Ensure that the CLASSPATH set when invoking the javac compiler includes all the .jar files in the JCSMP  lib directory. For information on Apache Ant, refer to http://ant.apache.org.
  • OSGi support—The JCSMP (sol-jcsmp) JAR file includes metadata conforming to the OSGi standards and can be deployed as an OSGi bundle.

PubSub+ C API

Support for Solaris/SunOS is now deprecated and the last release was v7.23.0 (September 2022). For more details, see the Deprecated Features list on the product lifecycle policy page.

The PubSub+ Messaging API for C, version 7.31.0 is compatible with the following systems:

  • AIX 6 PowerPC (64-bit), supports TLS/SSL connections
  • Linux (x86/x86_64) variants that are in active support and also have security update support. Compatible with glibc 2.17 and later (desktop/server) and musl-c 1.2 and later (Alpine Linux)
    • supports TLS/SSL connections
  • Linux (ARM) variants (linux-arm64) that are in active support and also have security update support
    • Compatible with glibc 2.17 and later (desktop/server) only
    • supports TLS/SSL connections
  • macOS [x86_64 and ARM (M-Series processors)] 
    • supports TLS/SSL connections
  • SunOS10-i386 (32-bit)
    • compatible with glibc 2.17 and later
  • SunOS10-x86 (64-bit)
    • compatible with glibc 2.17 and later
  • SunOS10-sparc (32-bit and 64-bit versions)
    • compatible with glibc 2.17 and later
  • SUSE Linux PowerPC (Big Endian) (64-bit)
    • supports TLS/SSL connections
  • Windows (32-bit and 64-bit versions) that are in active support and also have security update support, and use Microsoft Visual Studio 2015 and later
    • supports TLS/SSL connections
  • iOS 7.1 (ARMv7, ARMv7s, ARM64, i386 and x86_64), for Xcode 5.1 and later
    • supports TLS/SSL connections
  • iOS 8 (ARM v8, ARMv7, ARMv7s, ARM64, i386 and x86_64), for Xcode 6.0 and later
    • supports TLS/SSL connections
  • OpenVMS 8.4-2 and later (64-bit version only, Itanium processors). The C API for OpenVMS supports the same features as the C API for Linux, with the following limitations:
    • 64-bit version only (no support for 32-bit version)
    • Itanium processors only (no support for Alpha processors)
    • Provided as a VMS shared library only (no support for static linking)
    • No support for Kerberos
    • No support for IPC

The OpenSSL binaries bundled with the Windows and macOS distributions of the PubSub+ C API are provided for developer convenience only. Do not deploy the OpenSSL binaries from the PubSub+ C API in production environments. The OpenSSL binary is not bundled with the Linux distribution of the PubSub+ C API. The support for OpenSSL is as follows:

  • Versions 7.12-7.24 support both OpenSSL 1.0 and OpenSSL 1.1 binaries.
  • Versions 7.25 and later support OpenSSL 3.0 (recommended). OpenSSL 1.0 and 1.1 may be used, but are unsupported by OpenSSL. See the documentation for your operating system to determine if older versions are secure and supported.
  • Versions 7.12 and later support TLS SNI (Server Name Indication).

PubSub+ Go API

For more information about the supported environments for the PubSub+ Messaging API for Go, see Supported Environments in the developer's guide for the PubSub+ Go API.

PubSub+ .NET API

The PubSub+ Messaging API for .NET is compatible and supported with any version of the .NET framework that is in active support and also has security update support. For information about supported versions of .NET, see https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core. The PubSub+ .NET API, version 10.27 is compatible with the following platforms:

  • Windows (32-bit and 64-bit versions) that are in active support and also have security update support.
    • supports TLS/SSL connections
  • .NET Core support is as follows:

    • Windows
    • macOS [x86_64 versions and ARM (M-Series processors)]
    • Linux (x86/x86_64) variants that are in active support and also have security update support.
      • Compatible with glibc2.17 and later (desktop/server) and musl-c1.2 (Alpine Linux)
    • Linux (ARM) variants that are in active support and also have security update support.
      • Compatible with glibc2.17 and later (desktop/server)

The PubSub+ Messaging API for .NET supports:

  • .NET Framework 4.6.2 and later
  • .NET 6.0
  • .NET 8.0
  • .NET Standard 2.0 and later

The PubSub+ Messaging API for .NET supports the following Visual Studio versions:

  • Windows
    • Visual Studio 2022
    • Visual Studio 2019
    • Visual Studio 2017, versions 15.3 and later
    • Visual Studio 2015, requires NuGet 3.6 and later
  • macOS
    • Visual Studio for Mac, versions 7.1 and later

The PubSub+ .NET API bundles OpenSSL libraries for developer convenience only, these libraries are unsuitable for production environments. OpenSSL binaries are bundled with the following:

  • for macOS and Windows, all versions of the PubSub+ .NET API
  • for Linux, versions 10.24 and earlier of the PubSub+ .NET API

PubSub+ Javascript API

The PubSub+ Messaging API for Javascript, version 10.17, has been tested to work in the latest version of modern Web browsers such as Google Chrome, Safari, Firefox, Edge, and Internet Explorer. Other web and mobile browsers may also work properly, but they have not been verified. They have also not been verified to work with specific JavaScript frameworks, however, they should be fully compatible and work with these frameworks without problems.

Some API features are not available in all Web browsers. For example, WebSocket support is not available in all versions of Internet Explorer (in this case, the API falls back on a transport protocol that is supported by the browser in use.)

The PubSub+ Messaging API for Javascript does not support Enterprise Mode in Internet Explorer 11—a compatibility mode that renders websites with a modified browser configuration to emulate Internet Explorer 7 or 8. To use applications developed with the JavaScript Messaging API in Internet Explorer 11, Enterprise Mode must be disabled.

PubSub+ Node.js API

The PubSub+ Messaging API for Node.js, version 10.17 and later, supports the actively maintained Node.js LTS release lines.

PubSub+ Python API

For more information about the supported environments for the PubSub+ Messaging API for Python, see Supported Environments for the PubSub+ Python API in the developer's guide for the PubSub+ Python API.