From 1f78501da85583dac125f4c81652ab8232f057f7 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Thu, 25 Nov 2021 09:28:24 +0100 Subject: [PATCH 1/4] Refs 13029. Point Windows CI badges to last toolset. Signed-off-by: Miguel Company --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 17f33cd0a17..af7c2724a96 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ![Status](https://nexus.lab.fiware.org/static/badges/statuses/incubating.svg) [![Linux ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux/badge/icon?subject=%20%20%20Linux%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux) [![Linux arm64 ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux_aarch64/badge/icon?subject=%20%20%20Linux-aarch64%20CI%20)](http://jenkins.eprosima.com:8080/view/Nightly/job/nightly_fastdds_sec_master_linux_aarch64/) -[![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v141/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v141) +[![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v142/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v142) [![Mac ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_mac/badge/icon?subject=%20%20%20%20%20%20%20Mac%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_mac) [![Coverage](https://img.shields.io/jenkins/coverage/cobertura.svg?jobUrl=http%3A%2F%2Fjenkins.eprosima.com%3A8080%2Fjob%2Fnightly_fastdds_coverage_linux)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_coverage_linux) @@ -56,7 +56,7 @@ We are curious to get to know your use case! * Linux [![Linux ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux/badge/icon?subject=%20%20%20Linux%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux) * Linux-aarch64 [![Linux arm64 ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_linux_aarch64/badge/icon?subject=%20%20%20Linux-aarch64%20CI%20)](http://jenkins.eprosima.com:8080/view/Nightly/job/nightly_fastdds_sec_master_linux_aarch64/) -* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v141/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v141) +* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v142/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_windows/label=windows-secure,platform=x64,toolset=v142) * Mac [![Mac ci](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_mac/badge/icon?subject=%20%20%20%20%20%20%20Mac%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_fastdds_sec_master_mac) ## Installation Guide From 76ca1046ba990b97ce6647456a9ff4a258465ea6 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Thu, 25 Nov 2021 09:40:54 +0100 Subject: [PATCH 2/4] Refs 13029. Bump version. Signed-off-by: Miguel Company --- CMakeLists.txt | 2 +- package.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76acff19768..1adcd6214d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ endif() ############################################################################### # Project # ############################################################################### -project(fastrtps VERSION "2.4.0" LANGUAGES C CXX) +project(fastrtps VERSION "2.4.1" LANGUAGES C CXX) set(PROJECT_NAME_LARGE "Fast RTPS") string(TOUPPER "${PROJECT_NAME}" PROJECT_NAME_UPPER) diff --git a/package.xml b/package.xml index 53094f56478..2c950d2fa31 100644 --- a/package.xml +++ b/package.xml @@ -2,7 +2,7 @@ fastrtps - 2.4.0 + 2.4.1 *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, as defined and maintained by the Object Management Group (OMG) consortium. RTPS is also the wire interoperability protocol defined for the Data Distribution Service (DDS) standard. *eProsima Fast DDS* expose an API to access directly the RTPS protocol, giving the user full access to the protocol internals. From 964ba3ecf48ff4ba582114f499359cd4bf5654b4 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Thu, 25 Nov 2021 11:46:24 +0100 Subject: [PATCH 3/4] Refs 13029. Update foonathan QD. Signed-off-by: Miguel Company --- Public_API_foonathan_memory.md | 9 ------ Quality_Declaration_foonathan_memory.md | 38 ++++++++++++------------- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/Public_API_foonathan_memory.md b/Public_API_foonathan_memory.md index e1f04b768ce..d62f9de5d35 100644 --- a/Public_API_foonathan_memory.md +++ b/Public_API_foonathan_memory.md @@ -30,12 +30,3 @@ This document will be updated if new features are included and used in *eprosima 1. Struct [foonathan::memory::map_node_size](https://foonathan.net/memory/structfoonathan_1_1memory_1_1map__node__size.html) 1. Struct [foonathan::memory::set_node_size](https://foonathan.net/memory/structfoonathan_1_1memory_1_1set__node__size.html) 1. Struct [foonathan::memory::unordered_map_node_size](https://foonathan.net/memory/structfoonathan_1_1memory_1_1unordered__map__node__size.html) - -## Internal methods - -When the library allocates memory blocks, some of this memory is reserved by `foonathan_memory` for internal uses and, consequently, is not available to the user. -The following methods provide information about the internal needs of `foonathan_memory`. - -1. foonathan::memory::detail::debug_fence_size -1. foonathan::memory::detail::max_alignment -1. foonathan::memory::detail::memory_block_stack::implementation_offset diff --git a/Quality_Declaration_foonathan_memory.md b/Quality_Declaration_foonathan_memory.md index addb38672b3..489b8e862b6 100644 --- a/Quality_Declaration_foonathan_memory.md +++ b/Quality_Declaration_foonathan_memory.md @@ -17,12 +17,12 @@ Below are the rationales, notes and caveats for this claim, organized by the req `foonathan_memory` does not have a declared versioning scheme. -The latest release can be found [here](https://github.com/foonathan/memory/releases) and the release notes can be found in the [CHANGELOG](https://github.com/foonathan/memory/blob/master/CHANGELOG.MD). +The latest release can be found [here](https://github.com/foonathan/memory/releases) and the release notes can be found in the [CHANGELOG](https://github.com/foonathan/memory/blob/main/CHANGELOG.md). Even though the current version is `< 1.0.0`, `foonathan_memory` is in [maintenance mode](https://www.jonathanmueller.dev/project/). -*eprosima Fast DDS* ensures `foonathan_memory` version stability by pinning to a specific [commit](https://github.com/foonathan/memory/commits/c619113a616c5771ee693c7abdcef284e02f7d61). +*eprosima Fast DDS* ensures `foonathan_memory` version stability by pinning to a specific [release](https://github.com/foonathan/memory/releases/tag/v0.7-1). Both *eprosima* `foonathan_memory_vendor` utility and *eprosima Fast DDS* CI tests use this specific commit. -This commit (signed December 16th 2019) is more recent than the current v0.6-2 released October 2nd 2019. +The specific tag was released September 5th, 2021. *eprosima Fast DDS* maintainers will keep a continuous watch over new releases in order to assess the impact they could have over *eprosima Fast DDS*. Any `bugfix` or security vulnerability corrected that affects the API used by *eprosima Fast DDS* will be analyzed by the maintainers. @@ -34,13 +34,13 @@ Decision about updating the used commit rests in *eprosima Fast DDS* maintainers ### Public API Declaration [1.iii] -`foonathan_memory` public API is defined in its [documentation](https://foonathan.net/memory/index.html). +`foonathan_memory` public API is defined in its [documentation](https://memory.foonathan.net/). Additionally, *eprosima Fast DDS* has clearly stated the API used by the project [here](Public_API_foonathan_memory.md). ### API and ABI Stability Policy [1.iv]/[1.v] `foonathan_memory` does not provide any versioning policy. -However, by pinning *eprosima Fast DDS* CI tests and `foonathan_memory_vendor` utility to a particular commit ensures API and ABI stability within *eprosima Fast DDS* project. +However, by pinning *eprosima Fast DDS* CI tests and `foonathan_memory_vendor` utility to a particular release ensures API and ABI stability within *eprosima Fast DDS* project. ## Change Control Process [2] @@ -69,17 +69,14 @@ All `foonathan_memory_vendor` pull requests will be peer reviewed and need at le ### Continuous Integration [2.iv] -`foonathan_memory` changes run CI tests and the latest results can be seen here: - -* [Ubuntu and MacOS](https://travis-ci.org/github/foonathan/memory) -* [Windows](https://ci.appveyor.com/project/foonathan/memory/branch/master) +`foonathan_memory` changes run CI tests and the latest results can be seen [here](https://github.com/foonathan/memory/actions/workflows/main_ci.yml) Additionally, eProsima CI runs `foonathan_memory` tests nightly in all *eprosima Fast DDS* [Tier 1 platforms](PLATFORM_SUPPORT.md). Latest results can be found here: * Linux [![Linux ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux/badge/icon?subject=%20%20%20Linux%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux) * Linux-aarch64 [![Linux arm64 ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux_aarch64/badge/icon?subject=%20%20%20Linux-aarch64%20CI%20)](http://jenkins.eprosima.com:8080/view/Nightly/job/nightly_foonathan_memory_master_linux_aarch64/) -* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v141/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v141) +* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v142/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v142) * Mac [![Mac ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_mac/badge/icon?subject=%20%20%20%20%20%20%20Mac%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_mac) `foonathan_memory_vendor` does not provide CI tests being only an utility providing CMake files that configure `foonathan_memory`. @@ -93,18 +90,18 @@ If ROS 2 dependencies are found, `foonathan_memory_vendor` could run ROS 2 linte ### Feature Documentation [3.i] -`foonathan_memory` provides a [feature list](https://foonathan.net/memory/index.html) with descriptions of its main features. +`foonathan_memory` provides a [feature list](https://memory.foonathan.net/index.html) with descriptions of its main features. ### Public API Documentation [3.ii] -`foonathan_memory` has embedded API documentation that is generated using [Doxygen](https://www.doxygen.nl/index.html) and is [hosted](https://foonathan.net/memory/namespacefoonathan_1_1memory.html) alongside the feature documentation. +`foonathan_memory` has embedded API documentation that is generated using [Doxygen](https://www.doxygen.nl/index.html) and is [hosted](https://memory.foonathan.net/namespacefoonathan_1_1memory.html) alongside the feature documentation. Additionally, *eprosima Fast DDS* provides a [document](Public_API_foonathan_memory.md) stating the API used within the project. ### License [3.iii] The license for `foonathan_memory` is Zlib. -A summary statement is provided in each source file and a full copy can be found in the [LICENSE](https://raw.githubusercontent.com/foonathan/memory/master/LICENSE) file. +A summary statement is provided in each source file and a full copy can be found in the [LICENSE](https://raw.githubusercontent.com/foonathan/memory/main/LICENSE) file. ### Copyright Statements [3.iv] @@ -114,20 +111,21 @@ The copyright holders each provide a statement of copyright in each source file ### Feature and Public API Testing [4.i]/[4.ii] -`foonathan_memory` provides tests which simulate typical usage located in the [`test`](https://github.com/foonathan/memory/tree/master/test) directory. +`foonathan_memory` provides tests which simulate typical usage located in the [`test`](https://github.com/foonathan/memory/tree/main/test) directory. Specifically, the API used by *eprosima Fast DDS* is tested in the following tests: -* Allocators: [test/default_allocator.cpp](https://github.com/foonathan/memory/blob/c619113a616c5771ee693c7abdcef284e02f7d61/test/default_allocator.cpp) -* Allocator implementations: [test/memory_pool.cpp](https://github.com/foonathan/memory/blob/c619113a616c5771ee693c7abdcef284e02f7d61/test/memory_pool.cpp) -* Adapters and Wrappers: [test/segregator.cpp](https://github.com/foonathan/memory/blob/c619113a616c5771ee693c7abdcef284e02f7d61/test/segregator.cpp) +* Allocators: [test/default_allocator.cpp](https://github.com/foonathan/memory/blob/v0.7-1/test/default_allocator.cpp) +* Allocator implementations: [test/memory_pool.cpp](https://github.com/foonathan/memory/blob/v0.7-1/test/memory_pool.cpp) +* Adapters and Wrappers: [test/segregator.cpp](https://github.com/foonathan/memory/blob/v0.7-1/test/segregator.cpp) * Alias templates: `foonathan_memory` does not provide any tests to check this functionality. Regardless, *eprosima Fast DDS* tests these features in the [PersistenceTests](https://github.com/eProsima/Fast-DDS/tree/master/test/unittest/rtps/persistence) and the [WriterProxyTests](https://github.com/eProsima/Fast-DDS/tree/master/test/unittest/rtps/reader). ### Coverage [4.iii] -`foonathan_memory` does not track testing coverage. -However, *eprosima Fast DDS* ensures that every feature and API used within the library has been tested by running its own [coverage analysis](http://jenkins.eprosima.com:8080/job/nightly_fastdds_coverage_linux/), which completely covers all API used by Fast DDS. +`foonathan_memory` tracks testing coverage on [codecov](https://codecov.io/github/foonathan/memory). + +Apart from this, *eprosima Fast DDS* ensures that every feature and API used within the library has been tested by running its own [coverage analysis](http://jenkins.eprosima.com:8080/job/nightly_fastdds_coverage_linux/), which completely covers all API used by Fast DDS. In order to change the `foonathan_memory` commit used in Fast DDS, maintainers must ensure that all new API is tested accordingly. ### Performance [4.iv] @@ -153,7 +151,7 @@ Current nightly results can be found here: * Linux [![Linux ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux/badge/icon?subject=%20%20%20Linux%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux) * Linux-aarch64 [![Linux arm64 ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_linux_aarch64/badge/icon?subject=%20%20%20Linux-aarch64%20CI%20)](http://jenkins.eprosima.com:8080/view/Nightly/job/nightly_foonathan_memory_master_linux_aarch64/) -* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v141/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v141) +* Windows [![Windows ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v142/badge/icon?subject=%20%20%20%20Windows%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_windows/label=windows-secure,platform=x64,toolset=v142) * Mac [![Mac ci](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_mac/badge/icon?subject=%20%20%20%20%20%20%20Mac%20CI%20)](http://jenkins.eprosima.com:8080/job/nightly_foonathan_memory_master_mac) ## Vulnerability Disclosure Policy [7.i] From dde7ebb49d688bd57877991008107d332b751e6a Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Thu, 25 Nov 2021 12:22:15 +0100 Subject: [PATCH 4/4] Refs 13029. Update foonathan QD (commit/release). Signed-off-by: Miguel Company --- Quality_Declaration_foonathan_memory.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Quality_Declaration_foonathan_memory.md b/Quality_Declaration_foonathan_memory.md index 489b8e862b6..33a6711815a 100644 --- a/Quality_Declaration_foonathan_memory.md +++ b/Quality_Declaration_foonathan_memory.md @@ -21,12 +21,12 @@ The latest release can be found [here](https://github.com/foonathan/memory/relea Even though the current version is `< 1.0.0`, `foonathan_memory` is in [maintenance mode](https://www.jonathanmueller.dev/project/). *eprosima Fast DDS* ensures `foonathan_memory` version stability by pinning to a specific [release](https://github.com/foonathan/memory/releases/tag/v0.7-1). -Both *eprosima* `foonathan_memory_vendor` utility and *eprosima Fast DDS* CI tests use this specific commit. +Both *eprosima* `foonathan_memory_vendor` utility and *eprosima Fast DDS* CI tests use this specific release. The specific tag was released September 5th, 2021. *eprosima Fast DDS* maintainers will keep a continuous watch over new releases in order to assess the impact they could have over *eprosima Fast DDS*. Any `bugfix` or security vulnerability corrected that affects the API used by *eprosima Fast DDS* will be analyzed by the maintainers. -Decision about updating the used commit rests in *eprosima Fast DDS* maintainers. +Decision about updating the used commit/release rests in *eprosima Fast DDS* maintainers. ### Version Stability [1.ii] @@ -45,7 +45,7 @@ However, by pinning *eprosima Fast DDS* CI tests and `foonathan_memory_vendor` u ## Change Control Process [2] `foonathan_memory` does not have a stated change control process. -Nevertheless, only when the pinned commit is updated is *eprosima Fast DDS* affected. +Nevertheless, only when the pinned commit/release is updated is *eprosima Fast DDS* affected. The change control process for the update of the `foonathan_memory_vendor` utility follows [eProsima Contributing guidelines](https://github.com/eProsima/policies/blob/main/CONTRIBUTING.md). ### Change Requests [2.i] @@ -126,14 +126,14 @@ Regardless, *eprosima Fast DDS* tests these features in the [PersistenceTests](h `foonathan_memory` tracks testing coverage on [codecov](https://codecov.io/github/foonathan/memory). Apart from this, *eprosima Fast DDS* ensures that every feature and API used within the library has been tested by running its own [coverage analysis](http://jenkins.eprosima.com:8080/job/nightly_fastdds_coverage_linux/), which completely covers all API used by Fast DDS. -In order to change the `foonathan_memory` commit used in Fast DDS, maintainers must ensure that all new API is tested accordingly. +In order to change the `foonathan_memory` commit/release used in Fast DDS, maintainers must ensure that all new API is tested accordingly. ### Performance [4.iv] `foonathan_memory` does not conduct performance tests. -*eprosima Fast DDS* will run its [performance tests](test/performance) and analyze their results before deciding to change the pinned commit to prevent performance regression. -Being pinned to a specific commit, any performance regression in *eprosima Fast DDS* could not be blamed on `foonathan_memory`. +*eprosima Fast DDS* will run its [performance tests](test/performance) and analyze their results before deciding to change the pinned commit/release to prevent performance regression. +Being pinned to a specific release, any performance regression in *eprosima Fast DDS* could not be blamed on `foonathan_memory`. ### Linters and Static Analysis [4.v]