Skip to content

Commit

Permalink
Bump version to v3.0.0 (#884)
Browse files Browse the repository at this point in the history
* Refs #21366: Bump version to v3.0.0

Signed-off-by: elianalf <[email protected]>

* Refs #21366: Add words to the spelling wordlist and last PRs

Signed-off-by: elianalf <[email protected]>

* Refs #21366: Remove warning about new release

Signed-off-by: elianalf <[email protected]>

* Remove warning in titlepage

Signed-off-by: elianalf <[email protected]>

* Refs #21366: Update generated files

Signed-off-by: elianalf <[email protected]>

* Refs #21366: Add latest merged PRs

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Apply rev suggestions

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Apply Lara's suggestions

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Add links to the release notes

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Fix build & test issues

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Update system dependencies

Signed-off-by: JesusPoderoso <[email protected]>

* Refs #21366: Add latest merged PRs in release notes

Signed-off-by: JesusPoderoso <[email protected]>

---------

Signed-off-by: elianalf <[email protected]>
Signed-off-by: JesusPoderoso <[email protected]>
Co-authored-by: JesusPoderoso <[email protected]>
  • Loading branch information
elianalf and JesusPoderoso authored Aug 26, 2024
1 parent 871db4c commit 5b0ee33
Show file tree
Hide file tree
Showing 14 changed files with 207 additions and 23 deletions.
5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Linux Build Status](http://jenkins.eprosima.com:8080/job/nightly_fastdds-docs_master/badge/icon?subject=CI%20testing%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds-docs_master/)

<!-- TODO(eduponz): Remove this before releasing v3.0.0 -->
> [!WARNING]
> **In preparation for v3.0.0, Fast DDS' master branch is undergoing major changes entailing API breaks.**
> **Until Fast DDS v3.0.0 is released, it is strongly advisable to use the latest stable branch, [2.14.x](https://github.com/eProsima/Fast-DDS/tree/2.14.x).**
<a href="http://www.eprosima.com"><img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSd0PDlVz1U_7MgdTe0FRIWD0Jc9_YH-gGi0ZpLkr-qgCI6ZEoJZ5GBqQ" align="left" hspace="8" vspace="2" width="100" height="100" ></a>

*eprosima Fast DDS* (formerly Fast RTPS) is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). eProsima Fast DDS implements the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP,
Expand Down
5 changes: 5 additions & 0 deletions code/Examples/C++/DDSHelloWorld/src/HelloWorldCdrAux.ipp
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,13 @@ void serialize_key(
eprosima::fastcdr::Cdr& scdr,
const HelloWorld& data)
{

static_cast<void>(scdr);
static_cast<void>(data);
scdr << data.index();

scdr << data.message();

}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,8 @@ bool HelloWorldPubSubType::compute_key(
HelloWorld_max_key_cdr_typesize);

// Object that serializes the data.
eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1);
eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv2);
ser.set_encoding_flag(eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR2);
eprosima::fastcdr::serialize_key(ser, *p_type);
if (force_md5 || HelloWorld_max_key_cdr_typesize > 16)
{
Expand Down
6 changes: 0 additions & 6 deletions docs/02-formalia/titlepage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
eProsima Fast DDS Documentation
</h1>

.. TODO(eduponz): Remove this before releasing v3.0.0
.. warning::

In preparation for v3.0.0, Fast DDS' master branch is undergoing major changes entailing **API breaks**.
Until Fast DDS v3.0.0 is released, it is strongly advisable to use the latest stable version, `2.14 <https://fast-dds.docs.eprosima.com/en/v2.14.1>`_.

.. image:: /01-figures/logo.png
:height: 100px
:width: 100px
Expand Down
1 change: 1 addition & 0 deletions docs/fastdds/rtps_layer/rtps_layer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,7 @@ However, a custom Payload pool can be given to |RTPSDomain::createRTPSWriter-api
Writers and Readers will use the provided pool when a new :class:`CacheChange_t` is requested
or released.

.. _rtps_layer_ipayload_pool_interface:

IPayloadPool interface
^^^^^^^^^^^^^^^^^^^^^^
Expand Down
2 changes: 1 addition & 1 deletion docs/notes/notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Information about the release lifecycle can be found
`here <https://github.com/eProsima/Fast-DDS/blob/master/RELEASE_SUPPORT.md>`_.

.. include:: previous_versions/v2.14.3.rst
.. include:: previous_versions/v3.0.0.rst

.. seealso::

Expand Down
5 changes: 5 additions & 0 deletions docs/notes/previous_versions/supported_versions.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Supported versions
==================

Version 3.0
------------

.. include:: v3.0.0.rst

Version 2.14
------------

Expand Down
3 changes: 1 addition & 2 deletions docs/notes/previous_versions/v2.14.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@

.. important::

Fast DDS v2.14 will be the last minor version of Fast DDS v2, the next major release will be Fast DDS
v3.0.0, stay tuned!
Fast DDS v2.14 is the last minor version of Fast DDS v2, take a look at Fast DDS v3!

This release includes the following **new features**:

Expand Down
3 changes: 1 addition & 2 deletions docs/notes/previous_versions/v2.14.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@

.. important::

Fast DDS v2.14 will be the last minor version of Fast DDS v2, the next major release will be Fast DDS
v3.0.0, stay tuned!
Fast DDS v2.14 is the last minor version of Fast DDS v2, take a look at Fast DDS v3!

This release includes the following **features** in an ABI compatible manner:

Expand Down
3 changes: 1 addition & 2 deletions docs/notes/previous_versions/v2.14.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@

.. important::

Fast DDS v2.14 will be the last minor version of Fast DDS v2, the next major release will be Fast DDS
v3.0.0, stay tuned!
Fast DDS v2.14 is the last minor version of Fast DDS v2, take a look at Fast DDS v3!

This release includes the following **features** in an ABI compatible manner:

Expand Down
7 changes: 3 additions & 4 deletions docs/notes/previous_versions/v2.14.3.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
`Version 2.14.3 (latest) <https://fast-dds.docs.eprosima.com/en/v2.14.3/index.html>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`Version 2.14.3 <https://fast-dds.docs.eprosima.com/en/v2.14.3/index.html>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. important::

Fast DDS v2.14 will be the last minor version of Fast DDS v2, the next major release will be Fast DDS
v3.0.0, stay tuned!
Fast DDS v2.14 is the last minor version of Fast DDS v2, take a look at Fast DDS v3!

This release includes the following **features** in an ABI compatible manner:

Expand Down
92 changes: 92 additions & 0 deletions docs/notes/previous_versions/v3.0.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
`Version 3.0.0 (latest) <https://fast-dds.docs.eprosima.com/en/v3.0.0/index.html>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Fast DDS v3.0.0 is a mayor release that entails some **API breaks** and new features.
This version is **not backwards compatible** with previous versions.
Refer to the `migration guide <https://github.com/eProsima/Fast-DDS/blob/master/UPGRADING.md>`__ for hints moving to Fast DDS v3.0.0.

This release includes the following **API breaks**:

#. Fastrtps package name migration to fastdds.
#. API and namespace migration from RTPS to DDS.
#. Make private previously public API.
#. Make all public headers .hpp.
#. :ref:`dynamic-types` refactor.
#. :ref:`IPayloadPool<rtps_layer_ipayload_pool_interface>` refactor.
#. :ref:`Participant discovery structures <api_rtps_builtin_data_participantbuiltintopicdata>` refactor.
#. GUIDLess :ref:`Discovery Server<discovery_server>`.
#. Gather-send implementation.
#. ``const`` qualify all data related inputs in DataWriter APIs.
#. Refactor RTPS reader APIs.
#. Refactor RTPS writer APIs.
#. Refactor RTPS ``WriterHistory``.
#. Refactor ``TopicDataType``.
#. Make ``StdoutErrConsumer`` default ``LogConsumer``.
#. All ``DataWriter::write`` overloads return ``ReturnCode_t`` type.
#. Add :ref:`XML configuration<flow-controllers>` for ``FlowControllerDescriptor`` and remove ``ThroughputController``.
#. Move ``DataReader::TypeConsistencyEnforcement`` and ``DataReader::DataRepresentation`` from ``TypeConsistency`` to ``DataReaderQos``.
#. Migrate ``BuiltinEndpoints`` defines to variables.
#. Remove ``string_convert`` header and source.
#. `Examples <https://github.com/eProsima/Fast-DDS/blob/master/examples/cpp/hello_world/README.md>`__ refactor.
#. Update Fast DDS docs QoS examples.
#. Link SHM locator kind with Fast DDS major version.
#. Discard local SHM locators that cannot be opened.

This release includes the following new **features**:

#. :ref:`property_type_propagation` policy.
#. :ref:`Create Participant with default profile <dds_layer_domainParticipant_creation_default_profile>`
(use environment XML configuration).
#. Create :ref:`dds_layer_domainParticipantExtendedQos` class.
#. Add product version on Participant Discovery information.
#. Automatically unmatch remote participants on participant deletion.
#. Refactor Statistics module IDL.
#. Change PDP discovery database backup restore order.
#. Create ``InitialConnection`` for TCP initial peers.
#. New :ref:`property_max_message_size` property to limit output datagrams size.
#. Use ``PID_DOMAIN_ID`` during PDP.
#. Ubuntu example testing automation infrastructure.
#. Update versions in fastdds.repos file.

This release includes the following **improvements**:

#. Make ``DataReader::return_loan`` return ``RETCODE_OK`` on loanable sequences without loans.
#. Use absolute paths when loading XML files.
#. Remove ``FASTCDR_VERSION_MAJOR == 1`` related code.
#. Setting ``vendor_id`` on received ``CacheChange_t``.
#. Builtin data related improvements.
#. GitHub repository management.
#. `Migration guide <https://github.com/eProsima/Fast-DDS/blob/master/UPGRADING.md>`__.
#. Update fastcdr thirdparty.
#. Documentation updates due to major version change.

This release includes the following **fixes**:

#. Handle errors when setting socket buffer sizes.
#. Do not require ``PYTHON_VERSION`` to be defined in .bat files.
#. Use ``%*`` instead of ``loop`` in .bat scripts.
#. Set DataSharing in ``WriterProxyData`` and ``ReaderProxyData``.
#. Minor fix in ``DDSBlackboxTestsBasic.cpp``.
#. Fix PDP and EDP unittest compilation.
#. Fix ``AllocTest`` compilation.
#. Correct liveliness state in a multiple reader and one writer scenario.
#. Only apply content filter to ALIVE changes.
#. Fix compilation when building static library.
#. Properly delete builtin statistics writers upon ``delete_contained_entities()``.
#. Correctly initialize ``MatchingFailureMask`` constants to be used with the ``std::bitset`` API.
#. Change monitor service writer entity id.
#. Fix EDP build warning without security.
#. Fix compilation warning.
#. Fix discovery server not connecting due to ports logic.
#. Fix assertion in ``TopicPayloadPool::release_history``.
#. Fix topic interference on ``liveliness_changed`` status.
#. Fix typo in CMakeLists.txt.
#. Solve ``SecurityManager`` memory issue.
#. Fuzzer regressions and fix build issues.
#. Address build issues for documentation and different platforms.
#. Add unsigned specification to literals.

.. important::

When upgrading to version 3.0.0 it is **required** to regenerate generated source from IDL files
using `Fast DDS-Gen v4.0.0 <https://github.com/eProsima/Fast-DDS-Gen/releases/tag/v4.0.0>`_.
91 changes: 91 additions & 0 deletions docs/notes/versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,61 @@ The following table shows the minimum version required of the Fast DDS build sys

.. tabs::

.. group-tab:: 3.0.x

.. list-table::

* - **CMake**
- 3.20

.. list-table::
:header-rows: 1

* - OS \ Architecture
- amd64
- amd32
- arm64
* - Ubuntu Noble (24.04)
- Tier 3: GCC 13.2
- **───**
- Tier 3: GCC 13.2
* - Ubuntu Jammy (22.04)
- Tier 1: GCC 11.4 |br|
Tier 3: Clang 15
- **───**
- Tier 1: GCC 11.4 |br|
Tier 3: Clang 15
* - MacOS Mojave (10.14)
- Tier 1: Clang 15
- **───**
- **───**
* - Windows 10
- Tier 1: MSVC v142 (Visual Studio 2019) |br|
Tier 3: MSVC v141 (Visual Studio 2017)
- Tier 3: MSVC v142 (Visual Studio 2019) |br|
Tier 3: 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.14.x

.. list-table::
Expand Down Expand Up @@ -203,6 +258,24 @@ The following table shows the corresponding versions of the Fast DDS library dep

.. tabs::

.. group-tab:: 3.0.x

.. list-table::
:header-rows: 1

* - Product
- Related version
* - `Fast CDR <https://github.com/eProsima/Fast-CDR/>`__
- `v2.2.3 <https://github.com/eProsima/Fast-CDR/releases/tag/v2.2.3>`__
* - `Foonathan Memory Vendor <https://github.com/eProsima/foonathan_memory_vendor/>`__
- `v1.3.1 <https://github.com/eProsima/foonathan_memory_vendor/releases/tag/v1.3.1>`__
* - `Asio <https://github.com/chriskohlhoff/asio>`__
- `v1.18.1 <https://github.com/chriskohlhoff/asio/tree/asio-1-18-1>`__
* - `TinyXML2 <https://github.com/leethomason/tinyxml2>`__
- `v6.0.0 <https://github.com/leethomason/tinyxml2/tree/6.0.0>`__
* - `OpenSSL <https://github.com/openssl/openssl>`__
- `v3.1.1 <https://github.com/openssl/openssl/releases/tag/openssl-3.1.1>`__

.. group-tab:: 2.14.x

.. list-table::
Expand Down Expand Up @@ -273,6 +346,24 @@ Fast DDS as the core middleware.

.. tabs::

.. group-tab:: 3.0.x

.. list-table::
:header-rows: 1

* - Product
- Related version
* - `Fast DDS Gen <https://github.com/eProsima/Fast-DDS-Gen/>`__
- `v4.0.0 <https://github.com/eProsima/Fast-DDS-Gen/releases/tag/v4.0.0>`__
* - `Fast DDS Gen - IDL parser <https://github.com/eProsima/IDL-Parser/>`__
- `v4.0.0 <https://github.com/eProsima/IDL-Parser/releases/tag/v4.0.0>`__
* - `Fast DDS python <https://github.com/eProsima/Fast-DDS-python/>`__
- `v2.0.0 <https://github.com/eProsima/Fast-DDS-python/releases/tag/v2.0.0>`__
* - `Shapes Demo <https://github.com/eProsima/ShapesDemo/>`__
- `v3.0.0 <https://github.com/eProsima/ShapesDemo/releases/tag/v3.0.0>`__
* - `Discovery Server <https://github.com/eProsima/Discovery-Server/>`__
- `v2.0.0 <https://github.com/eProsima/Discovery-Server/releases/tag/v2.0.0>`__

.. group-tab:: 2.14.x

.. list-table::
Expand Down
4 changes: 4 additions & 0 deletions docs/spelling_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ homebrew
Homebrew
hostid
hotfix
hpp
idl
IDL
ifaddrs
Expand All @@ -162,6 +163,7 @@ le
Libp
libs
lifecycle
loanable
localhost
localtime
LogTopic
Expand Down Expand Up @@ -226,6 +228,7 @@ qnx
QoS
QosPolicyCount
quadratically
reachability
ReaderProxyData
readFromCdrMessage
readNextData
Expand All @@ -248,6 +251,7 @@ scalable
seqNum
SequenceNumber
sequencenumbers
Serialization
shm
SHM
simpleEDP
Expand Down

0 comments on commit 5b0ee33

Please sign in to comment.