5. Upgrading from 2.4.14.3 to 3.0.0

See Important: How to Use this Guide, if you haven’t already.

The following sections describe how to upgrade from Connext Micro 2.4.14.3 to Connext Micro 3.0.0. They describe general, wire, and other compatibility issues between Connext Micro 3.0.0 and previous releases.

Attention

For important information on new and removed platforms and features in Connext Micro 3.0.0, see Supported Platforms and Programming Languages and What’s New in 3.0.0 in the Connext Micro documentation.

5.1. New Installation Procedure

Starting with release 3.0.0, Connext Micro is now distributed as an RTI Connext platform package. Connext Micro is installed as any other additional package from RTI. See Installing Connext. Connext Micro Security SDK is also now distributed as an RTI package. If you use it, you must install it on top of the Connext Micro package.

The Connext Micro User’s Manual is also available from the Help panel in RTI Launcher. You can find information about how to build Connext Micro in the Connext Micro User’s Manual.

In order to build and use Connext Micro, you must export the source outside the installation directory, since this directory is typically not writeable. In the RTI Launcher Utilities Tab, the “Copy Micro SDK” button is used for this purpose. Click the icon to open a dialog box where you can specify a destination folder.

After you export the source, build the Connext Micro libraries, then regenerate and recompile your code, as described in the installation section of the Connext Micro User’s Manual.

5.2. Change In Documentation

Starting with release 3.0.0, the Connext Micro User’s Manual is separate from the API Reference HTML documentation. The User’s Manual is now also available in PDF format. See also the Connext Micro Release Notes.

5.3. Application Binary Interface

Connext Micro does not provide Application Binary Interface (ABI) compatibility with previous versions of Connext Micro. Therefore, an application compiled using a version of Connext Micro prior to 3.0.0 must be recompiled when moving to a version of Connext Micro at or after 3.0.0.

Connext Micro is distributed in source form. In most cases, after compiling the Connext Micro libraries from the source, upgrading an application requires you to recompile your source using the new header files and link with the new libraries built from the Connext Micro source. In some cases, minor modifications to your application code might be required; any such changes are noted in this Migration Guide.

5.4. API Compatibility

The following Application Program Interfaces (APIs) have been changed or deprecated in 3.0.0. For new APIs, see the Connext Micro Release Notes.

5.4.1. Wchar and wstring language binding changes

Starting in Connext 6.0.0 (and Connext Micro 3.0.0), for C, traditional C++, and Ada languages, the mapping of an IDL wchar has changed from a 4-byte integer to a 2-byte integer. DDS_Wchar is now mapped to DDS_UnsignedShort instead of DDS_UnsignedLong. This change may lead to some compilation warnings when compiling old Connext applications with libraries in Connext 6 (and Connext Micro 3.0.0) and higher. If so, you will need to fix these compilation warnings.

Wire interoperability with Connext 5.x and lower (and Connext Micro 2.4.x and lower) is not broken as long as you continue using the Extended CDR encoding version 1 data representation (see the Data Representation chapter in the RTI Connext Core Libraries Getting Started Guide Addendum for Extensible Types), because the wire representation of a wchar and wstring is still the same.

5.4.2. RTI_CERT compilation flag not supported in this release

Connext Micro 3.0.x has not been through a certification process, and the certifiable feature set has not been defined. For this reason, the RTI_CERT compilation flag is not supported in this release. Support for this flag will be introduced again when the certifiable feature set has been defined.

5.4.3. Generated code compatibility

For Connext Micro applications defining types in IDL, XML, or XSD, moving from a previous Connext Micro version to Connext Micro 3.0.x requires code regeneration and recompilation.

You will need to regenerate the code for your application types using the Code Generator shipped with this release. The regeneration process is very simple; you only need to run the new version of Code Generator using the original input IDL file. (You should see a message that says you are running rtiddsgen version 3.0.1.) This process will regenerate the header and source files, which can then be compiled along with the rest of your application.

5.4.4. Default UDP socket buffer size on QNX changed to 64KB

In 3.0.0, the default socket buffer size on QNX has changed from 256KB to 64KB. You can change the default socket buffer sizes when you configure the UDP transport. Please refer to the Connext Micro User’s Manual for more information.