Skip to content

Commit

Permalink
Fast DDS v2.9.0 release notes and bump version to v2.9.0 (#432)
Browse files Browse the repository at this point in the history
* Refs #16440: bump version to v2.9.0

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16440: fix default MemoryManagementPolicy value in QoS section

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16440: fix default FASTDDS_STATISTICS CMake option

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16440: update Fast DDS release notes

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
  • Loading branch information
JLBuenoLopez committed Dec 13, 2022
1 parent e0a1c74 commit 0e95532
Show file tree
Hide file tree
Showing 7 changed files with 103 additions and 29 deletions.
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,9 +380,9 @@ def configure_doxyfile(
# built documents.
#
# The short X.Y version.
version = u'2.8.1'
version = u'2.9.0'
# The full version, including alpha/beta/rc tags.
release = u'2.8.1'
release = u'2.9.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ List of QoS Policy data members:
- -1
* - |RTPSEndpointQos::history_memory_policy-api|
- :ref:`memorymanagementpolicy`
- |PREALLOCATED_MEMORY_MODE-api|
- |PREALLOCATED_WITH_REALLOC_MEMORY_MODE-api|

* |RTPSEndpointQos::unicast_locator_list-api|:
Defines the list of unicast locators associated to the DDS Entity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Enable Statistics module
------------------------

The Statistics module has to be enabled both at build and runtime.
On the one hand, :ref:`CMake option <cmake_options>` ``FASTDDS_STATISTICS`` must be enabled when building the library.
On the one hand, :ref:`CMake option <cmake_options>` ``FASTDDS_STATISTICS`` must be enabled when building the library
(since Fast DDS v2.9.0 this CMake option is enabled by default).
On the other hand, the desired statistics DataWriters should be enabled using the :ref:`statistics_dds_layer`.

The statistics DataWriters can be enabled automatically using the :ref:`propertypolicyqos` ``fastdds.statistics`` and
Expand Down
2 changes: 1 addition & 1 deletion docs/installation/configuration/cmake_options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ dependency on other options.
- Enables the *Fast DDS* Statistics module. Please refer to :ref:`statistics` for |br|
more information on this module.
- ``ON`` ``OFF``
- ``OFF``
- ``ON``
* - :class:`COMPILE_EXAMPLES`
- Builds the *Fast DDS* examples. It is set to ``ON`` if :class:`EPROSIMA_BUILD` is ``ON`` and |br|
:class:`EPROSIMA_INSTALLER` is ``OFF``. These examples can be found in the |br|
Expand Down
81 changes: 59 additions & 22 deletions docs/notes/notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,70 @@
Information about the release lifecycle can be found
`here <https://github.com/eProsima/Fast-DDS/blob/master/RELEASE_SUPPORT.md>`_.

Version 2.8.1
Version 2.9.0
=============

This release includes the following **bugfixes**:
This minor release includes several new features (new log macros to avoid conflicts with external libraries), behavior
change (default memory management policy is no longer
:cpp:enumerator:`PREALLOCATED_MEMORY_MODE<eprosima::fastrtps::rtps::MemoryManagementPolicy::PREALLOCATED_MEMORY_MODE>`,
enable by default Fast DDS Statistics module but only taking statistics metrics if the corresponding Statistics
DataWriter is enabled), performance improvements, CI improvements (including address sanitizer jobs), and several bug
fixes.

.. note::
Mind that, even though this release is API compatible with previous v2.x versions, it is *NOT* ABI compatible with
previous versions.
This means that applications upgrading Fast DDS to v2.9.0 will require recompilation, though not source code
modification.

.. note::
It is also advisable to regenerate the type support from the IDL files using
`Fast DDS-Gen v2.3.0 <https://github.com/eProsima/Fast-DDS-Gen/releases/tag/v2.3.0>`_.
Furthermore, if upgrading to v2.9.0, it is also recommended to upgrade Fast CDR to
`v1.0.26 <https://github.com/eProsima/Fast-CDR/releases/tag/v1.0.26>`_.

This release includes the following **features**:

1. Statistics module fixes:
1. Increase statistics DataWriter history.
2. Fix Statistics module CI.
3. Install Statistics IDL file.
4. Fix for building in old compilers.
5. Fix core dumped in |DomainParticipant::delete_contained_entities-api|.
1. New log macros :c:macro:`EPROSIMA_LOG_INFO <EPROSIMA_LOG_INFO>`,
:c:macro:`EPROSIMA_LOG_WARNING <EPROSIMA_LOG_WARNING>` and :c:macro:`EPROSIMA_LOG_ERROR <EPROSIMA_LOG_ERROR>`.
2. Add ``ENABLE_OLD_LOG_MACROS`` CMake option to support
:ref:`disabling the compilation of previous log macros <old_log_macros_disable>`.

1. Address sanitizer fixes:
1. Add ASAN CI job and ``SANITIZE`` :ref:`CMake option <cmake_options>`.
2. Fixes reported by address sanitizer.
This release includes the following **behavior changes**:

1. Default :ref:`memory management policy <memorymanagementpolicy>` set to
:cpp:enumerator:`PREALLOCATED_WITH_REALLOC_MEMORY_MODE<eprosima::fastrtps::rtps::MemoryManagementPolicy::PREALLOCATED_WITH_REALLOC_MEMORY_MODE>`.
2. Statistics metrics are only calculated/accumulated when their corresponding DataWriter is enabled in
:ref:`Fast DDS Statistics Module <statistics_enable_datawriters>`.
3. Enable ``FASTDDS_STATISTICS`` :ref:`CMake option <cmake_options>` by default.

This release includes the following **improvements**:

1. CI improvements:
1. Add address sanitizer job for Fast DDS library.
2. Add address sanitizer job for Discovery Server test suite.
2. Upgrade Fast CDR submodule.

This release includes the following **bugfixes**:

1. Synchronization fixes:
1. Fix data races when creating DataWriters.
2. Ensure ``shared_mutex`` implementation is consistent throughout supported platforms.

1. Other fixes:
1. Include missing ReadCondition header.
2. Fix selection of output locators.
3. Fix null-dereference on ``parseXMLEnumDynamicType``.
4. Include ``2.8.x`` branch release support.
5. Send GAPs correctly when using separate sending.
6. Fixes for building in old compilers.
7. Fix |DataReader::read_next_instance-api| and |DataReader::take_next_instance-api| implementation.
1. Fix deadlock when removing remote DomainParticipants by expired liveliness when using Security.
2. Protect :cpp:func:`DomainParticipant::set_listener()<eprosima::fastdds::dds::DomainParticipant::set_listener>`
avoiding null reference.
3. Fix data race on ``WriterProxy::stop`` while TimedEvent is being triggered.
4. Protect creation/destruction of Boost's ``named_mutex``.
2. CI fixes:
1. Fix Statistics Module test suite.
2. Fix recurring data races in test suite.
3. Fix thread sanitizer job keeping Ubuntu 20.04.
3. Other:
1. Fix Topic creation when registering a type name different from the internal TypeSupport name.
2. Fix communication with asymmetric :ref:`discovery_ignore_flags`.
3. Several dependencies fixes upgrading to Ubuntu 22.04.
4. Disable error logged when DomainParticipant profile is not found.
5. Fix CMake for Fast DDS use as submodule.
6. Upgrade internal type supports generated with Fast DDS-Gen v2.3.0.
7. Other minor fixes.

.. note::
If you are upgrading from a version older than 1.7.0, it is **required** to regenerate generated source from IDL
Expand All @@ -42,6 +78,7 @@ This release includes the following **bugfixes**:
Previous versions
=================

.. include:: previous_versions/v2.8.1.rst
.. include:: previous_versions/v2.8.0.rst
.. include:: previous_versions/v2.7.1.rst
.. include:: previous_versions/v2.7.0.rst
Expand Down
4 changes: 2 additions & 2 deletions docs/notes/previous_versions/v2.8.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ fixes.

.. note::
It is also advisable to regenerate the type support from the IDL files using
[Fast DDS-Gen v2.2.0](https://github.com/eProsima/Fast-DDS-Gen/releases/tag/v2.2.0).
`Fast DDS-Gen v2.2.0 <https://github.com/eProsima/Fast-DDS-Gen/releases/tag/v2.2.0>`_.
Furthermore, if upgrading to v2.8.0, it is also recommended to upgrade Fast CDR to
[v1.0.25](https://github.com/eProsima/Fast-CDR/releases/tag/v1.0.25)
`v1.0.25 <https://github.com/eProsima/Fast-CDR/releases/tag/v1.0.25>`_.

This release includes the following **features**:

Expand Down
36 changes: 36 additions & 0 deletions docs/notes/previous_versions/v2.8.1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Version 2.8.1
^^^^^^^^^^^^^

This release includes the following **bugfixes**:

1. Statistics module fixes:
1. Increase statistics DataWriter history.
2. Fix Statistics module CI.
3. Install Statistics IDL file.
4. Fix for building in old compilers.
5. Fix core dumped in
:cpp:func:`delete_contained_entities()<eprosima::fastdds::dds::DomainParticipant::delete_contained_entities>`.

1. Address sanitizer fixes:
1. Add ASAN CI job and ``SANITIZE`` :ref:`CMake option <cmake_options>`.
2. Fixes reported by address sanitizer.

1. Synchronization fixes:
1. Fix data races when creating DataWriters.
2. Ensure ``shared_mutex`` implementation is consistent throughout supported platforms.

1. Other fixes:
1. Include missing ReadCondition header.
2. Fix selection of output locators.
3. Fix null-dereference on ``parseXMLEnumDynamicType``.
4. Include ``2.8.x`` branch release support.
5. Send GAPs correctly when using separate sending.
6. Fixes for building in old compilers.
7. Fix :cpp:func:`DataReader::read_next_instance()<eprosima::fastdds::dds::DataReader::read_next_instance>`
and :cpp:func:`DataReader::take_next_instance()<eprosima::fastdds::dds::DataReader::take_next_instance>`
implementation.

.. note::
If you are upgrading from a version older than 1.7.0, it is **required** to regenerate generated source from IDL
files using *fastddsgen*.
If you are upgrading from any older version, regenerating the code is *highly recommended*.

0 comments on commit 0e95532

Please sign in to comment.