Skip to content

rclnodejs v1.8.2 Release (2026-02-24)

Latest

Choose a tag to compare

@minggangw minggangw released this 24 Feb 08:48
· 141 commits to develop since this release

We are pleased to announce rclnodejs v1.8.2! This patch release focuses on improving ROS 2 Rolling compatibility, extending ROSIDL message support, and enhancing Electron Forge packaging for all demos.

🐛 Bug Fixes

ROS 2 Rolling Compilation (#1392)

  • Fixed a compilation error when building against ROS 2 Rolling caused by a breaking API change in rcl_lifecycle_state_machine_init, which now requires a clock parameter. Added a version-specific code path (ROS_VERSION >= 5000) and updated JavaScript code to pass the node's clock handle to the native lifecycle state machine creation function.

Hyphenated ROSIDL Subdirectory Support (#1390)

  • Fixed generate-ros-messages failure for packages with hyphenated subdirectory names (e.g., msg-common, msg-ros2 in mrpt_msgs). Updated getSubFolder() to normalize hyphenated subdirectory names to their base interface types (msg, srv, action).

✨ Improvements

Electron Forge Packaging (#1387)

  • Configured Electron Forge packaging across all four Electron demos (topics, turtle_tf2, manipulator, car) to enable distributable application creation.
  • Added ASAR unpack configuration for rclnodejs, which requires file system access to generated code and native bindings.
  • Migrated manipulator demo from CDN-based Three.js to npm package and added GPU rendering workarounds.
  • Added comprehensive packaging documentation to all demo READMEs.

Compiler Warnings (#1385)

  • Replaced the broad <node.h> include with the more targeted <node_version.h> in rcl_bindings.cpp to mitigate compiler warnings from unnecessary Node C++ API exposure.

🔧 Infrastructure

  • Windows Rolling CI: Re-enabled rolling builds on Windows by updating the download URL to the new GitHub Releases location for ROS 2 Rolling nightly binaries (#1382).
  • Dependencies: Updated @eslint/js to ^10.0.1 and eslint to ^10.0.2 (#1396).

Full Changelog: 1.8.1...1.8.2