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

ROS 2 Humble needed release notes #2446

Closed
62 of 87 tasks
clalancette opened this issue Apr 29, 2022 · 5 comments
Closed
62 of 87 tasks

ROS 2 Humble needed release notes #2446

clalancette opened this issue Apr 29, 2022 · 5 comments

Comments

@clalancette
Copy link
Contributor

clalancette commented Apr 29, 2022

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.

  1. Type Adaptation ([rclcpp] Type Adaptation feature rclcpp#1557, Add type adaption example examples#300)
  2. Overlay include changes
  3. ament_cmake_gen_version_h package (Add ament_cmake_gen_version_h package ament/ament_cmake#198)
  4. FindPython3 instead of FindPythonInterp? (Use FindPython3 instead of FindPythonInterp ament/ament_cmake#355)
  5. ament_cmake_copyright file exclusion ([ament_cmake_copyright] Add file exclusion support ament/ament_lint#328)
  6. ament_generate_version_header (Add ament_generate_version_header ament/ament_cmake#377) (possibly obsoletes ament_cmake_gen_version_h
  7. ament_cmake_uncrustify file exclusion ([ament_cmake_uncrustify] Add file exclude support ament/ament_lint#330)
  8. SPDX identifiers for package licenses (Add SPDX identifiers to the licenses. ament/ament_lint#315)
  9. 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)
  10. Type Adaptation with intra-process comms in same context for passing opaque handles
  11. 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)
  12. rclcpp::WaitSet (Add wait set examples examples#315)
  13. rclpy SIGINT/SIGTERM handling (Shutdown asynchronously when sigint is received rclpy#844, Update python nodes sigint/sigterm handling examples#330, and others)
  14. Deprecation of tf2_geometry_msgs.h (Deprecate tf2_geometry_msgs.h geometry2#418)
  15. Launch boolean substitutions (Add boolean substitutions launch#598)
  16. Launch environment variable scoping (Support scoping environment variables launch#601)
  17. Launch evaluate math in python (Evaluate math symbols and functions in python expression launch#557)
  18. Launch_testing pytest (First prototype of native pytest plugin for launch based tests launch#528)
  19. Launch Executable description (Adding Executable description class launch#454)
  20. Launch match target action (event handlers: Allow to match the target action with a callable and not only with an object instance launch#540)
  21. Launch AppendEnvironmentVariable (Add AppendEnvironmentVariable action launch#543)
  22. Launch ClearLaunchConfigurations (Feature clear launch configs launch#515)
  23. Launch_ros parameter substitution (Add parameter substitution launch_ros#297)
  24. Launch_ros Composable parameters from file (Set parameters from file for composable nodes launch_ros#281)
  25. Launch_ros alternate parameter file configuration (Support both parameter file configurations for composable nodes launch_ros#259)
  26. Launch_ros SetParametersFromFile (launch_ros action to set parameters for all nodes in scope using a global parameter yaml file launch_ros#260)
  27. Launch_ros change push-ros-namespace to push_ros_namespace (Add push_ros_namespace alias to push-ros-namespace launch_ros#250)
  28. Launch_ros new ros_arguments for Node (Add ros_arguments option to Node action launch_ros#249)
  29. Launch_ros RosTimer action (ROS Timer Action launch_ros#244)
  30. Launch_ros XML composable containers (Support container in frontend launch_ros#235)
  31. launch_testing Remove deprecated ready_fn ([launch_testing] remove deprecated ready_fn feature launch#589)
  32. rosidl_get_typesupport_target (Add rosidl_get_typesupport_target and deprecate rosidl_target_interfaces rosidl#606)
  33. 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)
  34. Events Executor support (Add Events Executor rcl#839, Add EventsExecutor rmw#286, Add EventsExecutor rmw_fastrtps#468, and others)
  35. Client/service QoS getters (Add client/service QoS getters rcl#941, Add client/service QoS getters rmw_fastrtps#560, and others)
  36. Allow users to disable loaned messages (introduce ROS_DISABLE_LOAN_MSG to disable can_loan_messages. rcl#949)
  37. rclcpp Removal of APIs deprecated during Galactic (remove things that were deprecated during galactic rclcpp#1913)
  38. Deprecate CamelCase rclcpp_components methods (Deprecate method names that use CamelCase in rclcpp_components rclcpp#1716)
  39. Allow selection of executor in rclcpp_components_register_node (Select executor in node registration rclcpp#1898)
  40. Auto-transition lifecycle entities (Automatically transition lifecycle entities when node transitions rclcpp#1863)
  41. Deprecation of get_env.h in favor of env.h (Deprecate get_env.h and move content to env.{h,c} rcutils#340)
  42. Client/service QoS getters (Add client/service QoS getters rmw#314)
  43. Sequence numbers in message_info (Add sequence numbers to message info structure rmw#318)
  44. Certificate Revocation Lists (Add support for Certificate Revocation List files. rmw_dds_common#52)
  45. Changed default Fast-RTPS publication mode to synchronous (Change default to synchronous rmw_fastrtps#571)
  46. robot_state_publisher add frame_prefix parameter (Restore tf_prefix support for ROS2 ros/robot_state_publisher#159)
  47. robot_state_publisher subscription SensorDataQoS (Make joint_states subscription QoS configurable; default to SensorDataQoS ros/robot_state_publisher#179)
  48. robot_state_publisher always publish fixed frames to /tf_static (Always publish fixed frames to /tf_static ros/robot_state_publisher#158)
  49. ros2launch launch-prefix (Resolves #37 - Added --launch-prefix argument for 'ros2 launch' command launch_ros#254)
  50. ros2launch launch-prefix-filter (Add regex filter for selective launch-prefix application launch_ros#261)
  51. ros2param command-line argument interpretation (Fix how ros2 param interprets command-line arguments. ros2cli#684)
  52. ros2param deprecate command-line arguments (add '--write' option to avoid an unintentional data loss. ros2cli#638)
  53. ros2cli always line buffer (Make the ros2cli output always line buffered ros2cli#659)
  54. ros2pkg use local git config instead of global (Use local git config instead of global ros2cli#693)
  55. ros2pkg automatically add LICENSE files for known licenses (Generate LICENSE files on ros2 pkg create. ros2cli#650)
  56. ros2topic output data in YAML "block" style (add yaml dump flow style. ros2cli#698)
  57. ros2topic echo print once (support ros2topic echo once option. ros2cli#695)
  58. ros2topic regex filter (Feature: ros2topic echo filtering with python expression ros2cli#654)
  59. ros2topic pub make QoS Reliable and Transient-local (Change default QoSProfile for pub ros2cli#653)
  60. 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)
  61. ros2topic pub/echo qos autodetection (QoS autodetection ros2cli#613)
  62. ros2topic echo deprecate --lost-messages (Make Lost Messages option ON by default ros2cli#633)
  63. rosbag2 bag rewrite (Expose bag_rewrite as ros2 bag convert rosbag2#921)
  64. rosbag2 start time play option (Add start time play option rosbag2#931)
  65. rosbag2 ignore-leaf-topics (topics without a publisher) (Add "ignore leaf topics" option to recorder rosbag2#925)
  66. 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)
  67. rosbag2 add ability to use keyboard to pause/resume/play-next (keyboard controls for pause/resume toggle and play-next: rosbag2#847)
  68. rosbag2 add snapshot mode (only start writing once service is called (Add --snapshot-mode argument to the "record" verb rosbag2#851)
  69. rosbag2 add delay option (only start playing after delay) (Add delay option rosbag2#789)
  70. rosbag2 seek interface (added seek interface rosbag2#836)
  71. rosbag2 burst mode (play as fast as possible) (Add burst-mode to Player rosbag2#977)
  72. 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)
  73. Update to Connext 6
  74. sensor_msgs Add YUV420 and YUV444 to image encodings (Add YUV420 and YUV444 to image encodings common_interfaces#172)
  75. sensor_msgs add equidistant distortion model (Add equidistant distortion model common_interfaces#160)
  76. shape_msgs Add PRISM type to SolidPrimitive (Add prism type to the SolidPrimitive.msg (#166) common_interfaces#167)
  77. tf2 change TF2Error names to be more descriptive (Change TF2Error names to be a bit more descriptive. geometry2#349)
  78. 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)
  79. tf2_ros use dedicated callback group and executor for timer (Isolate timer interface geometry2#447)
  80. tf2_ros Add a more intuitive CLI for static_transform_publisher (More Intuitive CLI for Static Transform Publisher geometry2#392)
  81. rviz2 Add property for configuring camera plugins far plane distance (Add far plane distance property to camera rviz#849)
  82. rviz2 Display triangle textures with gradients (Triangle lists support textures rviz#719)
  83. rviz2 Show mass properties in robot model (mass property visualization rviz#714)
  84. rviz2 Add ability to show YUV images in rviz (Yuv to rgb changes rviz#701)
  85. rclpy Add LifecycleNodes (Implement managed nodes rclpy#865)
  86. rclpy Add Clock.sleep_until and Clock.sleep_for (Add Clock.sleep_until rclpy#858, Add Clock.sleep_for using sleep_until rclpy#864)
  87. rclcpp Add Clock::sleep_until (Re-add Clock::sleep_until rclcpp#1814)
@jacobperron
Copy link
Member

I can help add release notes related to launch, specifically, I think these ones are worth mentioning:

@ivanpauno
Copy link
Member

I can do at least a few:

I will check the list and claim a few more later.

@jacobperron
Copy link
Member

I think we can omit ros2/launch_ros#259, since it is a bugfix that should probably be backported.

@jacobperron
Copy link
Member

I've checked off boxes for items being added in #2486

I've added a strike-through for those items that I didn't think worth mentioning with the following rationale:

@clalancette
Copy link
Contributor Author

We've done the release notes we are going to do, so closing this out.

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

No branches or pull requests

3 participants