.. _section-index300: ******************************** Upgrading from 2.4.14.3 to 3.0.0 ******************************** See :ref:`section-Install-Upgrade`, if you haven't already. The following sections describe how to upgrade from |me| 2.4.14.3 to |me| 3.0.0. They describe general, wire, and other compatibility issues between |me| 3.0.0 and previous releases. .. attention:: For important information on new and removed platforms and features in |me| 3.0.0, see `Supported Platforms and Programming Languages `__ and `What's New in 3.0.0 `__ in the |me| documentation. New Installation Procedure -------------------------- Starting with release 3.0.0, |me| is now distributed as an |rti_core| platform package. |me| is installed as any other additional package from RTI. See `Installing Connext `__. |me| *Security SDK* is also now distributed as an RTI package. If you use it, you must install it on top of the |me| 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 |me| in the |me| *User's Manual.* In order to build and use |me|, 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 |me| libraries, then regenerate and recompile your code, as described in the `installation section of the Connext Micro User's Manual `__. 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 `__. Application Binary Interface ---------------------------- |me| does not provide Application Binary Interface (ABI) compatibility with previous versions of |me|. Therefore, an application compiled using a version of |me| prior to 3.0.0 must be recompiled when moving to a version of |me| at or after 3.0.0. |me| is distributed in source form. In most cases, after compiling the |me| 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 |me| source. In some cases, minor modifications to your application code might be required; any such changes are noted in this Migration Guide. 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 `__. Wchar and wstring language binding changes .......................................... Starting in |core| 6.0.0 (and |me| 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 |core| applications with libraries in *Connext* 6 (and |me| 3.0.0) and higher. If so, you will need to fix these compilation warnings. Wire interoperability with |core| 5.x and lower (and |me| 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. RTI_CERT compilation flag not supported in this release ....................................................... |me| 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. Generated code compatibility ............................ For |me| applications defining types in IDL, XML, or XSD, moving from a previous |me| version to |me| 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. 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.