From dcb0272551573de783c1e4ee72cbf6f8cb99e43b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Poderoso?= <120394830+JesusPoderoso@users.noreply.github.com> Date: Wed, 6 Mar 2024 20:05:00 +0100 Subject: [PATCH] Add related versions table (#652) * Refs #20497: Add related versions table Signed-off-by: JesusPoderoso * Refs #20497: Move table to more visible path Signed-off-by: JesusPoderoso * Refs #20497: Add link Signed-off-by: JesusPoderoso * Refs #20497: Apply internal revision suggestions Signed-off-by: JesusPoderoso * Refs #20497: Update latest version in ShapesDemo Signed-off-by: JesusPoderoso * Refs #20497: Add link in installation dependencies sections Signed-off-by: JesusPoderoso * Refs #20497: display Related versions as first 'Versions' page Signed-off-by: JesusPoderoso * Refs #20497: Add missing header links/references Signed-off-by: JesusPoderoso * Refs #20497: Apply rev suggestions Signed-off-by: JesusPoderoso * Refs #20497: Include supported versions in tabs Signed-off-by: JesusPoderoso * Refs #20497: Include build time dependencies Signed-off-by: JesusPoderoso * Refs #20497: Apply internal review suggestions Signed-off-by: JesusPoderoso * Refs #20497: Add missing links (gen-related) and fix identation Signed-off-by: JesusPoderoso * Refs #20497: Refactor build system dependencies table Signed-off-by: JesusPoderoso * Refs #20497: Add words to spelling whitelist Signed-off-by: JesusPoderoso * Refs #20497: Apply suggestions Signed-off-by: JesusPoderoso * Refs #20497: Apply second round of suggestions Signed-off-by: JesusPoderoso * Refs #20497: Apply third round of suggestions Signed-off-by: JesusPoderoso * Refs #20497: Please linters Signed-off-by: JesusPoderoso * Refs #20497: Apply fourth round of suggestions Signed-off-by: JesusPoderoso * Refs #20497: Apply fifth round of suggestions Signed-off-by: JesusPoderoso * Refs #20497: Apply sixth round of suggestions Signed-off-by: JesusPoderoso --------- Signed-off-by: JesusPoderoso --- docs/02-formalia/titlepage.rst | 17 + .../getting_started/getting_started.rst | 5 + docs/index.rst | 3 +- docs/installation/binaries/binaries_linux.rst | 5 + .../binaries/binaries_windows.rst | 5 + docs/installation/sources/sources_linux.rst | 11 + docs/installation/sources/sources_mac.rst | 11 + docs/installation/sources/sources_qnx.rst | 10 + docs/installation/sources/sources_windows.rst | 11 + docs/notes/notes.rst | 10 +- docs/notes/versions.rst | 391 ++++++++++++++++++ docs/spelling_wordlist.txt | 2 + 12 files changed, 478 insertions(+), 3 deletions(-) create mode 100644 docs/notes/versions.rst diff --git a/docs/02-formalia/titlepage.rst b/docs/02-formalia/titlepage.rst index 1b40dc9da..cbda89103 100644 --- a/docs/02-formalia/titlepage.rst +++ b/docs/02-formalia/titlepage.rst @@ -168,6 +168,23 @@ Main Features dependencies (such as *eProsima Fast CDR*) and the external ones (such as the *foonathan* library) are free and open source. +Dependencies and compatibilities +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*eProsima Fast DDS* is continuously evolving and improving. +This means that the different software products that are part of the Fast DDS ecosystem are evolving and improving +together with Fast DDS. + +Fast DDS has some :ref:`library dependencies `, e.g. the previously +mentioned Fast CDR for data serialization, or OpenSSL for secure communications. +Depending on different :ref:`platform support levels `, it has also +different :ref:`build dependencies `. + +Finally, there are some other *eProsima* products that use Fast DDS as a middleware, such as *Micro XRCE-DDS*, +*DDS Router* and *Fast DDS python* wrapper. +Those that are strongly attached to each Fast DDS supported version are described in :ref:`this product compatibility +table`. + Contacts and Commercial support ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/fastdds/getting_started/getting_started.rst b/docs/fastdds/getting_started/getting_started.rst index 74d4b3c1b..359dad670 100644 --- a/docs/fastdds/getting_started/getting_started.rst +++ b/docs/fastdds/getting_started/getting_started.rst @@ -13,3 +13,8 @@ application. definitions simple_app/simple_app simple_python_app/simple_python_app + +.. seealso:: + + Check Fast DDS dependencies, libraries, and related packages in the :ref:`dependencies_compatibilities` section. + diff --git a/docs/index.rst b/docs/index.rst index 6b819e336..7f3ad570b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -93,8 +93,9 @@ .. _index_notes: .. toctree:: - :caption: Release Notes + :caption: Versions :maxdepth: 2 :hidden: + /notes/versions /notes/notes diff --git a/docs/installation/binaries/binaries_linux.rst b/docs/installation/binaries/binaries_linux.rst index 9a33c90c7..d5c3cc092 100644 --- a/docs/installation/binaries/binaries_linux.rst +++ b/docs/installation/binaries/binaries_linux.rst @@ -48,6 +48,11 @@ The :code:`src` folder contains the following packages: * :code:`fastrtps`, the core library of *eProsima Fast DDS* library. * :code:`fastddsgen`, a Java application that generates source code using the data types defined in an IDL file. +.. seealso:: + + For further information about Fast DDS dependencies, as well as for the corresponding versions of other related + products, please refer to the Fast DDS :ref:`dependencies_compatibilities` section. + In case any of these components is unwanted, it can be simply renamed or removed from the :code:`src` directory. diff --git a/docs/installation/binaries/binaries_windows.rst b/docs/installation/binaries/binaries_windows.rst index 249b23656..486bcb47c 100644 --- a/docs/installation/binaries/binaries_windows.rst +++ b/docs/installation/binaries/binaries_windows.rst @@ -70,6 +70,11 @@ By default, the installation will download all the available packages, namely: * :code:`fastrtps`, the core library of *eProsima Fast DDS* library. * :code:`fastddsgen`, a Java application that generates source code using the data types defined in an IDL file. +.. seealso:: + + For further information about Fast DDS dependencies, as well as for the corresponding versions of other related + products, please refer to the Fast DDS :ref:`dependencies_compatibilities` section. + .. _env_vars_bw: Environment variables diff --git a/docs/installation/sources/sources_linux.rst b/docs/installation/sources/sources_linux.rst index 2d82a03f3..a61f64930 100644 --- a/docs/installation/sources/sources_linux.rst +++ b/docs/installation/sources/sources_linux.rst @@ -69,6 +69,12 @@ Dependencies * :ref:`gtest_sl` [optional] * :ref:`pythonreq_sl` [optional] +.. seealso:: + + For further information about this Fast DDS version dependencies, as well as for the corresponding versions of + other related products, please refer to the Fast DDS :ref:`dependencies_compatibilities_library_dependencies` + section. + .. _asiotinyxml2_sl: Asio and TinyXML2 libraries @@ -603,6 +609,11 @@ Gradle is an open-source build automation tool which requires a Java version to *Fast DDS-Gen* introduced support for Gradle 7 in release v2.2.0. Gradle 8 is not yet supported. +.. seealso:: + + For further information about Fast DDS-Gen product related versions, please refer to the + :ref:`dependencies_compatibilities_library_dependencies` section. + .. _java_sl: Java JDK diff --git a/docs/installation/sources/sources_mac.rst b/docs/installation/sources/sources_mac.rst index 3b472b578..5338ca2d6 100644 --- a/docs/installation/sources/sources_mac.rst +++ b/docs/installation/sources/sources_mac.rst @@ -118,6 +118,12 @@ Dependencies * :ref:`asiotinyxml2_sm` * :ref:`openssl_sm` +.. seealso:: + + For further information about this Fast DDS version dependencies, as well as for the corresponding versions of + other related products, please refer to the Fast DDS :ref:`dependencies_compatibilities_library_dependencies` + section. + .. _asiotinyxml2_sm: Asio and TinyXML2 libraries @@ -336,6 +342,11 @@ Gradle is an open-source build automation tool which requires a Java version to *Fast DDS-Gen* introduced support for Gradle 7 in release v2.2.0. Gradle 8 is not yet supported. +.. seealso:: + + For further information about Fast DDS-Gen product related versions, please refer to the + :ref:`dependencies_compatibilities_library_dependencies` section. + .. _java_sm: Java JDK diff --git a/docs/installation/sources/sources_qnx.rst b/docs/installation/sources/sources_qnx.rst index 48921fdd6..7c34b2b1f 100644 --- a/docs/installation/sources/sources_qnx.rst +++ b/docs/installation/sources/sources_qnx.rst @@ -26,6 +26,11 @@ sources. The following packages will be installed: `standard CDR `_ serialization mechanism. * :code:`fastrtps`, the core library of *eProsima Fast DDS* library. +.. seealso:: + + For further information about Fast DDS library dependencies, as well as for the corresponding versions of other + related products, please refer to the Fast DDS :ref:`dependencies_compatibilities_library_dependencies` section. + The :ref:`requirements_sw_qnx` detailed below needs to be met first. .. _requirements_sw_qnx: @@ -53,6 +58,11 @@ QNX SDP is QNX's Software Development Platform which contains tools and files wh For the purpose of these instructions, QNX SDP 7.1 is assumed to be installed at ~/qnx710. If this is not the case, please adjust the paths accordingly. +.. seealso:: + + For further information about Fast DDS build system dependencies regarding QNX 7.1, please refer to the Fast DDS + :ref:`dependencies_compatibilities_build_system_dependencies` section. + .. _cmake_pip3_git_sw: CMake, pip3, git, dos2unix, and automake diff --git a/docs/installation/sources/sources_windows.rst b/docs/installation/sources/sources_windows.rst index 9e83dd4b7..f5fd8c2ce 100644 --- a/docs/installation/sources/sources_windows.rst +++ b/docs/installation/sources/sources_windows.rst @@ -124,6 +124,12 @@ Dependencies * :ref:`asiotinyxml2_sw` * :ref:`openssl_sw` +.. seealso:: + + For further information about this Fast DDS version dependencies, as well as for the corresponding versions of + other related products, please refer to the Fast DDS :ref:`dependencies_compatibilities_library_dependencies` + section. + .. _asiotinyxml2_sw: Asio and TinyXML2 libraries @@ -625,6 +631,11 @@ Gradle is an open-source build automation tool which requires a Java version to *Fast DDS-Gen* introduced support for Gradle 7 in release v2.2.0. Gradle 8 is not yet supported. +.. seealso:: + + For further information about Fast DDS-Gen product related versions, please refer to the + :ref:`dependencies_compatibilities_library_dependencies` section. + .. _java_sb: Java JDK diff --git a/docs/notes/notes.rst b/docs/notes/notes.rst index 0df27d6a4..3088d0de1 100644 --- a/docs/notes/notes.rst +++ b/docs/notes/notes.rst @@ -27,8 +27,14 @@ This patch release includes the following **fixes**: 9. Set 2.11.x as EOL .. note:: - When upgrading to version 2.13.3 it is **advisable** to regenerate generated source from IDL files - using `Fast DDS-Gen v3.2.1 `_. + + When upgrading to version 2.13.3 it is **advisable** to regenerate generated source from IDL files + using `Fast DDS-Gen v3.2.1 `_. + +.. seealso:: + + For further information about the corresponding versions of other products related to this Fast DDS version, please + refer to the :ref:`dependencies_compatibilities_product_compatibility` section. Previous versions ================= diff --git a/docs/notes/versions.rst b/docs/notes/versions.rst new file mode 100644 index 000000000..8b7edef39 --- /dev/null +++ b/docs/notes/versions.rst @@ -0,0 +1,391 @@ + +.. include:: ../03-exports/roles.include + +.. _dependencies_compatibilities: + +Dependencies and compatibilities +================================ + +Fast DDS is continuously evolving and improving. +This means that the different software products that are part of the Fast DDS ecosystem are evolving and improving +together with Fast DDS. +This section provides information about the required dependencies for building Fast DDS, as well as about the versions +of the eProsima software products related to Fast DDS. + +.. _dependencies_compatibilities_platform_support: + +Platform support +---------------- + +This following definitions reflects the level of support offered by **eprosima Fast DDS** on different platforms: + +* **Tier 1**: these platforms are subjected to our unit test suite and other testing tools on a frequent basis including + continuous integration jobs, nightly jobs, packaging jobs, and performance testing. + Errors or bugs discovered in these platforms are prioritized for correction by the development team. + Significant errors discovered in Tier 1 platforms can impact release dates and we strive to resolve all known high + priority errors in Tier 1 platforms prior to new version releases. + +* **Tier 2**: these platforms are subject to periodic CI testing which runs both builds and tests with publicly + accessible results. + The CI is expected to be run at least within a week of relevant changes for the current release of *Fast DDS*. + Installation instructions should be available and up-to-date in order for a platform to be listed in this category. + Package-level binary packages may not be provided but providing a downloadable archive of the built workspace is + encouraged. + Errors may be present in released product versions for Tier 2 platforms. + Known errors in Tier 2 platforms will be addressed subject to resource availability on a best effort basis and may or + may not be corrected prior to new version releases. + One or more entities should be committed to continuing support of the platform. + +* **Tier 3**: these platforms are those for which community reports indicate that the release is functional. + The development team does not run the unit test suite or perform any other tests on platforms in Tier 3. + Community members may provide assistance with these platforms. + +.. _dependencies_compatibilities_build_system_dependencies: + +Build system dependencies +------------------------- + +The following table shows the minimum version required of the Fast DDS build system dependencies. + +.. tabs:: + + .. group-tab:: 2.13.x + + .. list-table:: + + * - **CMake** + - 3.20 + + .. list-table:: + :header-rows: 1 + + * - OS \ Architecture + - amd64 + - amd32 + - arm64 + * - Ubuntu Jammy (22.04) + - Tier 1: GCC 11.4 |br| + Tier 3: Clang 15 + - **───** + - Tier 1: GCC 11.4 |br| + Tier 3: Clang 15 + * - Ubuntu Focal (20.04) + - Tier 3: GCC 9 + - **───** + - Tier 3: GCC 9 + * - MacOS Mojave (10.14) + - Tier 1: Clang 15 + - **───** + - **───** + * - Windows 10 + - Tier 1: MSVC v142 (Visual Studio 2019) |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - Tier 2: MSVC v142 (Visual Studio 2019), |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - **───** + * - Windows 11 + - Tier 3: MSVC v143 (Visual Studio 2022) + - Tier 3: MSVC v143 (Visual Studio 2022) + - **───** + * - Debian Buster (10) + - Tier 3: GCC 8 + - **───** + - Tier 3: GCC 8 + * - Android 12 + - Tier 3: SDK 31 + - **───** + - Tier 3: SDK 31 + * - Android 13 + - Tier 3: SDK 33 + - **───** + - Tier 3: SDK 33 + * - QNX 7.1 + - Tier 3: QCC (over GCC 8.3) + - **───** + - Tier 3: QCC (over GCC 8.3) + + .. group-tab:: 2.12.x + + .. list-table:: + + * - **CMake** + - 3.20 + + .. list-table:: + :header-rows: 1 + + * - OS \ Architecture + - amd64 + - amd32 + - arm64 + * - Ubuntu Jammy (22.04) + - Tier 1: GCC 11.4 |br| + Tier 3: Clang 15 + - **───** + - Tier 1: GCC 11.4 |br| + Tier 3: Clang 15 + * - Ubuntu Focal (20.04) + - Tier 3: GCC 9 + - **───** + - Tier 3: GCC 9 + * - MacOS Mojave (10.14) + - Tier 1: Clang 15 + - **───** + - **───** + * - Windows 10 + - Tier 1: MSVC v142 (Visual Studio 2019) |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - Tier 2: MSVC v142 (Visual Studio 2019), |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - **───** + * - Debian Buster (10) + - Tier 3: GCC 8 + - **───** + - Tier 3: GCC 8 + * - Android 12 + - Tier 3: SDK 31 + - **───** + - Tier 3: SDK 31 + * - QNX 7.1 + - Tier 3: QCC (over GCC 8.3) + - **───** + - Tier 3: QCC (over GCC 8.3) + + .. group-tab:: 2.10.x + + .. list-table:: + + * - **CMake** + - 3.16 + + .. list-table:: + :header-rows: 1 + + * - OS \ Architecture + - amd64 + - amd32 + - arm64 + * - Ubuntu Jammy (22.04) + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + - **───** + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + * - Ubuntu Focal (20.04) + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + - **───** + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + * - MacOS Mojave (10.14) + - Tier 1: Clang 12 + - **───** + - **───** + * - Windows 10 + - Tier 1: MSVC v142 (Visual Studio 2019) |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - Tier 2: MSVC v142 (Visual Studio 2019), |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - **───** + * - Debian Buster (10) + - Tier 3: GCC 8 + - **───** + - Tier 3: GCC 8 + * - Android 11 + - Tier 3: SDK 30 + - **───** + - Tier 3: SDK 30 + * - QNX 7.1 + - Tier 3: QCC (over GCC 8.3) + - **───** + - Tier 3: QCC (over GCC 8.3) + + .. group-tab:: 2.6.x + + .. list-table:: + + * - **CMake** + - 3.16 + + .. list-table:: + :header-rows: 1 + + * - OS \ Architecture + - amd64 + - amd32 + - arm64 + * - Ubuntu Focal (20.04) + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + - **───** + - Tier 1: GCC 9 |br| + Tier 3: Clang 12 + * - MacOS Mojave (10.14) + - Tier 1: Clang 12 + - **───** + - **───** + * - Windows 10 + - Tier 1: MSVC v142 (Visual Studio 2019) |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - Tier 2: MSVC v142 (Visual Studio 2019), |br| + Tier 2: MSVC v141 (Visual Studio 2017) + - **───** + * - Debian Buster (10) + - Tier 3: GCC 8 + - **───** + - Tier 3: GCC 8 + +.. _dependencies_compatibilities_library_dependencies: + +Library dependencies +-------------------- + +The following table shows the corresponding versions of the Fast DDS library dependencies. + +.. tabs:: + + .. group-tab:: 2.13.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast CDR `__ + - `v2.1.3 `__ + * - `Foonathan Memory Vendor `__ + - `v1.3.1 `__ + * - `Asio `__ + - `v1.18.1 `__ + * - `TinyXML2 `__ + - `v6.0.0 `__ + * - `OpenSSL `__ + - `v3.1.1 `__ + + .. group-tab:: 2.12.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast CDR `__ + - `v2.1.0 `__ + * - `Foonathan Memory Vendor `__ + - `v1.3.1 `__ + * - `Asio `__ + - `v1.18.1 `__ + * - `TinyXML2 `__ + - `v6.0.0 `__ + * - `OpenSSL `__ + - `v3.1.1 `__ + + .. group-tab:: 2.10.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast CDR `__ + - `v1.0.27 `__ + * - `Foonathan Memory Vendor `__ + - `v1.3.1 `__ + * - `Asio `__ + - `v1.18.1 `__ + * - `TinyXML2 `__ + - `v6.0.0 `__ + * - `OpenSSL `__ + - `v3.1.1 `__ + + .. group-tab:: 2.6.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast CDR `__ + - `v1.0.24 `__ + * - `Foonathan Memory Vendor `__ + - `v1.2.1 `__ + * - `Asio `__ + - `v1.18.1 `__ + * - `TinyXML2 `__ + - `v6.0.0 `__ + * - `OpenSSL `__ + - `v1.1.1 `__ + +.. _dependencies_compatibilities_product_compatibility: + +eProsima products compatibility +------------------------------- + +The following table shows the compatibility between the different versions of the eProsima software products that use +Fast DDS as the core middleware. + +.. tabs:: + + .. group-tab:: 2.13.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast DDS Gen `__ + - `v3.2.1 `__ + * - `Fast DDS Gen - IDL parser `__ + - `v3.0.0 `__ + * - `Fast DDS python `__ + - `v1.4.0 `__ + * - `Shapes Demo `__ + - `v2.13.3 `__ + + .. group-tab:: 2.12.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast DDS Gen `__ + - `v3.1.0 `__ + * - `Fast DDS Gen - IDL parser `__ + - `v2.0.0 `__ + * - `Fast DDS python `__ + - `v1.3.1 `__ + * - `Shapes Demo `__ + - `v2.12.1 `__ + + .. group-tab:: 2.10.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast DDS Gen `__ + - `v2.4.0 `__ + * - `Fast DDS Gen - IDL parser `__ + - `v1.5.0 `__ + * - `Fast DDS python `__ + - `v1.2.1 `__ + * - `Shapes Demo `__ + - `v2.10.3 `__ + + .. group-tab:: 2.6.x + + .. list-table:: + :header-rows: 1 + + * - Product + - Related version + * - `Fast DDS Gen `__ + - `v2.1.2 `__ + * - `Fast DDS Gen - IDL parser `__ + - `v1.2.0 `__ + * - `Fast DDS python `__ + - `v1.0.2 `__ + * - `Shapes Demo `__ + - `v2.6.7 `__ diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt index c8100c899..79220c15f 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist.txt @@ -11,6 +11,7 @@ acks AES alignas allocator +amd ament ami appendable @@ -55,6 +56,7 @@ cmake CMake colcon Colcon +compatibilities config connectionless connext