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

Add a bunch of release notes about the ros2cli commands #2510

Merged
merged 6 commits into from
May 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions source/How-To-Guides/Launch-files-migration-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,8 @@ group
* ``clear_params`` attribute isn't available.
* It doesn't accept ``remap`` nor ``param`` tags as children.

.. _launch-prefix-example:

Example
~~~~~~~

Expand Down
81 changes: 81 additions & 0 deletions source/Releases/Release-Humble-Hawksbill.rst
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,64 @@ To learn more, see the `content_filtering <https://github.com/ros2/examples/blob

Related design PR: `ros2/design#282 <https://github.com/ros2/design/pull/282>`_.

ros2cli
^^^^^^^

``ros2 launch`` has a ``--launch-prefix`` argument
""""""""""""""""""""""""""""""""""""""""""""""""""

This allows passing a prefix to all executables in a launch file, which is useful in many debugging situations.
See the associated `pull request <https://github.com/ros2/launch_ros/pull/254>`__, as well as the :ref:`tutorial <launch-prefix-example>` for more information.

Relatedly, the ``--launch-prefix-filter`` command-line option was added to selectively add the prefix from ``--launch-prefix`` to executables.
See the `pull request <https://github.com/ros2/launch_ros/pull/261>`__ for more information.

``ros2 topic echo`` has a ``--flow-style`` argument
"""""""""""""""""""""""""""""""""""""""""""""""""""

This allows the user to force ``flow style`` for the YAML representation of data on a topic.
Without this option, the output from ``ros2 topic echo /tf_static`` could look something like:

.. code-block::

transforms:
- header:
stamp:
sec: 1651172841
nanosec: 433705575
frame_id: single_rrbot_link3
child_frame_id: single_rrbot_camera_link
transform:
translation:
x: 0.05
y: 0.0
z: 0.9
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0

With this option, the output would look something like:

.. code-block::

transforms: [{header: {stamp: {sec: 1651172841, nanosec: 433705575}, frame_id: single_rrbot_link3}, child_frame_id: single_rrbot_camera_link, transform: {translation: {x: 0.05, y: 0.0, z: 0.9}, rotation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}}}]

See the `PyYAML documentation <https://pyyaml.docsforge.com/master/documentation/#dictionaries-without-nested-collections-are-not-dumped-correctly>`__ for more information.

``ros2 topic echo`` can filter data based on message contents
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

This allows the user to only print out data on a topic that matches a certain Python expression.
For instance, using the following argument will only print out string messages that start with 'foo':

.. code-block::

ros2 topic echo --filter 'm.data.startswith("foo")` /chatter

See the `pull request <https://github.com/ros2/ros2cli/pull/654>`__ for more information.

Changes since the Galactic release
----------------------------------

Expand Down Expand Up @@ -475,6 +533,22 @@ Similar to the feature added to rclcpp.
ros2cli
^^^^^^^

``ros2`` commands disable output buffering by default
"""""""""""""""""""""""""""""""""""""""""""""""""""""

Prior to this release, running a command like

.. code-block::

ros2 echo /chatter | grep "Hello"

would not print any data until the output buffer was full.
Users could work around this by setting ``PYTHONUNBUFFERED=1``, but that was not very user friendly.

Instead, all ``ros2`` commands now do line-buffering by default, so commands like the above work as soon as a newline is printed.
To disable this behavior and use default python buffering rules, use the option ``--use-python-default-buffering``.
See the `original issue <https://github.com/ros2/ros2cli/issues/595>`__ and the `pull request <https://github.com/ros2/ros2cli/pull/659>`__ for more information.

``ros2 topic pub`` will wait for one matching subscription when using ``--times/--once/-1``
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Expand Down Expand Up @@ -521,6 +595,13 @@ Previously, attempting to set a string like "off" to a parameter that was of str
That's because ``ros2 param set`` interprets the command-line arguments as YAML, and YAML considers "off" to be a boolean type.
As of https://github.com/ros2/ros2cli/pull/684 , ``ros2 param set`` now accepts the YAML escape sequence of "!!str off" to ensure that the value is considered a string.

``ros2 pkg create`` can automatically generate a LICENSE file
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

If the ``--license`` flag is passed to ``ros2 pkg create``, and the license is one of the known licenses, ``ros2 pkg create`` will now automatically generate a LICENSE file in the root of the package.
For a list of known licenses, run ``ros2 pkg create --license ? <package_name>``.
See the associated `pull request <https://github.com/ros2/ros2cli/pull/650>`__ for more information.

robot_state_publisher
^^^^^^^^^^^^^^^^^^^^^

Expand Down