1. Important: How to Use this Guide
1.1. Upgrade Path
This Migration Guide describes how to upgrade to any of the RTI® Connext® 6, 7, and 8 releases from release 5.3.1 or later.
Attention
See the upgrade considerations in this guide for each applicable release. For example, if you are upgrading from 6.1.0 to 7.3.0, see all of the following sections: Upgrading from 6.0.1 to 6.1.0, Upgrading from 6.1.0 to 6.1.2, and Upgrading from 6.1.2 to 7.3.0. Together, these sections provide important upgrade considerations that apply when upgrading from your current to your new release.
Whether you will keep some of your legacy Connext systems or migrate entirely to a new Connext release, read this guide to see what settings or other changes you may need to make before you upgrade all or part of your system. The full set of changes for your release is described in the What’s New and Core Libraries Release Notes documents for your release:
What’s New in 7.4.0 and Core Libraries Release Notes 7.4.0 (see also individual products’ Release Notes in 7.4.0)
What’s New in 7.3.0 and Core Libraries Release Notes 7.3.0 (see also individual products’ Release Notes in 7.3.0)
What’s New in 7.2.0 and What’s Fixed in 7.2.0 (these features and fixes are included in 7.3.0)
What’s New in 7.1.0 and What’s Fixed in 7.1.0 (these features and fixes are included in 7.3.0)
What’s New in 7.0.0 and What’s Fixed in 7.0.0 (these features and fixes are included in 7.3.0)
What’s New in 6.1.2 and Core Libraries Release Notes 6.1.2 (see also individual products’ Release Notes in 6.1.2)
What’s New in 6.1.1 and Core Libraries Release Notes 6.1.1 (see also individual products’ Release Notes in 6.1.1)
What’s New in 6.1.0 and Core Libraries Release Notes 6.1.0 (see also individual products’ Release Notes in 6.1.0)
What’s New in 6.0.1 and Core Libraries Release Notes 6.0.1 (see also individual products’ Release Notes in 6.0.1)
What’s New in 6.0.0 and Core Libraries Release Notes 6.0.0 (see also individual products’ Release Notes in 6.0.0)
This guide describes only those changes that may break old behavior.
Note
Release 7.3.0 includes feature releases 7.0.0, 7.1.0, and 7.2.0, which are now end-of-life (EOL). If you need to migrate from an EOL release, view archived versions of this guide here and here. See Connext Releases for more information.
1.2. Upgrade Steps
Whenever upgrading to a new, major release, you must regenerate the type-specific code that was generated from your IDL, XML, or XSD definitions with the new version of rtiddsgen, then recompile and re-link your applications with the new versions of the Connext libraries. The basic steps are as follows:
Make the changes required for your system, based on the compatibility issues described in this guide:
See the “Product-Specific Compatibility” section for your release, for issues that affect your products.
See the “General Compatibility” section for your release. This section is particularly important if your release will coexist with older releases.
See Regressions for any issues that may apply to you.
Regenerate code as described in Section 1.3.1.
Update your projects as described in Section 1.3.2.
If you need help with your upgrade, contact RTI Support: log into the Customer Portal, send email to support@rti.com, or call the telephone number provided for your region.
1.3. Regenerating Code and Updating Your Projects
1.3.1. Generated code compatibility
For Connext applications defining types in IDL, XML, or XSD, moving between any two releases in this guide requires code regeneration and, depending on your programming language, updating your projects and recompiling.
You will need to regenerate the code for your application types using the RTI Code Generator shipped with your release. The regeneration process is simple; you only need to run the new version of Code Generator using the original input IDL file. For example:
rtiddsgen -language C++11 -update typefiles MyTypes.idl
You should see a message that says you are running one of the following rtiddsgen versions depending on your release:
Connext Version |
rtiddsgen Version |
---|---|
7.4.0 |
4.4.0 |
7.3.0 |
4.3.0 |
6.1.2 |
3.1.2 |
6.1.1 |
3.1.1 |
6.1.0 |
3.1.0 |
6.0.1 |
3.0.1 |
6.0.0 |
3.0.0 |
This process will regenerate the source code for your IDL types.
1.3.2. Updating your projects
1.3.2.1. C and C++ applications
Connext does not provide Application Binary Interface (ABI) compatibility with previous versions of Connext. Therefore, an application compiled using a previous version of Connext must be recompiled when moving to a new Connext version.
The Connext core primarily consists of libraries and a set of header files. In most cases, upgrading simply requires you to recompile your source using the new header files and link your application with the new libraries. If you’re using the makefiles or project files generated with rtiddsgen, you can re-generate them with the following command:
rtiddsgen -language <C|C++98|C++11> -update makefiles -platform <architecture> MyTypes.idl
See Command-Line Arguments
in the RTI Connext Code Generator User’s Manual for more information.
Your architecture (such as x64Win64VS2017
or x64Linux3gcc5.4.0
)
is the combination of a processor, OS, and compiler version. To see the full
list of available architectures, see the “RTI Architecture Abbreviation”
columns in the RTI Connext Core Libraries Platform Notes.
1.3.2.2. Java applications
Your Connext installation provides the JAR files to build Java applications. You will need to recompile using the new JAR files. If you’re using the makefiles or project files generated with rtiddsgen, you can re-generate them with the following command:
rtiddsgen -language Java -update makefiles -platform <architecture> MyTypes.idl
See Command-Line Arguments
in the RTI Connext Code Generator User’s Manual for more information.
Your architecture (such as x64Win64VS2017
or x64Linux3gcc5.4.0
)
is the combination of a processor, OS, and compiler version. To see the full
list of available architectures, see the “RTI Architecture Abbreviation”
columns in the RTI Connext Core Libraries Platform Notes.
1.3.2.3. C# applications
Your Connext installation provides the NuGet packages that install the Connext C# API. These packages are also provided in nuget.org. You will need to update your project files so they use the new libraries.
Follow these instructions to upgrade your existing C# projects to the new Connext version:
(Skip this step if you’re using nuget.org to obtain the Connext C# package.) Install the new Connext host and .NET support packages. See Installing Connext in the RTI Connext Getting Started Guide for information.
Make sure your Nuget configuration (typically in the
Nuget.Config
next to your.csproj
file) points to the new Connext installation directory.
Update your
.csproj
files, using one of the following steps:Edit the
.csproj
file and replaceVersion="<version>"
with the current version. For example, replaceVersion="6.1.2"
withVersion="7.3.0"
, or
Update the version using the Visual Studio NuGet package manager, or
Run the following command in the directory where your
.csproj
file is to get the latest version:dotnet add package Rti.ConnextDds.Extra
. (Don’t add.Extra
to the package name if you’re using .NET Core 2.x or .NET Framework.)
1.3.2.4. Python applications
To upgrade your Python applications, simply upgrade your Connext package. The
Connext package is provided in your Connext installation (rti.connext.activated
)
and on pypi.org (rti.connext
).
You can see which package you currently have installed with:
pip show rti.connext.activated
Or:
pip show rti.connext
To update rti.connext.activated
, run:
pip install --upgrade rti.connext.activated -f <connext installation>/resource/python_api
To update rti.connext
, run:
pip install --upgrade rti.connext
1.3.3. Updating your source code
In some cases, minor modifications to your application code might be required; any such changes are noted in this Migration Guide.
After you make modifications to your application code, recompile (except for Python) according to the instructions above.