ros-rolling-hatchbed-common (0.1.8-1resolute) resolute; urgency=high

  * Add explicit-source-location logging free functions (``logging/functions.h``): ``log_at``,
    ``debug``, ``info``, ``warn``, ``error``, ``fatal`` — each accepting ``(logger, file, func,
    line, message)`` with both ``std::string`` and ``fmt::format_string`` overloads, plus
    no-logger variants that forward to the default logger.
  * Add 2D convex hull utility (``pointcloud/convex_hull_2d.hpp``): ``convexHull2D()`` computes
    the CCW convex hull of a range of 2D points using Andrew's monotone chain algorithm.
  * Add ``ConvexPrism`` type and operations (``pointcloud/convex_prism.hpp``):
    ``makeConvexPrism()`` builds a prism from 3D points; ``transformConvexPrism()`` applies a
    rigid-body transform; ``padConvexPrism()`` expands the XY footprint by a margin;
    ``cropToConvexPrism()`` filters a point cloud to the prism interior.
  * Add ``hasXYZFloat()`` convenience helper to ``pointcloud/point_cloud2_util.hpp``.
  * Restructure ``hatchbed_common_localization`` into two focused sub-libraries:
    * ``hatchbed_common::transforms`` (``transforms/transform_util.h``,transforms/covariance_util.h, transforms/pose_buffer.h) -- frame geometry,
    covariance rotation, pose interpolation, tf_reroot and reframe_odom nodes.
    toIsometry(TransformStamped) is the canonical SE(3) conversion helper.
    
      * ``hatchbed_common::odometry`` -- odometry signal conversion and velocity muxing nodes:
        ``imu_to_twist``, ``odom_to_twist``, ``odom_tf_broadcast``, ``velocity_sensor_mux``
        (formerly ``twist_mux``).
    
  * Fix build against the newer ``tf2_ros`` API.
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Tue, 21 Jul 2026 05:00:00 -0000

ros-rolling-hatchbed-common (0.1.7-1resolute) resolute; urgency=high

  * Humble build fixes. (#15 <https://github.com/hatchbed/hatchbed_common/issues/15>)
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Fri, 01 May 2026 05:00:00 -0000

ros-rolling-hatchbed-common (0.1.6-1resolute) resolute; urgency=high

  * ParamHandler now accepts rclcpp_lifecycle::LifecycleNode via a template constructor that
    stores ROS node interfaces internally, removing the hard dependency on rclcpp::Node::SharedPtr.
  * Add unit tests for ParamHandler covering regular nodes, lifecycle nodes, dynamic parameter
    updates, static parameter rejection, and numeric range constraints.
  * Add localization utilities: covariance rotation helpers and PoseBuffer with interpolation.
  * Add point cloud utilities: field helpers, transform/deskew functions, and utility nodes.
  * Add logging utilities with fmt support.
  * Add helper for validating ROS parameter names.
  * Add fmt support for SimpleProfiler.
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Fri, 01 May 2026 05:00:00 -0000

ros-rolling-hatchbed-common (0.1.5-1resolute) resolute; urgency=high

  * Enable static analysis and linting tests.
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Sun, 29 Mar 2026 05:00:00 -0000

ros-rolling-hatchbed-common (0.1.4-1resolute) resolute; urgency=high

  * Replace ament_target_dependencies with target_link_libraries.
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Wed, 18 Feb 2026 06:00:00 -0000

ros-rolling-hatchbed-common (0.1.2-1resolute) resolute; urgency=high

  * Add simple timing profiler utility.
  * Add global callback for any changes to registered dynamic parameter.
  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Sun, 06 Apr 2025 05:00:00 -0000

ros-rolling-hatchbed-common (0.1.1-1resolute) resolute; urgency=high

  * Contributors: Marc Alban

 -- "Marc Alban" <marcalban@hatchbed.com>  Sun, 24 Nov 2024 06:00:00 -0000


