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

Ensure compliant node construction/destruction API. #408

Merged
merged 7 commits into from Jul 15, 2020

Conversation

hidmic
Copy link
Contributor

@hidmic hidmic commented Jul 7, 2020

Connected to ros2/rmw#249.

assert(identifier == context->implementation_identifier);
static_cast<void>(identifier);

int validation_result = -1;
Copy link
Member

Choose a reason for hiding this comment

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

nit: maybe defaulting to RMW_NODE_NAME_INVALID?
there's a unlikely chance of RMW_NODE_NAME_VALID being -1

Copy link
Contributor

Choose a reason for hiding this comment

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

I took a quick look at the uses of rmw_validate_node_name throughout the code base. Currently, how we initialize validation_result is inconsistent. Some places, we don't initialize it at all, and the caller assumes rmw_validate_node_name fills it in with something valid. Some places, we initialize it to 0. And it also looks like the values that it can possibly return are just #defined: https://github.com/ros2/rmw/blob/ab3df8095cedf2c809c631e5c3442f964404e797/rmw/include/rmw/validate_node_name.h#L26 .

What I'll suggest here is:

  1. Switch this to RMW_NODE_NAME_VALID (since there is no generic RMW_NODE_NAME_INVALID)
  2. (separate PR) Change the definition of these values to an enum in rmw/validate_node_name.h
  3. (separate PR) Add an enum value of RMW_NODE_NAME_UNKNOWN.
  4. (separate PR) Update all of the callers of this method to use that.

What do people think of that plan?

Copy link
Member

Choose a reason for hiding this comment

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

(separate PR) Add an enum value of RMW_NODE_NAME_UNKNOWN.

This new value would be for initializing the enum, right?

What do people think of that plan?

👍

Copy link
Contributor

Choose a reason for hiding this comment

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

This new value would be for initializing the enum, right?

Yeah, exactly. It would ensure we never end up in a UB situation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, I'll start out with option (1.) and then proceed with the rest in follow-up PRs.

goto fail;
rcutils_allocator_t allocator = context->options.allocator;
rmw_node_t * node = reinterpret_cast<rmw_node_t *>(
allocator.zero_allocate(1u, sizeof(rmw_node_t), allocator.state));
Copy link
Member

Choose a reason for hiding this comment

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

👍 for using the allocator in context->options, but is this change related?
what was the idea of the original rmw_node_allocate()?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes and no. We don't have to, but I think we should settle on ros2/rmw#249 (comment).

Copy link
Contributor

Choose a reason for hiding this comment

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

I see what you mean about this not using the allocator properly. But I think that is a separate topic, and so I would suggest leaving this as-is and we can discuss that separately.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fair enough.

allocator.deallocate(const_cast<char *>(node->namespace_), allocator.state);
allocator.deallocate(node, allocator.state);
});
node->implementation_identifier = context->implementation_identifier;
Copy link
Member

Choose a reason for hiding this comment

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

why not using the passed identifier argument?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's the same, though it seemed more correct to use the one in context. Actually, this function does not need to take a separate identifier but I chose not to change its signature.

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

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

First pass, a number of things to think about.

node->implementation_identifier,
eprosima_fastrtps_identifier,
return RMW_RET_INCORRECT_RMW_IMPLEMENTATION);
assert(node->context != nullptr);
Copy link
Contributor

Choose a reason for hiding this comment

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

This assert seems a bit incongruous with the checking we do in e.g. rwm_create_node. That is, this crashes the program, while most other places we do checks like this we just return an error from the function. Also, this is somewhat of a philosophical debate, but my view is that a library should never assert; that's an application-level decision. I'll suggest something more like:

if (node->context != nullptr) {
  RCUTILS_SET_ERROR_MSG("Attempted to destroy invalid context");
  return RMW_RET_INVALID_ARGUMENT;
}

Copy link
Contributor Author

@hidmic hidmic Jul 13, 2020

Choose a reason for hiding this comment

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

This assert seems a bit incongruous with the checking we do in e.g. rmw_create_node.

How so? rmw_create_node() checks for a zero-initialized context because that's one of the possible rmw_context_t states (i.e. right before initialization and after finalization). There's no correct program that may call rmw_destroy_node() on a half-initialized or even uninitialized rmw_node_t structure.

Also, this is somewhat of a philosophical debate, but my view is that a library should never assert; that's an application-level decision.

I disagree. To return an error (or to throw an exception) implies there is a path to deal with the situation in a sane way. If you have hit UB territory, either your program is logically incorrect or it has managed to corrupt itself. There's no way to handle the situation other than to crash fast. That applies to applications and libraries the same.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Which reminds me that we should document that after rmw_destroy_node(), using the pointer is UB.

Copy link
Contributor

Choose a reason for hiding this comment

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

@hidmic and I discussed this at some length yesterday. The pretty short summary of the discussion goes something like this:

  • The caller can do arbitrary things to make this UB. Like the following:
auto node = rmw_create_node(...);
memset(node, 0xFF, sizeof(rmw_node_t));
rmw_destroy_node(node);

There is nothing that we can do about cases like this; it's clearly an abuse of the API/library, and there is nothing we can reasonably check to defend against this.

  • Accessing a nullptr here is really just another case of UB. Take the above example and use a 0x0 instead:
auto node = rmw_create_node(...);
memset(node, 0x0, sizeof(rmw_node_t));
rmw_destroy_node(node);

And you have the same problem. Thus, there's no real reason to treat nullptr specially here.

  • The only other problem that we could potentially guard against is the user somehow intentionally setting the pointer to nullptr. We could have a check for that, but its pretty unlikely that the user has done this on purpose. Thus, for all practical purposes, this is UB too.

The conclusion from all of the above is that in all reasonable cases, it is UB, and thus we shouldn't have any checking here. That's why @hidmic removed both the assert and the check from this code.

Copy link
Contributor Author

@hidmic hidmic Jul 14, 2020

Choose a reason for hiding this comment

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

We could have a check for that, but its pretty unlikely that the user has done this on purpose.

For that matter, I'd say it's equally likely than reinterpret_cast<rmw_node_impl_t *>(0xFF). In both cases, the user is departing from what's documented and corrupting the structure with pointers that cannot be de-referenced.

node->implementation_identifier,
eprosima_fastrtps_identifier,
return RMW_RET_INCORRECT_RMW_IMPLEMENTATION);
assert(node->context != nullptr);
Copy link
Contributor

Choose a reason for hiding this comment

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

Same argument as above; this should check and return an error, I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same as above.

Comment on lines 50 to 51
assert(nullptr != context);
assert(nullptr != context->impl);
assert(identifier == context->implementation_identifier);
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd use the RMW_CHECK_ARGUMENT_FOR_NULL macros here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We could, though we'd be replicating the checks that occur in the actual RMW implementations. Since this is a somewhat "internal" API (not a standalone RMW implementation but the pieces of it), I figured we may as well keep these as preconditions instead of checking twice.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good point about it being an internal API. With that in mind, I think we can elide the checks completely. The basic idea here being that a library should be able to trust itself; anything else is just buggy. And as you say, these are duplicate checks anyway.

(the same goes for __rmw_destroy_node below)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed. I'd keep the implementation identifier assertion though, since it is a precondition we can fully enforce (as opposed to pointer validity) and failing to meet it implies an ill-formed program (that we want to catch as soon as possible if not preclude entirely).

assert(identifier == context->implementation_identifier);
static_cast<void>(identifier);

int validation_result = -1;
Copy link
Contributor

Choose a reason for hiding this comment

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

I took a quick look at the uses of rmw_validate_node_name throughout the code base. Currently, how we initialize validation_result is inconsistent. Some places, we don't initialize it at all, and the caller assumes rmw_validate_node_name fills it in with something valid. Some places, we initialize it to 0. And it also looks like the values that it can possibly return are just #defined: https://github.com/ros2/rmw/blob/ab3df8095cedf2c809c631e5c3442f964404e797/rmw/include/rmw/validate_node_name.h#L26 .

What I'll suggest here is:

  1. Switch this to RMW_NODE_NAME_VALID (since there is no generic RMW_NODE_NAME_INVALID)
  2. (separate PR) Change the definition of these values to an enum in rmw/validate_node_name.h
  3. (separate PR) Add an enum value of RMW_NODE_NAME_UNKNOWN.
  4. (separate PR) Update all of the callers of this method to use that.

What do people think of that plan?

goto fail;
rcutils_allocator_t allocator = context->options.allocator;
rmw_node_t * node = reinterpret_cast<rmw_node_t *>(
allocator.zero_allocate(1u, sizeof(rmw_node_t), allocator.state));
Copy link
Contributor

Choose a reason for hiding this comment

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

I see what you mean about this not using the allocator properly. But I think that is a separate topic, and so I would suggest leaving this as-is and we can discuss that separately.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic hidmic force-pushed the hidmic/ensure-compliant-node-creation branch from a617297 to 468c493 Compare July 13, 2020 22:18
@hidmic
Copy link
Contributor Author

hidmic commented Jul 14, 2020

Running CI up to test_rmw_implementation and all RMW implementations:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

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

I've got one more thing that I think we should change here. Other than that, this is looking good to me.

Comment on lines 50 to 51
assert(nullptr != context);
assert(nullptr != context->impl);
assert(identifier == context->implementation_identifier);
Copy link
Contributor

Choose a reason for hiding this comment

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

Good point about it being an internal API. With that in mind, I think we can elide the checks completely. The basic idea here being that a library should be able to trust itself; anything else is just buggy. And as you say, these are duplicate checks anyway.

(the same goes for __rmw_destroy_node below)

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic hidmic merged commit c60ed31 into master Jul 15, 2020
@delete-merged-branch delete-merged-branch bot deleted the hidmic/ensure-compliant-node-creation branch July 15, 2020 13:23
ahcorde pushed a commit that referenced this pull request Oct 8, 2020
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
ahcorde pushed a commit that referenced this pull request Oct 15, 2020
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
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

3 participants