Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make service wait for response reader #390

Merged
merged 10 commits into from
Jun 17, 2020

Conversation

MiguelCompany
Copy link
Contributor

This addresses ros2/ros2#922

The idea is to send the GUID of the response subscription on each request (using related_sample_identity), so the service could check if that reader is already matched to the response publisher when sending the response.

I've made the changes so they are backwards compatible. The service will only use and check the related guid when received. The client will check the received related guid against both the response reader and the request writer, in case an old service answers with the latter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany changed the title Feature/service response reader Make service wait for response reader May 24, 2020
Copy link
Contributor

@hidmic hidmic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder, does (ab)using the writer GUID in the related sample identity compromises cross-vendor communication? We'll run full CI anyways, but I figured I'd ask.

@@ -104,6 +104,18 @@ __rmw_send_response(
wparams.related_sample_identity().sequence_number().low =
(int32_t)(request_header->sequence_number & 0xFFFFFFFF);

const eprosima::fastrtps::rtps::GUID_t& related_guid =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MiguelCompany nit:

Suggested change
const eprosima::fastrtps::rtps::GUID_t& related_guid =
const eprosima::fastrtps::rtps::GUID_t & related_guid =

@@ -104,6 +104,18 @@ __rmw_send_response(
wparams.related_sample_identity().sequence_number().low =
(int32_t)(request_header->sequence_number & 0xFFFFFFFF);

const eprosima::fastrtps::rtps::GUID_t& related_guid =
wparams.related_sample_identity().writer_guid();
if( (related_guid.entityId.value[3] & 0x04) != 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MiguelCompany nit:

Suggested change
if( (related_guid.entityId.value[3] & 0x04) != 0)
if((related_guid.entityId.value[3] & 0x04) != 0)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, a comment explaining this bit fiddling would be great.

@MiguelCompany MiguelCompany force-pushed the feature/service-response-reader branch 2 times, most recently from 263963d to 5348c84 Compare May 26, 2020 16:10
@MiguelCompany
Copy link
Contributor Author

@hidmic Thanks for your review.

I wonder, does (ab)using the writer GUID in the related sample identity compromises cross-vendor communication? We'll run full CI anyways, but I figured I'd ask.

Cyclone is not interoperable with Fast RTPS on services, and I'm not sure about RTI Connext. The latter would most probably ignore the related_guid from the request, which is covered by the following lines.

if (response.sample_identity_.writer_guid() == info_->reader_guid_ ||
response.sample_identity_.writer_guid() == info_->writer_guid_) {

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany force-pushed the feature/service-response-reader branch from 5348c84 to 3e14a6b Compare May 26, 2020 16:28
@hidmic
Copy link
Contributor

hidmic commented May 26, 2020

Full CI:

  • Linux Build Status

@hidmic
Copy link
Contributor

hidmic commented May 26, 2020

@MiguelCompany mind to fix linter issues?

Copy link
Member

@jacobperron jacobperron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides some linter issues, the change LGTM. We should evaluate if this is going to break interoperability with Connext (assuming it was working before).

Comment on lines 113 to 114
if((related_guid.entityId.value[3] & entity_id_is_reader_bit) != 0)
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will cause a linter error

Suggested change
if((related_guid.entityId.value[3] & entity_id_is_reader_bit) != 0)
{
if ((related_guid.entityId.value[3] & entity_id_is_reader_bit) != 0) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed on 13c540b

{
// Related guid is a reader, so it is the response subscription guid.
// Wait for the response writer to be matched with it.
if(!info->pub_listener_->wait_for_subscription(related_guid, std::chrono::milliseconds(100))) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(!info->pub_listener_->wait_for_subscription(related_guid, std::chrono::milliseconds(100))) {
if (!info->pub_listener_->wait_for_subscription(related_guid, std::chrono::milliseconds(100))) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed on 13c540b

Copy link
Member

@ivanpauno ivanpauno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that blocking in rmw_send_response is acceptable.

@@ -88,7 +89,8 @@ class ClientListener : public eprosima::fastrtps::SubscriberListener
if (eprosima::fastrtps::rtps::ALIVE == response.sample_info_.sampleKind) {
response.sample_identity_ = response.sample_info_.related_sample_identity;

if (response.sample_identity_.writer_guid() == info_->writer_guid_) {
if (response.sample_identity_.writer_guid() == info_->reader_guid_ ||
response.sample_identity_.writer_guid() == info_->writer_guid_) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the linter doesn't accept that style (it the linter is happy, no change needed).

Suggested style:

        if (response.sample_identity_.writer_guid() == info_->reader_guid_ ||
          response.sample_identity_.writer_guid() == info_->writer_guid_)
        {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed on 13c540b


private:
std::mutex mutex_;
std::set<eprosima::fastrtps::rtps::GUID_t> subscriptions_ RCPPUTILS_TSA_GUARDED_BY(mutex_);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: prefer std::unordered_set

Copy link
Contributor Author

@MiguelCompany MiguelCompany May 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 3c48b25. I had to add a hash function for GUID_t.

{
// Related guid is a reader, so it is the response subscription guid.
// Wait for the response writer to be matched with it.
if(!info->pub_listener_->wait_for_subscription(related_guid, std::chrono::milliseconds(100))) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rmw_send_response was not blocking, and it should be continue being not blocking.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if we change this to 0 timeout? That way we at least know that it won't work and can react to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the conversation below, I assume the code is ok as it is right now.

If this be changed to an indefinite block, please tell me and I'll do it

@jacobperron
Copy link
Member

I don't think that blocking in rmw_send_response is acceptable.

As I understand, blocking is the primary patch being proposed. Though it is not documented in the rmw API, the rcl API does make the assumption that it is a non-blocking call (I think we should update the documentation if we merge this PR). At least there is a timeout so we won't block indefinitely, but I agree it would be better if we did not block at all. However, what are the alternatives? Do you think a patch similar to what's being proposed in ros2/rmw_cyclonedds#187 would work? (Though, it looks like the rmw_cyclonedds patch is still blocking similar to this PR)

@ivanpauno
Copy link
Member

ivanpauno commented May 26, 2020

As I understand, blocking is the primary patch being proposed.

Yes.

At least there is a timeout so we won't block indefinitely, but I agree it would be better if we did not block at all

👍

However, what are the alternatives?

A mechanism to ensure that rmw_is_service_server_available returns true when the client discovered the server and the server the client.

Do you think a patch similar to what's being proposed in ros2/rmw_cyclonedds#187 would work? (Though, it looks like the rmw_cyclonedds patch is still blocking similar to this PR)

I thought the cyclonedds PR could solve the problem without needing to introduce blocking behavior, but thinking about it again, it isn't true.


If many people leave a 👍, I think that introducing the blocking behavior and documenting it is ok.

@ivanpauno ivanpauno dismissed their stale review May 26, 2020 20:40

waiting for other people approval on blocking behavior change

@hidmic
Copy link
Contributor

hidmic commented May 26, 2020

Same as in ros2/rmw_cyclonedds#187, I think this is OK for a short-term workaround. And while blocking isn't ideal, even if discovery takes up to 100ms to happen we've simply moved the wait from client to server (which isn't strictly worst, performance-wise, since discovery is async).

Copy link
Member

@wjwwood wjwwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a fan of the blocking either. It's not a real solution and it's a fragile workaround, just moving the problem to "less frequent" or only on slow computers, which isn't good either.

I would prefer to see us return an intermediate error case and let the higher level deal with waiting or retrying. For me this function should send the response immediately or else fail for some reason.

That means the workaround would need to be in rcl, rclcpp, or the user code instead.

Same as in ros2/rmw_cyclonedds#187, I think this is OK for a short-term workaround.

My fear, based on experience, is that both will become permanent. I would prefer to see a proper solution like a more reliable implementation at the middleware layer (e.g. using keys or maybe having a way to keep the client from assuming the service is ready until we know it should work, i.e. matching isn't enough apparently) or changing our API, like making the rclcpp API so that the user must send the response and then make it possible for that to fail. Allowing the user who implements the service server callback to handle any waiting or retrying that may be required.

{
// Related guid is a reader, so it is the response subscription guid.
// Wait for the response writer to be matched with it.
if(!info->pub_listener_->wait_for_subscription(related_guid, std::chrono::milliseconds(100))) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if we change this to 0 timeout? That way we at least know that it won't work and can react to it.

@wjwwood
Copy link
Member

wjwwood commented May 26, 2020

If others on the team feel that the urgency in fixing this issue outweighs the concerns about the workaround, then I'll go along with it, but I cannot enthusiastically approve this workaround (nor the cyclone one last I looked, but maybe it was updated in the meantime).

@eboasson
Copy link

Interesting ... similar approaches to fixing the same problems at the same time 🙂

@wjwwood @hidmic @ivanpauno, I share your dislike about these workarounds. The way I see it, the options are:

  1. stick with dashing/eloquent behaviour (broken, but not so badly that it is unusable in practice);
  2. accept blocking in rmw_send_response as a workaround (with the risk of it becoming permanent);
  3. don't block, instead always handle the first serviceable request in the queue (but this comes at a significant increase in complexity, which is a risk in itself and consumes even more development effort on a throwaway thing).

Evidently, the proper solution is fixing the deficiency in the DDS spec (or the implementation of it) but at least for Cyclone there are process barriers that prevent doing that prior to the Foxy release. It seems to me 1 and 2 are the only sensible options. Pick your poison ...

@MiguelCompany
Copy link
Contributor Author

@eboasson

  1. stick with dashing/eloquent behaviour (broken, but not so badly that it is unusable in practice);
  2. accept blocking in rmw_send_response as a workaround (with the risk of it becoming permanent);
  3. don't block, instead always handle the first serviceable request in the queue (but this comes at a significant increase in complexity, which is a risk in itself and consumes even more development effort on a throwaway thing).

I think there is a fourth option

  1. don't block and return a specific error if we know that the response is not going to be received. This way we let the upper layer decide whether to wait or not.

I can even think of new a new API function allowing the user to wait till the response can be reliably sent.

@eboasson
Copy link

@MiguelCompany certainly there is that 4th option, or the 5th of an additional interface like you mention, but those make the application responsible for dealing with the problem. I just don't believe this should be the application's problem.

Furthermore, just like @wjwwood I worry about temporary workarounds becoming permanent, and a workaround that involves changes to the application will definitely never go away ...

@ivanpauno
Copy link
Member

@eboasson @MiguelCompany I would stick with the old poison, i.e. option 2.
The issue is easy to document, and users can work it around if they need (and we can work it around in our tests too).

It would be great in early G-Turtle to iterate on a solution of the problem.

Evidently, the proper solution is fixing the deficiency in the DDS spec (or the implementation of it) but at least for Cyclone there are process barriers that prevent doing that prior to the Foxy release. It seems to me 1 and 2 are the only sensible options. Pick your poison ...

I think that more than an issue of the DDS spec, we assumed in the service implementation something that is not ensured: if A discovered B, B has already discovered A.
If needed, we could add a side-channel "discovery mechanism", to ensure rmw_is_service_server_available returns true correctly.

Note: I'm not sure if rmw_connext implementation has the same problems, as we are using an implementation of RPC over DDS they provide.

@hidmic
Copy link
Contributor

hidmic commented May 27, 2020

I think that more than an issue of the DDS spec, we assumed in the service implementation something that is not ensured: if A discovered B, B has already discovered A.

On that note. OMG DDS-RPC 1.0 spec covers the discovery problem for RPC services in section 7.6. It acknowledges that independent discovery isn't robust and can lead to races (Basic Service Mapping under section 7.6.1). It then suggests an extension to the data type sent over discovery built-in topics and an algorithm (Enhanced Service Mapping under section 7.6.2), which basically boils down to the client not sending requests until it has discovered the server's response data writer and the server not picking up those requests until it has discovered the client's response data reader.

Something like that would make the most sense to me, providing for reliable service operation without cluttering user code with fail-safe/retry logic. But I can understand that's unlikely to land for Foxy. Thus, I'd stick to poison No. 2 too, keeping changes under the rmw hood so we can backport a proper fix in a future patch release.

@jacobperron
Copy link
Member

In lieu of a proper fix (like the one suggested by @hidmic), I'd be okay with a version of option 2 landing for Foxy. I agree we should aim to replace the patch with a better solution early in the G-turtle cycle.

@wjwwood
Copy link
Member

wjwwood commented May 27, 2020

Ok, option 2 is ok with me, since the caveats are known.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@nuclearsandwich
Copy link
Member

I understand why and I'd agree, but I think we don't have 32 bits CI available.

armhf CI is unavailable right now due to issues with kernel/userland mismatch for 32-bit userlands on our CI. You can build and run locally using the osrf/ubuntu_armhf:focal docker image to get a test via QEMU emulation.

@jacobperron
Copy link
Member

Given that we're scheduled to release this week, I'd be more comfortable holding this PR for the first patch release to give us more time for testing. This means holding until the end of this week.

@ivanpauno
Copy link
Member

Given that we're scheduled to release this week, I'd be more comfortable holding this PR for the first patch release to give us more time for testing. This means holding until the end of this week.

If we do this change in a patch release and somebody updates the machine that has the client side but not the one that has the server side, communication will stop working (@MiguelCompany am I correct?).

IMO, this can't be backported, it's now or no fix for Foxy.

@hidmic
Copy link
Contributor

hidmic commented Jun 1, 2020

If we do this change in a patch release and somebody updates the machine that has the client side but not the one that has the server side, communication will stop working (@MiguelCompany am I correct?).

@ivanpauno this patch is backwards compatible IIUC

@ivanpauno
Copy link
Member

@ivanpauno this patch is backwards compatible IIUC

The server side for sure, but not the client side.

@ivanpauno
Copy link
Member

ivanpauno commented Jun 1, 2020

After talking offline with @hidmic, this looks backward compatible to me too.

@SteveMacenski
Copy link

@jacobperron its been a week, would it be OK to merge now?

@hidmic
Copy link
Contributor

hidmic commented Jun 17, 2020

Going in.

@hidmic hidmic merged commit d7a9559 into ros2:master Jun 17, 2020
@MiguelCompany MiguelCompany deleted the feature/service-response-reader branch July 8, 2020 05:57
@jacobperron jacobperron added this to Proposed in Foxy Patch Release 2 via automation Jul 13, 2020
@jacobperron jacobperron moved this from Proposed to To do in Foxy Patch Release 2 Jul 13, 2020
@jacobperron jacobperron moved this from To do to Needs backport in Foxy Patch Release 2 Jul 13, 2020
{
auto guid_is_present = [this, guid]() -> bool
{
return subscriptions_.find(guid) != subscriptions_.end();

This comment was marked as outdated.

jacobperron pushed a commit that referenced this pull request Jul 21, 2020
* Sending response subscriber guid with request.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Server ensures that response reader is matched.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Addressing review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Linters

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Using unordered_set

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Linters

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Additional checks on rmw_service_server_is_available.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Suggestions on guid_utils

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Added TODO mentioning DDS-RPC.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* linters again.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
jacobperron added a commit that referenced this pull request Jul 21, 2020
* Sending response subscriber guid with request.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Server ensures that response reader is matched.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Addressing review.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Linters

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Using unordered_set

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Linters

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Additional checks on rmw_service_server_is_available.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Suggestions on guid_utils

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Added TODO mentioning DDS-RPC.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* linters again.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
@jacobperron jacobperron removed this from Needs backport in Foxy Patch Release 2 Jul 22, 2020
@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/new-packages-for-foxy-fitzroy-2020-07-23/15570/2

@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/new-packages-and-patch-release-for-ros-2-foxy-fitzroy-2020-08-07/15818/1

timonegk pushed a commit to timonegk/ros-rolling-rmw-fastrtps-cpp-release that referenced this pull request May 21, 2022
ros-rolling-rmw-fastrtps-cpp (6.2.1-1jammy) jammy; urgency=high
.
  * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>)
  * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>)
  * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>)
  * Removed some heap interactions in rmw_serialize.cpp (#590 <ros2/rmw_fastrtps#590>)
  * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, WideAwakeTN
.
ros-rolling-rmw-fastrtps-cpp (6.2.0-1jammy) jammy; urgency=high
.
  * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>)
  * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>)
  * Contributors: Shane Loretz, iRobot ROS
.
ros-rolling-rmw-fastrtps-cpp (6.1.2-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (6.1.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (6.1.0-1jammy) jammy; urgency=high
.
  * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>)
  * Contributors: mauropasse
.
ros-rolling-rmw-fastrtps-cpp (6.0.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (5.2.2-1jammy) jammy; urgency=high
.
  * Correctly recalculate serialized size on bounded sequences. (#540 <ros2/rmw_fastrtps#540>)
  * Fix type size alignment. (#550 <ros2/rmw_fastrtps#550>)
  * Contributors: Miguel Company
.
ros-rolling-rmw-fastrtps-cpp (5.2.1-1jammy) jammy; urgency=high
.
  * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>)
  * Contributors: Chris Lalancette
.
ros-rolling-rmw-fastrtps-cpp (5.2.0-1jammy) jammy; urgency=high
.
  * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>)
  * Contributors: Barry Xu
.
ros-rolling-rmw-fastrtps-cpp (5.1.0-1jammy) jammy; urgency=high
.
  * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>)
    * Added is_plain_ attribute to base TypeSupport.
    * Added new methods to base TypeSupport.
    * Implementation of rmw_borrow_loaned_message.
    * Implementation of rmw_return_loaned_message_from_publisher.
    * Enable loan messages on publishers of plain types.
    * Implementation for taking loaned messages.
    * Enable loan messages on subscriptions of plain types.
  * Contributors: Miguel Company
.
ros-rolling-rmw-fastrtps-cpp (5.0.0-1jammy) jammy; urgency=high
.
  * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>)
  * Unique network flows (#502 <ros2/rmw_fastrtps#502>)
  * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>)
  * Contributors: Miguel Company, shonigmann
.
ros-rolling-rmw-fastrtps-cpp (4.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (4.4.0-1jammy) jammy; urgency=high
.
  * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>)
  * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>)
  * Contributors: Jacob Perron, Miguel Company
.
ros-rolling-rmw-fastrtps-cpp (4.3.0-1jammy) jammy; urgency=high
.
  * Load profiles based on topic names (#335 <ros2/rmw_fastrtps#335>)
  * Set rmw_dds_common::GraphCache callback after init succeeds. (#496 <ros2/rmw_fastrtps#496>)
  * Handle typesupport errors on fetch. (#495 <ros2/rmw_fastrtps#495>)
  * Contributors: Eduardo Ponz Segrelles, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (4.2.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (4.1.0-1jammy) jammy; urgency=high
.
  * Check for correct context shutdown (#486 <ros2/rmw_fastrtps#486>)
  * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>)
  * Contributors: Ignacio Montesino Valle, José Luis Bueno López
.
ros-rolling-rmw-fastrtps-cpp (4.0.0-1jammy) jammy; urgency=high
.
  * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>)
    * Workaround when the client is gone before server sends response
    * Change add to the map to listener callback
  * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>)
  * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>)
    * Add QD links for dependencies to rmw_fastrtps_cpp QD
    * Provide external dependencies QD links
    * Update rmw_fastrtps README to use Fast DDS
    * Update rmw_fastrtps_cpp QD: Fast DDS & unit test
    * Update README rmw_fastrtps_cpp to QL2
  * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo
.
ros-rolling-rmw-fastrtps-cpp (3.1.4-1jammy) jammy; urgency=high
.
  * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>)
  * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>)
  * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (3.1.3-1jammy) jammy; urgency=high
.
  * Return RMW_RET_UNSUPPORTED in rmw_get_serialized_message_size (#452 <ros2/rmw_fastrtps#452>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-cpp (3.1.2-1jammy) jammy; urgency=high
.
  * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>)
  * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-cpp (3.1.1-1jammy) jammy; urgency=high
.
  * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>)
  * Make sure type can be unregistered successfully (#437 <ros2/rmw_fastrtps#437>)
  * Contributors: Barry Xu, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (3.1.0-1jammy) jammy; urgency=high
.
  * Add tests for native entity getters. (#439 <ros2/rmw_fastrtps#439>)
  * Avoid deadlock if graph update fails. (#438 <ros2/rmw_fastrtps#438>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (3.0.0-1jammy) jammy; urgency=high
.
  * Call Domain::removePublisher while failure occurs in create_publisher (#434 <ros2/rmw_fastrtps#434>)
  * Contributors: Barry Xu
.
ros-rolling-rmw-fastrtps-cpp (2.6.0-1jammy) jammy; urgency=high
.
  * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>)
  * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (2.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (2.4.0-1jammy) jammy; urgency=high
.
  * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (2.3.0-1jammy) jammy; urgency=high
.
  * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (2.2.0-1jammy) jammy; urgency=high
.
  * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>)
  * Contributors: Ivan Santiago Paunovic
.
ros-rolling-rmw-fastrtps-cpp (2.1.0-1jammy) jammy; urgency=high
.
  * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (2.0.0-1jammy) jammy; urgency=high
.
  * Remove domain_id and localhost_only from node API (#407 <ros2/rmw_fastrtps#407>)
  * Amend rmw_init() implementation: require enclave. (#406 <ros2/rmw_fastrtps#406>)
  * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>)
  * Contributors: Ivan Santiago Paunovic, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (1.1.0-1jammy) jammy; urgency=high
.
  * Ensure compliant init/shutdown API implementation. (#401 <ros2/rmw_fastrtps#401>)
  * Update Quality Declaration to QL3. (#403 <ros2/rmw_fastrtps#403>)
  * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>)
  * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>)
  * Contributors: Michel Hidalgo, Miguel Company
.
ros-rolling-rmw-fastrtps-cpp (1.0.1-1jammy) jammy; urgency=high
.
  * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>)
  * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>)
  * Contributors: Chris Lalancette, Stephen Brawner
.
ros-rolling-rmw-fastrtps-cpp (1.0.0-1jammy) jammy; urgency=high
.
  * Remove API related to manual by node liveliness.  (#379 <ros2/rmw_fastrtps#379>)
  * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>)
  * Contributors: Ivan Santiago Paunovic, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-cpp (0.9.1-1jammy) jammy; urgency=high
.
  * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>)
  * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>)
  * Contributors: Alejandro Hernández Cordero, brawner
.
ros-rolling-rmw-fastrtps-cpp (0.9.0-1jammy) jammy; urgency=high
.
  * Add missing export of rmw_dds_common. (#374 <ros2/rmw_fastrtps#374>)
  * Rename rosidl_message_bounds_t. (#373 <ros2/rmw_fastrtps#373>)
  * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>)
  * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>)
  * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>)
  * Rename rosidl_generator_c namespace to rosidl_runtime_c. (#367 <ros2/rmw_fastrtps#367>)
  * Remove custom typesupport for rmw_dds_common interfaces. (#364 <ros2/rmw_fastrtps#364>)
  * Added rosidl_runtime c and cpp depencencies. (#351 <ros2/rmw_fastrtps#351>)
  * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>)
  * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>)
  * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>)
  * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>)
  * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>)
  * Passing down type support information (#342 <ros2/rmw_fastrtps#342>)
  * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>)
  * Contributors: Alejandro Hernández Cordero, Dirk Thomas, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas
.
ros-rolling-rmw-fastrtps-cpp (0.8.1-1jammy) jammy; urgency=high
.
  * use return_loaned_message_from (#334 <ros2/rmw_fastrtps#334>)
  * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>)
  * Zero copy api (#322 <ros2/rmw_fastrtps#322>)
  * update signature for added pub/sub options (#329 <ros2/rmw_fastrtps#329>)
  * Contributors: Brian Marchi, Karsten Knese, William Woodall
.
ros-rolling-rmw-fastrtps-cpp (0.8.0-1jammy) jammy; urgency=high
.
  * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>)
  * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>)
  * Fix error message (#290 <ros2/rmw_fastrtps#290>)
  * Contributors: Jacob Perron, M. M
.
ros-rolling-rmw-fastrtps-cpp (0.7.3-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-cpp (0.7.2-1jammy) jammy; urgency=high
.
  * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>)
  * Contributors: Nick Burek
.
ros-rolling-rmw-fastrtps-cpp (0.7.1-1jammy) jammy; urgency=high
.
  * Support arbitrary message namespaces  (#266 <ros2/rmw_fastrtps#266>)
  * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>)
  * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>)
  * Contributors: Jacob Perron, Michael Carroll, Ross Desmond
.
ros-rolling-rmw-fastrtps-cpp (0.7.0-1jammy) jammy; urgency=high
.
  * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>)
  * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>)
  * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>)
  * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib
  * use namespace_prefix from shared package
  * Contributors: Dirk Thomas, DongheeYe, William Woodall, ivanpauno
.
ros-rolling-rmw-fastrtps-cpp (0.6.1-1jammy) jammy; urgency=high
.
  * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>)
  * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>)
  * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>)
  * refactor to support init options and context (#237 <ros2/rmw_fastrtps#237>)
  * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>)
  * use uint8_array (#240 <ros2/rmw_fastrtps#240>)
  * Contributors: Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond, William Woodall
.
ros-rolling-rmw-fastrtps-cpp (0.6.0-1jammy) jammy; urgency=high
.
  * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>)
  * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>)
  * add rmw_get_serialization_format (#215 <ros2/rmw_fastrtps#215>)
  * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203
  * Revert "fix template closing indentation (#214 <ros2/rmw_fastrtps#214>)"
  * fix template closing indentation (#214 <ros2/rmw_fastrtps#214>)
  * Contributors: Chris Lalancette, Dirk Thomas, Karsten Knese, Michael Carroll, Miguel Company, Mikael Arguedas
.
ros-rolling-rmw-fastrtps-cpp (0.5.1-1jammy) jammy; urgency=high
.
  * update maintainer
  * Contributors: Dirk Thomas
.
ros-rolling-rmw-fastrtps-cpp (0.5.0-1jammy) jammy; urgency=high
.
  * Avoid allocations (#211 <ros2/rmw_fastrtps#211>)
  * Temporary buffer remove (#207 <ros2/rmw_fastrtps#207>)
  * Validate the buffer_ of CustomServiceRequest object before using it to (#210 <ros2/rmw_fastrtps#210>)
  * update usage of rcutils_join_path() (#208 <ros2/rmw_fastrtps#208>)
  * Expose raw CDR stream for publish and subscribe (#186 <ros2/rmw_fastrtps#186>)
  * Remove topic partitions (#192 <ros2/rmw_fastrtps#192>)
  * Fix leak if client reponse is never taken (#201 <ros2/rmw_fastrtps#201>)
  * Revert "Export rmw_fastrtps_cpp target" (#200 <ros2/rmw_fastrtps#200>)
  * Support access control  (#197 <ros2/rmw_fastrtps#197>)
  * Export rmw_fastrtps_cpp target (#198 <ros2/rmw_fastrtps#198>)
  * Fix deserialization segfault in bionic. (#199 <ros2/rmw_fastrtps#199>)
  * Fix namespaces (#196 <ros2/rmw_fastrtps#196>)
  * Merge pull request #182 <ros2/rmw_fastrtps#182> from ros2/node_name_in_user_data
  * add participant listener
  * add node name to user data
  * change export order for static linking (#190 <ros2/rmw_fastrtps#190>)
  * update style (#189 <ros2/rmw_fastrtps#189>)
  * optimize timeout judgement according to different condition (#187 <ros2/rmw_fastrtps#187>)
  * use existing check_wait_set_for_data to avoid duplicated code (#185 <ros2/rmw_fastrtps#185>)
  * Enable logging level manipulation from rmw_fastrtps (#156 <ros2/rmw_fastrtps#156>)
  * Small performance improvements (#183 <ros2/rmw_fastrtps#183>)
  * Segmentation error to dereference nullptr (#180 <ros2/rmw_fastrtps#180>)
  * Contributors: Dirk Thomas, Ethan Gao, Guillaume Autran, Karsten Knese, Michael Carroll, MiguelCompany, Mikael Arguedas, Minggang Wang, Rohit Salem, Shane Loretz, Sriram Raghunathan, William Woodall, jwang11
.
ros-rolling-rmw-fastrtps-cpp (0.4.0-1jammy) jammy; urgency=high
.
  * Merge pull request #178 <ros2/rmw_fastrtps#178> from ros2/fix_wrong_count
  * Merge pull request #177 <ros2/rmw_fastrtps#177> from ros2/rename_group
  * Wait set two words (#175 <ros2/rmw_fastrtps#175>)
  * not exporting pthread manually (#174 <ros2/rmw_fastrtps#174>)
  * Merge pull request #169 <ros2/rmw_fastrtps#169> from ros2/rep149
  * Merge pull request #171 <ros2/rmw_fastrtps#171> from jwang11/master
  * rcutils_join_path returns a char * now. (#173 <ros2/rmw_fastrtps#173>)
  * memory leak issue (#172 <ros2/rmw_fastrtps#172>)
  * Unify and simplify de/serializeROSmessage processing
  * Avoid duplicated code in calculateMaxSerializedSize for array and normal member (#168 <ros2/rmw_fastrtps#168>)
  * Fix the issues to dereference to nullptr (#165 <ros2/rmw_fastrtps#165>)
  * Fix rmw_fastrtps dead code (#163 <ros2/rmw_fastrtps#163>)
  * Merge pull request #167 <ros2/rmw_fastrtps#167> from deng02/tune-count-pub-sub
  * Remove string allocation in the count of subscribers and publishers
  * use auto deduction and nullptr to keep coding style consistent (#162 <ros2/rmw_fastrtps#162>)
  * Merge pull request #164 <ros2/rmw_fastrtps#164> from dejanpan/master
  * Fix several parameter check issues in rmw_fastrtps_cpp apis
  * Remove unnecessary dependency on rosidl_generator_cpp (#161 <ros2/rmw_fastrtps#161>)
  * Move the hasData checks for non-blocking wait 'timeout' higher (#158 <ros2/rmw_fastrtps#158>)
  * Support loading default XML profile file (#153 <ros2/rmw_fastrtps#153>)
  * Drop duplicated rmw_init.cpp in rmw_fastrtps_cpp/CMakeLists.txt (#155 <ros2/rmw_fastrtps#155>)
  * Merge pull request #154 <ros2/rmw_fastrtps#154> from ros2/uncrustify_master
  * Removing magic numbers: old maximun lengths (#152 <ros2/rmw_fastrtps#152>)
timonegk pushed a commit to timonegk/ros-rolling-rmw-fastrtps-shared-cpp-release that referenced this pull request May 21, 2022
ros-rolling-rmw-fastrtps-shared-cpp (6.2.1-1jammy) jammy; urgency=high
.
  * Address linter waning for windows. (#592 <ros2/rmw_fastrtps#592>)
  * Add pub/sub init, publish and take instrumentation using tracetools (#591 <ros2/rmw_fastrtps#591>)
  * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>)
  * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>)
  * Contributors: Chen Lihui, Christophe Bedard, Ivan Santiago Paunovic, Tomoya Fujita
.
ros-rolling-rmw-fastrtps-shared-cpp (6.2.0-1jammy) jammy; urgency=high
.
  * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>)
  * Complete events support (#583 <ros2/rmw_fastrtps#583>)
  * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>)
  * Change default to synchronous (#571 <ros2/rmw_fastrtps#571>)
  * Contributors: Audrow Nash, Miguel Company, Shane Loretz, iRobot ROS
.
ros-rolling-rmw-fastrtps-shared-cpp (6.1.2-1jammy) jammy; urgency=high
.
  * Fix cpplint error (#574 <ros2/rmw_fastrtps#574>)
  * Contributors: Jacob Perron
.
ros-rolling-rmw-fastrtps-shared-cpp (6.1.1-1jammy) jammy; urgency=high
.
  * Fixes for uncrustify 0.72 (#572 <ros2/rmw_fastrtps#572>)
  * Contributors: Chris Lalancette
.
ros-rolling-rmw-fastrtps-shared-cpp (6.1.0-1jammy) jammy; urgency=high
.
  * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>)
  * Fix QoS depth settings for clients/service being ignored. (#564 <ros2/rmw_fastrtps#564>)
  * Contributors: Chen Lihui, mauropasse
.
ros-rolling-rmw-fastrtps-shared-cpp (6.0.0-1jammy) jammy; urgency=high
.
  * Update rmw_context_impl_t definition. (#558 <ros2/rmw_fastrtps#558>)
  * Update the LoanManager to do internal locking. (#552 <ros2/rmw_fastrtps#552>)
  * Contributors: Chris Lalancette, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (5.2.2-1jammy) jammy; urgency=high
.
  * Pass the CRL down to Fast-DDS if available. (#546 <ros2/rmw_fastrtps#546>)
  * Contributors: Chris Lalancette
.
ros-rolling-rmw-fastrtps-shared-cpp (5.2.1-1jammy) jammy; urgency=high
.
  * Use the new rmw_dds_common::get_security_files (#544 <ros2/rmw_fastrtps#544>)
  * Support for SubscriptionOptions::ignore_local_publications (#536 <ros2/rmw_fastrtps#536>)
  * Change links from index.ros.org -> docs.ros.org (#539 <ros2/rmw_fastrtps#539>)
  * Contributors: Chris Lalancette, Jose Antonio Moral
.
ros-rolling-rmw-fastrtps-shared-cpp (5.2.0-1jammy) jammy; urgency=high
.
  * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>)
  * Contributors: Barry Xu
.
ros-rolling-rmw-fastrtps-shared-cpp (5.1.0-1jammy) jammy; urgency=high
.
  * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>)
    * Added is_plain_ attribute to base TypeSupport.
    * Added new methods to base TypeSupport.
    * Implementation of rmw_borrow_loaned_message.
    * Implementation of rmw_return_loaned_message_from_publisher.
    * Enable loan messages on publishers of plain types.
    * Implementation for taking loaned messages.
    * Enable loan messages on subscriptions of plain types.
  * Export rmw_dds_common as an rmw_fastrtps_shared_cpp dependency (#530 <ros2/rmw_fastrtps#530>)
  * Update includes after rcutils/get_env.h deprecation (#529 <ros2/rmw_fastrtps#529>)
  * Contributors: Christophe Bedard, Michel Hidalgo, Miguel Company
.
ros-rolling-rmw-fastrtps-shared-cpp (5.0.0-1jammy) jammy; urgency=high
.
  * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>)
  * Unique network flows (#502 <ros2/rmw_fastrtps#502>)
  * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>)
  * Contributors: Miguel Company, shonigmann
.
ros-rolling-rmw-fastrtps-shared-cpp (4.5.0-1jammy) jammy; urgency=high
.
  * Take and return new RMW_DURATION_INFINITE correctly (#515 <ros2/rmw_fastrtps#515>)
  * Contributors: Emerson Knapp
.
ros-rolling-rmw-fastrtps-shared-cpp (4.4.0-1jammy) jammy; urgency=high
.
  * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>)
  * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>)
  * Contributors: Jacob Perron, Miguel Company
.
ros-rolling-rmw-fastrtps-shared-cpp (4.3.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-shared-cpp (4.2.0-1jammy) jammy; urgency=high
.
  * Make sure to lock the mutex protecting client_endpoints_. (#492 <ros2/rmw_fastrtps#492>)
  * Contributors: Chris Lalancette
.
ros-rolling-rmw-fastrtps-shared-cpp (4.1.0-1jammy) jammy; urgency=high
.
  * Use interface whitelist for localhost only (#476 <ros2/rmw_fastrtps#476>)
  * Make use of error return value in decrement_context_impl_ref_count (#488 <ros2/rmw_fastrtps#488>)
  * Remove unnecessary includes (#487 <ros2/rmw_fastrtps#487>)
  * Use new time_utils function to limit rmw_time_t values to 32-bits (#485 <ros2/rmw_fastrtps#485>)
  * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>)
  * Remove unused headers MessageTypeSupport.hpp and ServiceTypeSupport.hpp (#481 <ros2/rmw_fastrtps#481>)
  * Contributors: Jacob Perron, José Luis Bueno López, Michael Jeronimo, Miguel Company, Stephen Brawner
.
ros-rolling-rmw-fastrtps-shared-cpp (4.0.0-1jammy) jammy; urgency=high
.
  * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>)
    * Workaround when the client is gone before server sends response
    * Change add to the map to listener callback
  * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>)
  * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>)
    * Add QD links for dependencies to rmw_fastrtps_shared_cpp QD.
    * Provide external dependencies QD links.
    * Update rmw_fastrtps_shared_cpp QD: Fast DDS
    * Update README rmw_fastrtps_shared_cpp to QL2
  * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo
.
ros-rolling-rmw-fastrtps-shared-cpp (3.1.4-1jammy) jammy; urgency=high
.
  * Perform fault injection in all creation/destruction APIs. (#453 <ros2/rmw_fastrtps#453>)
  * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>)
  * Handle too large QoS queue depths.  (#457 <ros2/rmw_fastrtps#457>)
  * Update rmw_fastrtps_cpp and rmw_fastrtps_shared_cpp QDs to QL2. (#456 <ros2/rmw_fastrtps#456>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (3.1.3-1jammy) jammy; urgency=high
.
  * checked client implementation and return RMW_RET_INCORRECT_RMW_IMPLEMENTATION (#451 <ros2/rmw_fastrtps#451>)
  * Update service/client request/response API error returns (#450 <ros2/rmw_fastrtps#450>)
  * Contributors: Alejandro Hernández Cordero, Jose Tomas Lorente
.
ros-rolling-rmw-fastrtps-shared-cpp (3.1.2-1jammy) jammy; urgency=high
.
  * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>)
  * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-shared-cpp (3.1.1-1jammy) jammy; urgency=high
.
  * Add tests for RMW QoS to DDS attribute conversion. (#449 <ros2/rmw_fastrtps#449>)
  * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (3.1.0-1jammy) jammy; urgency=high
.
  * Inject faults on __rmw_publish() and run_listener_thread() call. (#441 <ros2/rmw_fastrtps#441>)
  * Update gid API return codes. (#440 <ros2/rmw_fastrtps#440>)
  * Update graph API return codes. (#436 <ros2/rmw_fastrtps#436>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (3.0.0-1jammy) jammy; urgency=high
.
  * Update rmw_take_serialized() and rmw_take_with_message_info() error returns  (#435 <ros2/rmw_fastrtps#435>)
  * Update rmw_take() error returns (#432 <ros2/rmw_fastrtps#432>)
  * Update rmw_publish() error returns (#430 <ros2/rmw_fastrtps#430>)
  * Update rmw_publish_serialized_message() error returns (#431 <ros2/rmw_fastrtps#431>)
  * Contributors: Jose Tomas Lorente, Lobotuerk
.
ros-rolling-rmw-fastrtps-shared-cpp (2.6.0-1jammy) jammy; urgency=high
.
  * Improve __rmw_create_wait_set() implementation. (#427 <ros2/rmw_fastrtps#427>)
  * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>)
  * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>)
  * Fix memory leak that wait_set might be not destoryed in some case. (#423 <ros2/rmw_fastrtps#423>)
  * Contributors: Chen Lihui, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (2.5.0-1jammy) jammy; urgency=high
.
  * Avoid unused identifier variable warnings. (#422 <ros2/rmw_fastrtps#422>)
  * Fix trying to get topic data that was already removed. (#417 <ros2/rmw_fastrtps#417>)
  * Contributors: Chen Lihui, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (2.4.0-1jammy) jammy; urgency=high
.
  * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>)
  * Use package path to TypeSupport.hpp headers in ServiceTypeSupport and MessageTypeSupport (#415 <ros2/rmw_fastrtps#415>)
    Use package in path to TypeSupport header for ServiceTypeSupport/MessageTypeSupport
  * Contributors: Jose Luis Rivero, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (2.3.0-1jammy) jammy; urgency=high
.
  * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (2.2.0-1jammy) jammy; urgency=high
.
  * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>)
  * Contributors: Ivan Santiago Paunovic
.
ros-rolling-rmw-fastrtps-shared-cpp (2.1.0-1jammy) jammy; urgency=high
.
  * Add missing thread-safety annotation in ServicePubListener (#409 <ros2/rmw_fastrtps#409>)
  * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (2.0.0-1jammy) jammy; urgency=high
.
  * Update Quality Declarations to QL3. (#404 <ros2/rmw_fastrtps#404>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (1.1.0-1jammy) jammy; urgency=high
.
  * Do not use string literals as implementation identifiers in tests. (#402 <ros2/rmw_fastrtps#402>)
  * Ensure compliant init options API implementations. (#399 <ros2/rmw_fastrtps#399>)
  * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>)
  * Handle RMW_DEFAULT_DOMAIN_ID. (#394 <ros2/rmw_fastrtps#394>)
  * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>)
  * Contributors: Michel Hidalgo, Miguel Company
.
ros-rolling-rmw-fastrtps-shared-cpp (1.0.1-1jammy) jammy; urgency=high
.
  * Add Security Vulnerability Policy pointing to REP-2006 (#389 <ros2/rmw_fastrtps#389>)
  * Do not compile assert death tests in Release builds (#393 <ros2/rmw_fastrtps#393>)
  * Add test coverage for name mangling and namespacing-specific API (#388 <ros2/rmw_fastrtps#388>)
  * Add test coverage for GUID utilities (#387 <ros2/rmw_fastrtps#387>)
  * Drop unused TopicCache sources (#386 <ros2/rmw_fastrtps#386>)
  * Add test coverage for rmw_init_options API (#385 <ros2/rmw_fastrtps#385>)
  * Update QDs for 1.0 (#383 <ros2/rmw_fastrtps#383>)
  * Contributors: Chris Lalancette, Michel Hidalgo, Stephen Brawner
.
ros-rolling-rmw-fastrtps-shared-cpp (1.0.0-1jammy) jammy; urgency=high
.
  * Remove API related to manual by node liveliness. (#379 <ros2/rmw_fastrtps#379>)
  * Update quality declarations on feature testing. (#380 <ros2/rmw_fastrtps#380>)
  * Contributors: Ivan Santiago Paunovic, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-shared-cpp (0.9.1-1jammy) jammy; urgency=high
.
  * Fill service_info timestamps from sample_info (#378 <ros2/rmw_fastrtps#378>)
  * Fix unused variabled warning (#377 <ros2/rmw_fastrtps#377>)
  * Add basic support for security logging plugin (#362 <ros2/rmw_fastrtps#362>)
  * Add package READMEs and QUALITY_DECLARATION files (#375 <ros2/rmw_fastrtps#375>)
  * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>)
  * Contributors: Alejandro Hernández Cordero, Ingo Lütkebohle, Jacob Perron, Kyle Fazzari, brawner
.
ros-rolling-rmw-fastrtps-shared-cpp (0.9.0-1jammy) jammy; urgency=high
.
  * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>)
  * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>)
  * Fill message_info timestamp. (#368 <ros2/rmw_fastrtps#368>)
  * Export targets in a addition to include directories / libraries. (#371 <ros2/rmw_fastrtps#371>)
  * Support for API break on Fast RTPS 2.0. (#370 <ros2/rmw_fastrtps#370>)
  * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>)
  * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>)
  * Correct error message when event is not supported. (#358 <ros2/rmw_fastrtps#358>)
  * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>)
  * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>)
  * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>)
  * Change rmw_topic_endpoint_info_array.count to .size. (#348 <ros2/rmw_fastrtps#348>)
  * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>)
  * Fix unprotected use of mutex-guarded variable. (#345 <ros2/rmw_fastrtps#345>)
  * Passing down type support information (#342 <ros2/rmw_fastrtps#342>)
  * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>)
  * Contributors: Dirk Thomas, Emerson Knapp, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas
.
ros-rolling-rmw-fastrtps-shared-cpp (0.8.1-1jammy) jammy; urgency=high
.
  * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>)
  * Added new functions which can be used to get rmw_qos_profile_t from WriterQos and ReaderQos (#328 <ros2/rmw_fastrtps#328>)
  * Renamed dds_qos_to_rmw_qos to dds_attributes_to_rmw_qos (#330 <ros2/rmw_fastrtps#330>)
  * Contributors: Brian Marchi, jaisontj
.
ros-rolling-rmw-fastrtps-shared-cpp (0.8.0-1jammy) jammy; urgency=high
.
  * Correct error message (#320 <ros2/rmw_fastrtps#320>)
  * Return specific error code when node is not found (#311 <ros2/rmw_fastrtps#311>)
  * Correct linter failure (#318 <ros2/rmw_fastrtps#318>)
  * Fix bug in graph API by node (#316 <ros2/rmw_fastrtps#316>)
  * fix method name change from 1.8.1->1.9.0 (#302 <ros2/rmw_fastrtps#302>)
  * Add missing lock guards for discovered_names and discovered_namespaces (#301 <ros2/rmw_fastrtps#301>)
  * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>)
  * Enable manual_by_node and node liveliness assertion (#298 <ros2/rmw_fastrtps#298>)
  * Enable assert liveliness on publisher. (#296 <ros2/rmw_fastrtps#296>)
  * Use rcpputils::find_and_replace instead of std::regex_replace (#291 <ros2/rmw_fastrtps#291>)
  * Fix a comparison with a sign mismatch (#288 <ros2/rmw_fastrtps#288>)
  * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>)
  * add missing qos setings in get_actual_qos() (#284 <ros2/rmw_fastrtps#284>)
  * Fix ABBA deadlock.
  * Contributors: Chris Lalancette, Emerson Knapp, Jacob Perron, M. M, Scott K Logan, William Woodall, ivanpauno
.
ros-rolling-rmw-fastrtps-shared-cpp (0.7.3-1jammy) jammy; urgency=high
.
  * Protection of discovered_names and discovered_namespaces (#283 <ros2/rmw_fastrtps#283>)
  * Disable all liveliness until it is actually supported (#282 <ros2/rmw_fastrtps#282>)
  * Contributors: Emerson Knapp, MiguelCompany
.
ros-rolling-rmw-fastrtps-shared-cpp (0.7.2-1jammy) jammy; urgency=high
.
  * fix log_debug typo in rmw_count (#279 <ros2/rmw_fastrtps#279>)
  * Fastrtps18 event callbacks policies (#275 <ros2/rmw_fastrtps#275>)
  * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>)
  * Contributors: 1r0b1n0, Emerson Knapp, Nick Burek
.
ros-rolling-rmw-fastrtps-shared-cpp (0.7.1-1jammy) jammy; urgency=high
.
  * Support arbitrary message namespaces  (#266 <ros2/rmw_fastrtps#266>)
  * Set more correct return values for unimplemented features (#276 <ros2/rmw_fastrtps#276>)
  * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>)
  * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>)
  * Fix logging in rmw_node_info_and_types.cpp (#273 <ros2/rmw_fastrtps#273>)
  * Contributors: Emerson Knapp, Jacob Perron, Michael Carroll, Ross Desmond, Thomas Moulard
.
ros-rolling-rmw-fastrtps-shared-cpp (0.7.0-1jammy) jammy; urgency=high
.
  * Thread safety annotation - minimally intrusive first pass (#259 <ros2/rmw_fastrtps#259>)
  * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>)
  * Fixed race condition between taking sample and updating counter. (#264 <ros2/rmw_fastrtps#264>)
  * Fix cpplint error
  * change count type to size_t to avoid warning (#262 <ros2/rmw_fastrtps#262>)
  * update listener logic for accurate counting (#262 <ros2/rmw_fastrtps#262>)
  * Make sure to include the C++ headers used by these headers. (#256 <ros2/rmw_fastrtps#256>)
  * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>)
  * Improve service_is_available logic to protect that client is waiting forever (#238 <ros2/rmw_fastrtps#238>)
  * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib
  * use namespace_prefix from shared package
  * make namespace_prefix header public
  * Use empty() to check for an empty string (#247 <ros2/rmw_fastrtps#247>)
  * We can compare a std::string with a const char* using operator==, simplifies the code (#248 <ros2/rmw_fastrtps#248>)
  * Use empty() instead of size() to check if a vector/map contains elements and fixed some incorrect logging (#245 <ros2/rmw_fastrtps#245>)
  * Fix guard condition trigger error (#235 <ros2/rmw_fastrtps#235>)
  * Contributors: Chris Lalancette, Dirk Thomas, DongheeYe, Emerson Knapp, Jacob Perron, Johnny Willemsen, Ricardo González, William Woodall, ivanpauno
.
ros-rolling-rmw-fastrtps-shared-cpp (0.6.1-1jammy) jammy; urgency=high
.
  * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>)
  * Fix lint: remove trailing whitespace (#244 <ros2/rmw_fastrtps#244>)
  * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>)
  * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>)
  * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>)
  * use uint8_array (#240 <ros2/rmw_fastrtps#240>)
  * Contributors: Jacob Perron, Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond
.
ros-rolling-rmw-fastrtps-shared-cpp (0.6.0-1jammy) jammy; urgency=high
.
  * use new error handling API from rcutils (#231 <ros2/rmw_fastrtps#231>)
  * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>)
  * separating identity and permission CAs (#227 <ros2/rmw_fastrtps#227>)
  * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>)
  * allow builtin reader/writer to reallocate memory if needed (#221 <ros2/rmw_fastrtps#221>)
  * Improve runtime performance of rmw_count_XXX functions (#216 <ros2/rmw_fastrtps#216>) (#217 <ros2/rmw_fastrtps#217>)
  * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203
  * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Leaving common code only on rmw_fastrtps_shared_cpp.
  * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Package rmw_fastrtps_cpp copied to rmw_fastrtps_shared_cpp.
  * Contributors: Chris Lalancette, Dirk Thomas, Guillaume Autran, Michael Carroll, Miguel Company, Mikael Arguedas, William Woodall
.
ros-rolling-rmw-fastrtps-shared-cpp (0.5.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-shared-cpp (0.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-shared-cpp (0.4.0-1jammy) jammy; urgency=high
timonegk pushed a commit to timonegk/ros-rolling-rmw-fastrtps-dynamic-cpp-release that referenced this pull request May 21, 2022
ros-rolling-rmw-fastrtps-dynamic-cpp (6.2.1-1jammy) jammy; urgency=high
.
  * Add content filter topic feature (#513 <ros2/rmw_fastrtps#513>)
  * Add sequence numbers to message info structure (#587 <ros2/rmw_fastrtps#587>)
  * Contributors: Chen Lihui, Ivan Santiago Paunovic
.
ros-rolling-rmw-fastrtps-dynamic-cpp (6.2.0-1jammy) jammy; urgency=high
.
  * Add EventsExecutor (#468 <ros2/rmw_fastrtps#468>)
  * Install headers to include/${PROJECT_NAME} (#578 <ros2/rmw_fastrtps#578>)
  * Contributors: Shane Loretz, iRobot ROS
.
ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.2-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (6.1.0-1jammy) jammy; urgency=high
.
  * Add client/service QoS getters. (#560 <ros2/rmw_fastrtps#560>)
  * Contributors: mauropasse
.
ros-rolling-rmw-fastrtps-dynamic-cpp (6.0.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.2-1jammy) jammy; urgency=high
.
  * Correctly recalculate serialized size on bounded sequences. (#540 <ros2/rmw_fastrtps#540>)
  * Fix type size alignment. (#550 <ros2/rmw_fastrtps#550>)
  * Contributors: Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (5.2.0-1jammy) jammy; urgency=high
.
  * Add rmw_publisher_wait_for_all_acked support. (#519 <ros2/rmw_fastrtps#519>)
  * Contributors: Barry Xu
.
ros-rolling-rmw-fastrtps-dynamic-cpp (5.1.0-1jammy) jammy; urgency=high
.
  * Loan messages implementation (#523 <ros2/rmw_fastrtps#523>)
    * Added is_plain_ attribute to base TypeSupport.
    * Added new methods to base TypeSupport.
    * Implementation of rmw_borrow_loaned_message.
    * Implementation of rmw_return_loaned_message_from_publisher.
    * Enable loan messages on publishers of plain types.
    * Implementation for taking loaned messages.
    * Enable loan messages on subscriptions of plain types.
  * Contributors: Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (5.0.0-1jammy) jammy; urgency=high
.
  * Refactor to use DDS standard API (#518 <ros2/rmw_fastrtps#518>)
  * Unique network flows (#502 <ros2/rmw_fastrtps#502>)
  * updating quality declaration links (re: ros2/docs.ros2.org#52 <ros2/docs.ros2.org#52>) (#520 <ros2/rmw_fastrtps#520>)
  * Contributors: Miguel Company, shonigmann
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.4.0-1jammy) jammy; urgency=high
.
  * Add RMW function to check QoS compatibility (#511 <ros2/rmw_fastrtps#511>)
  * Capture cdr exceptions (#505 <ros2/rmw_fastrtps#505>)
  * Load profiles based on topic names in rmw_fastrtps_dynamic_cpp (#497 <ros2/rmw_fastrtps#497>)
  * Contributors: Eduardo Ponz Segrelles, Jacob Perron, Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.3.0-1jammy) jammy; urgency=high
.
  * Set rmw_dds_common::GraphCache callback after init succeeds. (#496 <ros2/rmw_fastrtps#496>)
  * Handle typesupport errors on fetch. (#495 <ros2/rmw_fastrtps#495>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.2.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.1.0-1jammy) jammy; urgency=high
.
  * Check for correct context shutdown (#486 <ros2/rmw_fastrtps#486>)
  * New environment variable to change easily the publication mode (#470 <ros2/rmw_fastrtps#470>)
  * Contributors: Ignacio Montesino Valle, José Luis Bueno López
.
ros-rolling-rmw-fastrtps-dynamic-cpp (4.0.0-1jammy) jammy; urgency=high
.
  * Discriminate when the Client has gone from when the Client has not completely matched (#467 <ros2/rmw_fastrtps#467>)
    * Workaround when the client is gone before server sends response
    * Change add to the map to listener callback
  * Update the package.xml files with the latest Open Robotics maintainers (#459 <ros2/rmw_fastrtps#459>)
  * Update Quality Declarations and READMEs (#455 <ros2/rmw_fastrtps#455>)
    * Add QL of external dependencies to rmw_fastrtps_dynamic_cpp QD
    * Add QD links for dependencies to rmw_fastrtps_dynamic_cpp QD
    * Provide external dependencies QD links
    * Add README to rmw_fastrtps_dynamic
    * Add QD for rmw_fastrtps_dynamic
  * Contributors: JLBuenoLopez-eProsima, Jaime Martin Losa, José Luis Bueno López, Michael Jeronimo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.4-1jammy) jammy; urgency=high
.
  * Ensure rmw_destroy_node() completes despite run-time errors. (#458 <ros2/rmw_fastrtps#458>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.3-1jammy) jammy; urgency=high
.
  * Return RMW_RET_UNSUPPORTED in rmw_get_serialized_message_size (#452 <ros2/rmw_fastrtps#452>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.2-1jammy) jammy; urgency=high
.
  * Updated publisher/subscription allocation and wait set API return codes (#443 <ros2/rmw_fastrtps#443>)
  * Added rmw_logging tests (#442 <ros2/rmw_fastrtps#442>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.1-1jammy) jammy; urgency=high
.
  * Fix array get_function semantics (#448 <ros2/rmw_fastrtps#448>)
  * Make service/client construction/destruction implementation compliant (#445 <ros2/rmw_fastrtps#445>)
  * Make sure type can be unregistered successfully (#437 <ros2/rmw_fastrtps#437>)
  * Contributors: Barry Xu, Ivan Santiago Paunovic, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.1.0-1jammy) jammy; urgency=high
.
  * Add tests for native entity getters. (#439 <ros2/rmw_fastrtps#439>)
  * Avoid deadlock if graph update fails. (#438 <ros2/rmw_fastrtps#438>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (3.0.0-1jammy) jammy; urgency=high
.
  * Call Domain::removePublisher while failure occurs in create_publisher (#434 <ros2/rmw_fastrtps#434>)
  * Avoid memory leaks and undefined behavior in rmw_fastrtps_dynamic_cpp typesupport code (#429 <ros2/rmw_fastrtps#429>)
  * Contributors: Barry Xu, Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.6.0-1jammy) jammy; urgency=high
.
  * Ensure compliant matched pub/sub count API. (#424 <ros2/rmw_fastrtps#424>)
  * Ensure compliant publisher QoS queries. (#425 <ros2/rmw_fastrtps#425>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.4.0-1jammy) jammy; urgency=high
.
  * Ensure compliant subscription API. (#419 <ros2/rmw_fastrtps#419>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.3.0-1jammy) jammy; urgency=high
.
  * Ensure compliant publisher API. (#414 <ros2/rmw_fastrtps#414>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.2.0-1jammy) jammy; urgency=high
.
  * Set context actual domain id (#410 <ros2/rmw_fastrtps#410>)
  * Contributors: Ivan Santiago Paunovic
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.1.0-1jammy) jammy; urgency=high
.
  * Ensure compliant node construction/destruction API. (#408 <ros2/rmw_fastrtps#408>)
  * Contributors: Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (2.0.0-1jammy) jammy; urgency=high
.
  * Remove domain_id and localhost_only from node API (#407 <ros2/rmw_fastrtps#407>)
  * Amend rmw_init() implementation: require enclave. (#406 <ros2/rmw_fastrtps#406>)
  * Contributors: Ivan Santiago Paunovic, Michel Hidalgo
.
ros-rolling-rmw-fastrtps-dynamic-cpp (1.1.0-1jammy) jammy; urgency=high
.
  * Ensure compliant init/shutdown API implementation. (#401 <ros2/rmw_fastrtps#401>)
  * Finalize context iff shutdown. (#396 <ros2/rmw_fastrtps#396>)
  * Make service wait for response reader (#390 <ros2/rmw_fastrtps#390>)
  * Contributors: Michel Hidalgo, Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (1.0.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (1.0.0-1jammy) jammy; urgency=high
.
  * Fix single rmw build for rmw_fastrtps_dynamic_cpp (#381 <ros2/rmw_fastrtps#381>)
  * Remove API related to manual by node liveliness (#379 <ros2/rmw_fastrtps#379>)
  * Contributors: Ivan Santiago Paunovic
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.9.1-1jammy) jammy; urgency=high
.
  * Added doxyfiles (#372 <ros2/rmw_fastrtps#372>)
  * Contributors: Alejandro Hernández Cordero
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.9.0-1jammy) jammy; urgency=high
.
  * Fixed rmw_fastrtps_dynamic_cpp package description. (#376 <ros2/rmw_fastrtps#376>)
  * Rename rosidl_message_bounds_t. (#373 <ros2/rmw_fastrtps#373>)
  * Feature/services timestamps. (#369 <ros2/rmw_fastrtps#369>)
  * Add support for taking a sequence of messages. (#366 <ros2/rmw_fastrtps#366>)
  * security-context -> enclave. (#365 <ros2/rmw_fastrtps#365>)
  * Rename rosidl_generator_c namespace to rosidl_runtime_c. (#367 <ros2/rmw_fastrtps#367>)
  * Remove custom typesupport for rmw_dds_common interfaces. (#364 <ros2/rmw_fastrtps#364>)
  * Added rosidl_runtime c and cpp depencencies. (#351 <ros2/rmw_fastrtps#351>)
  * Switch to one Participant per Context. (#312 <ros2/rmw_fastrtps#312>)
  * Add rmw_*_event_init() functions. (#354 <ros2/rmw_fastrtps#354>)
  * Fixing type support C/CPP mix on rmw_fastrtps_dynamic_cpp. (#350 <ros2/rmw_fastrtps#350>)
  * Fix build warning in Ubuntu Focal. (#346 <ros2/rmw_fastrtps#346>)
  * Code style only: wrap after open parenthesis if not in one line. (#347 <ros2/rmw_fastrtps#347>)
  * Passing down type support information (#342 <ros2/rmw_fastrtps#342>)
  * Implement functions to get publisher and subcription informations like QoS policies from topic name. (#336 <ros2/rmw_fastrtps#336>)
  * Contributors: Alejandro Hernández Cordero, Dirk Thomas, Ingo Lütkebohle, Ivan Santiago Paunovic, Jaison Titus, Miaofei Mei, Michael Carroll, Miguel Company, Mikael Arguedas
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.8.1-1jammy) jammy; urgency=high
.
  * use return_loaned_message_from (#334 <ros2/rmw_fastrtps#334>)
  * Restrict traffic to localhost only if env var is provided (#331 <ros2/rmw_fastrtps#331>)
  * Zero copy api (#322 <ros2/rmw_fastrtps#322>)
  * update signature for added pub/sub options (#329 <ros2/rmw_fastrtps#329>)
  * Contributors: Brian Marchi, Karsten Knese, William Woodall
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.8.0-1jammy) jammy; urgency=high
.
  * Add function for getting clients by node (#293 <ros2/rmw_fastrtps#293>)
  * Use rcpputils::find_and_replace instead of std::regex_replace (#291 <ros2/rmw_fastrtps#291>)
  * Export typesupport_fastrtps package dependencies (#294 <ros2/rmw_fastrtps#294>)
  * Implement get_actual_qos() for subscriptions (#287 <ros2/rmw_fastrtps#287>)
  * Contributors: Jacob Perron, M. M, kurcha01-arm
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.3-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.2-1jammy) jammy; urgency=high
.
  * add support for WString in rmw_fastrtps_dynamic_cpp (#278 <ros2/rmw_fastrtps#278>)
  * Centralize topic name creation logic and update to match FastRTPS 1.8 API (#272 <ros2/rmw_fastrtps#272>)
  * Contributors: Dirk Thomas, Nick Burek
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.1-1jammy) jammy; urgency=high
.
  * Support arbitrary message namespaces  (#266 <ros2/rmw_fastrtps#266>)
  * Add qos interfaces with no-op (#271 <ros2/rmw_fastrtps#271>)
  * Updates for preallocation API. (#274 <ros2/rmw_fastrtps#274>)
  * Contributors: Jacob Perron, Michael Carroll, Ross Desmond
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.7.0-1jammy) jammy; urgency=high
.
  * Add function to get publisher actual qos settings (#267 <ros2/rmw_fastrtps#267>)
  * pass context to wait set and fini context (#252 <ros2/rmw_fastrtps#252>)
  * Add missing logic to dynamic RMW client implementation (#254 <ros2/rmw_fastrtps#254>)
  * Merge pull request #250 <ros2/rmw_fastrtps#250> from ros2/support_static_lib
  * use namespace_prefix from shared package
  * Use empty() instead of size() to check if a vector/map contains elements and fixed some incorrect logging (#245 <ros2/rmw_fastrtps#245>)
  * Contributors: Dirk Thomas, Jacob Perron, Johnny Willemsen, William Woodall, ivanpauno
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.6.1-1jammy) jammy; urgency=high
.
  * Add topic cache object for managing topic relations (#236 <ros2/rmw_fastrtps#236>)
  * Fastrtps 1.7.0 (#233 <ros2/rmw_fastrtps#233>)
  * RMW_FastRTPS configuration from XML only (#243 <ros2/rmw_fastrtps#243>)
  * refactor to support init options and context (#237 <ros2/rmw_fastrtps#237>)
  * Methods to retrieve matched counts on pub/sub (#234 <ros2/rmw_fastrtps#234>)
  * Fixing failing tests on rmw_fastrtps_dynamic_cpp. (#242 <ros2/rmw_fastrtps#242>)
  * use uint8_array (#240 <ros2/rmw_fastrtps#240>)
  * fix linter warnings (#241 <ros2/rmw_fastrtps#241>)
  * Contributors: Dirk Thomas, Juan Carlos, Karsten Knese, Michael Carroll, MiguelCompany, Ross Desmond, William Woodall
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.6.0-1jammy) jammy; urgency=high
.
  * Merge pull request #232 <ros2/rmw_fastrtps#232> from ros2/array-terminology
  * rename files
  * rename dynamic array to sequence
  * Add semicolons to all RCLCPP and RCUTILS macros. (#229 <ros2/rmw_fastrtps#229>)
  * Include node namespaces in get_node_names (#224 <ros2/rmw_fastrtps#224>)
  * add rmw_get_serialization_format (#215 <ros2/rmw_fastrtps#215>)
  * Merge pull request #218 <ros2/rmw_fastrtps#218> from ros2/pr203
  * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Adapting code on rmw_fastrtps_dynamic_cpp.
  * Refs #3061 <https://github.com/ros2/rmw_fastrtps/issues/3061>. Package rmw_fastrtps_cpp duplicated as rmw_fastrtps_dynamic_cpp.
  * Contributors: Chris Lalancette, Dirk Thomas, Karsten Knese, Michael Carroll, Miguel Company
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.5.1-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.5.0-1jammy) jammy; urgency=high
.
.
.
ros-rolling-rmw-fastrtps-dynamic-cpp (0.4.0-1jammy) jammy; urgency=high
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants