From 892b88e8d79fc6c60b5fec3af3c329d73d81a875 Mon Sep 17 00:00:00 2001 From: Davide Faconti Date: Sun, 21 Dec 2025 10:15:03 +0100 Subject: [PATCH 1/3] prepare release --- CHANGELOG.rst | 19 +++++++++++++++++++ src/TopicPublisherROS2/publisher_ros2.cpp | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 782b0998..f46d078d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,25 @@ Changelog for package plotjuggler_ros ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* fix CI +* fail to compile +* fix +* add pre-commit step +* new formatting rules +* add formatting consistent with plotjuggler App +* Fix O(n^2) complexity in ROS2 topic selection dialog. (`#106 `_) +* Depend on ros_environment for Humble detection (`#107 `_) + PR `#98 `_ mistakenly removed ros_environment from package.xml. This broke + Humble detection, which had to be worked around in 9b03f97 ("try + detecting Humble in the build farm", 2025-06-10). + This PR adds ros_environment dependency back and removes the Humble + detection workaround. + This also helps with building the package using the Nix package + manager. +* Contributors: Davide Faconti, Michal Sojka, ksuszka + 2.2.0 (2025-05-21) ------------------ * jazzy+ diff --git a/src/TopicPublisherROS2/publisher_ros2.cpp b/src/TopicPublisherROS2/publisher_ros2.cpp index 7126d2d2..217247fb 100644 --- a/src/TopicPublisherROS2/publisher_ros2.cpp +++ b/src/TopicPublisherROS2/publisher_ros2.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -153,7 +154,7 @@ void TopicPublisherROS2::filterDialog() std::map checkbox; - for (const TopicInfo& info : _topics_info) + for (const TopicInfo& info : sorted_topics) { const std::string topic_name = info.topic_name; auto cb = new QCheckBox(dialog); From c59c52d77cf757cce366435bc6b40379bf28b05f Mon Sep 17 00:00:00 2001 From: Davide Faconti Date: Sun, 21 Dec 2025 10:15:14 +0100 Subject: [PATCH 2/3] 2.3.2 --- CHANGELOG.rst | 4 ++-- package.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f46d078d..aaafe149 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package plotjuggler_ros ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +2.3.2 (2025-12-21) +------------------ * fix CI * fail to compile * fix diff --git a/package.xml b/package.xml index 14d9abd3..6a97a99b 100644 --- a/package.xml +++ b/package.xml @@ -1,7 +1,7 @@ plotjuggler_ros - 2.3.1 + 2.3.2 PlotJuggler plugin for ROS Davide Faconti From 0e0fce238e981a6875e45f4424ba9a43c018f217 Mon Sep 17 00:00:00 2001 From: Davide Faconti Date: Sat, 7 Mar 2026 10:19:05 +0100 Subject: [PATCH 3/3] fix segfault in GenericPublisher on Jazzy due to uninitialized callbacks_ member The callbacks_ member was passed to the rclcpp::PublisherBase base class constructor before it was initialized (C++ UB), causing a segfault inside rclcpp::JumpHandler::JumpHandler on Jazzy. Replace with a default-constructed temporary rclcpp::PublisherEventCallbacks{} and remove the now-unused member. Fixes #112 Co-Authored-By: Claude Sonnet 4.6 --- src/TopicPublisherROS2/generic_publisher.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/TopicPublisherROS2/generic_publisher.h b/src/TopicPublisherROS2/generic_publisher.h index ec80caf1..ac195df2 100644 --- a/src/TopicPublisherROS2/generic_publisher.h +++ b/src/TopicPublisherROS2/generic_publisher.h @@ -28,7 +28,8 @@ class GenericPublisher : public rclcpp::PublisherBase #ifdef ROS_HUMBLE : rclcpp::PublisherBase(node_base, topic_name, type_support, rcl_publisher_get_default_options()) #else - : rclcpp::PublisherBase(node_base, topic_name, type_support, rcl_publisher_get_default_options(), callbacks_, true) + : rclcpp::PublisherBase(node_base, topic_name, type_support, rcl_publisher_get_default_options(), + rclcpp::PublisherEventCallbacks{}, true) #endif { } @@ -53,10 +54,6 @@ class GenericPublisher : public rclcpp::PublisherBase return std::make_shared(node.get_node_base_interface().get(), topic_name, *type_support); } - -#ifndef ROS_HUMBLE - rclcpp::PublisherEventCallbacks callbacks_; -#endif }; #endif // GENERIC_PUBLISHER_H