From 63db3bcd81d40a251363fd3fa6050c5f5034dba0 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 10:05:50 -0400 Subject: [PATCH 1/6] Add release note about launch-prefix and launch-prefix-filter. Signed-off-by: Chris Lalancette --- .../How-To-Guides/Launch-files-migration-guide.rst | 2 ++ source/Releases/Release-Humble-Hawksbill.rst | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/source/How-To-Guides/Launch-files-migration-guide.rst b/source/How-To-Guides/Launch-files-migration-guide.rst index 70a280e943..6d09536af1 100644 --- a/source/How-To-Guides/Launch-files-migration-guide.rst +++ b/source/How-To-Guides/Launch-files-migration-guide.rst @@ -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 ~~~~~~~ diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index 46b201f900..1c50264f63 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -290,6 +290,18 @@ To learn more, see the `content_filtering `_. +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 `__, as well as the :ref:`tutorial ` 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 `__ for more information. + Changes since the Galactic release ---------------------------------- From c6233d5f4a47ba2e189fe3dbfec4a0fc014642e3 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 10:18:15 -0400 Subject: [PATCH 2/6] Add release note about ros2 line buffering. Signed-off-by: Chris Lalancette --- source/Releases/Release-Humble-Hawksbill.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index 1c50264f63..f4143db5d5 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -487,6 +487,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 `__ and the `pull request `__ for more information. + ``ros2 topic pub`` will wait for one matching subscription when using ``--times/--once/-1`` """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" From 042e0ab4d0094f36a87f6a0f8ba0a1092385f0cc Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 10:25:17 -0400 Subject: [PATCH 3/6] Add release note for ros2 pkg create option. Signed-off-by: Chris Lalancette --- source/Releases/Release-Humble-Hawksbill.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index f4143db5d5..d5fa900fcf 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -549,6 +549,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 ? ``. +See the associated `pull request `__ for more information. + robot_state_publisher ^^^^^^^^^^^^^^^^^^^^^ From 5fc713c2a2c9dc54a9c39b5fdd7dfc1858472e64 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 10:38:14 -0400 Subject: [PATCH 4/6] Add a release note for the '--flow-style' argument. Signed-off-by: Chris Lalancette --- source/Releases/Release-Humble-Hawksbill.rst | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index d5fa900fcf..280b3157fb 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -302,6 +302,40 @@ See the associated `pull request `_ Relatedly, the ``--launch-prefix-filter`` command-line option was added to selectively add the prefix from ``--launch-prefix`` to executables. See the `pull request `__ 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 `__ for more information. + Changes since the Galactic release ---------------------------------- From deb9d45b13c50db9bf5397401d1c90f8631e7d09 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 10:47:28 -0400 Subject: [PATCH 5/6] Add release note about ros2 topic echo --filter. Signed-off-by: Chris Lalancette --- source/Releases/Release-Humble-Hawksbill.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index 280b3157fb..b3af15dfe4 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -336,6 +336,18 @@ With this option, the output would look something like: See the `PyYAML documentation `__ 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 `__ for more information. + Changes since the Galactic release ---------------------------------- From 1f7da12aea5493db5cdf0ad0448a652be5ed58c7 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Thu, 12 May 2022 17:35:36 -0400 Subject: [PATCH 6/6] Fixes from review. Signed-off-by: Chris Lalancette --- source/Releases/Release-Humble-Hawksbill.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/Releases/Release-Humble-Hawksbill.rst b/source/Releases/Release-Humble-Hawksbill.rst index b3af15dfe4..72980b4162 100644 --- a/source/Releases/Release-Humble-Hawksbill.rst +++ b/source/Releases/Release-Humble-Hawksbill.rst @@ -536,14 +536,14 @@ ros2cli ``ros2`` commands disable output buffering by default """"""""""""""""""""""""""""""""""""""""""""""""""""" -Prior to this release, running a command like: +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. +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``.