-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Earlier this week I generated the complete changelog for Humble using a script. I then spent several hours reading that changelog, looking for things to add to the short-form changelog (I think my eyes are now permanently glazed over). While doing this, what I was looking for were user-facing APIs or features, not bug-fixes. What I came up with is the following list of changes that would ideally be documented for Humble. Note that there are probably both false-positives (there are things on the list that don't need to be documented) as well as false-negatives (I may have missed a new feature here or there). Still, I think this represents a decent overall look at everything new in Humble. Items that are already checked off already have a release note, so no need to do additional work there.
- Type Adaptation ([rclcpp] Type Adaptation feature rclcpp#1557, Add type adaption example examples#300)
- Overlay include changes
- ament_cmake_gen_version_h package (Add ament_cmake_gen_version_h package ament/ament_cmake#198)
- FindPython3 instead of FindPythonInterp? (Use FindPython3 instead of FindPythonInterp ament/ament_cmake#355)
- ament_cmake_copyright file exclusion ([ament_cmake_copyright] Add file exclusion support ament/ament_lint#328)
- ament_generate_version_header (Add ament_generate_version_header ament/ament_cmake#377) (possibly obsoletes ament_cmake_gen_version_h
- ament_cmake_uncrustify file exclusion ([ament_cmake_uncrustify] Add file exclude support ament/ament_lint#330)
- SPDX identifiers for package licenses (Add SPDX identifiers to the licenses. ament/ament_lint#315)
- Deprecation of void shared_ptr subscription callback (Deprecate the
void shared_ptr<MessageT>
subscription callback signatures rclcpp#1713, Fix deprecated subscriber callback warnings examples#323, Fix deprecated sub callback warnings ros-visualization/interactive_markers#84, and others) - Type Adaptation with intra-process comms in same context for passing opaque handles
- wait_for_all_acked (Add wait_for_all_acked support rclcpp#1662, Add an example about how to use wait_for_all_acked examples#316, Add rmw_publisher_wait_for_all_acked support rmw#296, and others)
- rclcpp::WaitSet (Add wait set examples examples#315)
- rclpy SIGINT/SIGTERM handling (Shutdown asynchronously when sigint is received rclpy#844, Update python nodes sigint/sigterm handling examples#330, and others)
- Deprecation of tf2_geometry_msgs.h (Deprecate tf2_geometry_msgs.h geometry2#418)
- Launch boolean substitutions (Add boolean substitutions launch#598)
- Launch environment variable scoping (Support scoping environment variables launch#601)
- Launch evaluate math in python (Evaluate math symbols and functions in python expression launch#557)
- Launch_testing pytest (First prototype of native pytest plugin for launch based tests launch#528)
-
Launch Executable description (Adding Executable description class launch#454) - Launch match target action (event handlers: Allow to match the target action with a callable and not only with an object instance launch#540)
- Launch AppendEnvironmentVariable (Add AppendEnvironmentVariable action launch#543)
- Launch ClearLaunchConfigurations (Feature clear launch configs launch#515)
- Launch_ros parameter substitution (Add parameter substitution launch_ros#297)
- Launch_ros Composable parameters from file (Set parameters from file for composable nodes launch_ros#281)
-
Launch_ros alternate parameter file configuration (Support both parameter file configurations for composable nodes launch_ros#259) - Launch_ros SetParametersFromFile (launch_ros action to set parameters for all nodes in scope using a global parameter yaml file launch_ros#260)
-
Launch_ros change push-ros-namespace to push_ros_namespace (Addpush_ros_namespace
alias topush-ros-namespace
launch_ros#250) - Launch_ros new ros_arguments for Node (Add ros_arguments option to Node action launch_ros#249)
- Launch_ros RosTimer action (ROS Timer Action launch_ros#244)
- Launch_ros XML composable containers (Support container in frontend launch_ros#235)
-
launch_testing Remove deprecated ready_fn ([launch_testing] remove deprecatedready_fn
feature launch#589) - rosidl_get_typesupport_target (Add rosidl_get_typesupport_target and deprecate rosidl_target_interfaces rosidl#606)
- content-filtered-topics (add content-filtered-topic interfaces rcl#894, ContentFilteredTopic Design Proposal. design#282, Add support for content filtered topics rmw#302, Add support for user-specified content filters rmw_connextdds#68, Add content filter topic feature rmw_fastrtps#513, and others)
- Events Executor support (Add Events Executor rcl#839, Add EventsExecutor rmw#286, Add EventsExecutor rmw_fastrtps#468, and others)
- Client/service QoS getters (Add client/service QoS getters rcl#941, Add client/service QoS getters rmw_fastrtps#560, and others)
- Allow users to disable loaned messages (introduce ROS_DISABLE_LOAN_MSG to disable can_loan_messages. rcl#949)
- rclcpp Removal of APIs deprecated during Galactic (remove things that were deprecated during galactic rclcpp#1913)
- Deprecate CamelCase rclcpp_components methods (Deprecate method names that use CamelCase in rclcpp_components rclcpp#1716)
- Allow selection of executor in rclcpp_components_register_node (Select executor in node registration rclcpp#1898)
- Auto-transition lifecycle entities (Automatically transition lifecycle entities when node transitions rclcpp#1863)
- Deprecation of get_env.h in favor of env.h (Deprecate get_env.h and move content to env.{h,c} rcutils#340)
- Client/service QoS getters (Add client/service QoS getters rmw#314)
- Sequence numbers in message_info (Add sequence numbers to message info structure rmw#318)
- Certificate Revocation Lists (Add support for Certificate Revocation List files. rmw_dds_common#52)
- Changed default Fast-RTPS publication mode to synchronous (Change default to synchronous rmw_fastrtps#571)
- robot_state_publisher add frame_prefix parameter (Restore tf_prefix support for ROS2 ros/robot_state_publisher#159)
- robot_state_publisher subscription SensorDataQoS (Make joint_states subscription QoS configurable; default to SensorDataQoS ros/robot_state_publisher#179)
- robot_state_publisher always publish fixed frames to /tf_static (Always publish fixed frames to /tf_static ros/robot_state_publisher#158)
- ros2launch launch-prefix (Resolves #37 - Added --launch-prefix argument for 'ros2 launch' command launch_ros#254)
- ros2launch launch-prefix-filter (Add regex filter for selective launch-prefix application launch_ros#261)
- ros2param command-line argument interpretation (Fix how ros2 param interprets command-line arguments. ros2cli#684)
- ros2param deprecate command-line arguments (add '--write' option to avoid an unintentional data loss. ros2cli#638)
- ros2cli always line buffer (Make the ros2cli output always line buffered ros2cli#659)
- ros2pkg use local git config instead of global (Use local git config instead of global ros2cli#693)
- ros2pkg automatically add LICENSE files for known licenses (Generate LICENSE files on ros2 pkg create. ros2cli#650)
- ros2topic output data in YAML "block" style (add yaml dump flow style. ros2cli#698)
- ros2topic echo print once (support ros2topic echo once option. ros2cli#695)
- ros2topic regex filter (Feature: ros2topic echo filtering with python expression ros2cli#654)
- ros2topic pub make QoS Reliable and Transient-local (Change default QoSProfile for pub ros2cli#653)
- ros2topic pub add option to wait for N matching subscriptions (Add option in ros2 topic pub to wait for N matching subscriptions, use N=1 by default when combined with --times ros2cli#642)
- ros2topic pub/echo qos autodetection (QoS autodetection ros2cli#613)
- ros2topic echo deprecate --lost-messages (Make Lost Messages option ON by default ros2cli#633)
- rosbag2 bag rewrite (Expose bag_rewrite as
ros2 bag convert
rosbag2#921) - rosbag2 start time play option (Add start time play option rosbag2#931)
- rosbag2 ignore-leaf-topics (topics without a publisher) (Add "ignore leaf topics" option to recorder rosbag2#925)
- rosbag2 add ability to start paused (Add pause/resume options to the bag recorder rosbag2#905, Add --start-paused option to
ros2 bag play
rosbag2#904) - rosbag2 add ability to use keyboard to pause/resume/play-next (keyboard controls for pause/resume toggle and play-next: rosbag2#847)
- rosbag2 add snapshot mode (only start writing once service is called (Add --snapshot-mode argument to the "record" verb rosbag2#851)
- rosbag2 add delay option (only start playing after delay) (Add delay option rosbag2#789)
- rosbag2 seek interface (added seek interface rosbag2#836)
- rosbag2 burst mode (play as fast as possible) (Add burst-mode to Player rosbag2#977)
- rosidl_generator_c implement copy and equality operators for C messages (Implement copy function for C messages rosidl#650, Implement equality operator function for C messages. rosidl#648)
- Update to Connext 6
- sensor_msgs Add YUV420 and YUV444 to image encodings (Add YUV420 and YUV444 to image encodings common_interfaces#172)
- sensor_msgs add equidistant distortion model (Add equidistant distortion model common_interfaces#160)
- shape_msgs Add PRISM type to SolidPrimitive (Add prism type to the SolidPrimitive.msg (#166) common_interfaces#167)
- tf2 change TF2Error names to be more descriptive (Change TF2Error names to be a bit more descriptive. geometry2#349)
- tf2_eigen add transforms for twists and wrenches (Add doTransform function for twists or wrenches geometry2#406, Feature: Add doTransform for Wrench messages geometry2#476)
- tf2_ros use dedicated callback group and executor for timer (Isolate timer interface geometry2#447)
- tf2_ros Add a more intuitive CLI for static_transform_publisher (More Intuitive CLI for Static Transform Publisher geometry2#392)
- rviz2 Add property for configuring camera plugins far plane distance (Add far plane distance property to camera rviz#849)
- rviz2 Display triangle textures with gradients (Triangle lists support textures rviz#719)
- rviz2 Show mass properties in robot model (mass property visualization rviz#714)
- rviz2 Add ability to show YUV images in rviz (Yuv to rgb changes rviz#701)
- rclpy Add LifecycleNodes (Implement managed nodes rclpy#865)
- rclpy Add Clock.sleep_until and Clock.sleep_for (Add Clock.sleep_until rclpy#858, Add Clock.sleep_for using sleep_until rclpy#864)
- rclcpp Add Clock::sleep_until (Re-add Clock::sleep_until rclcpp#1814)