rclnodejs v1.9.0 Release (2026-04-07)
We are pleased to announce rclnodejs v1.9.0. This stable release adds new subscription, timer, parameter, QoS, and action capabilities, along with CI and publishing improvements introduced during the 1.9.0 alpha cycle.
📣 Important Notes
- rclnodejs 1.9.0 is the final release in the 1.x series.
- ROS 2 Lyrical support will begin with rclnodejs 2.x.
- rclnodejs 1.9.0 is the final release with Node.js 16.x support.
- rclnodejs 1.9.0 is the final release with C++17 support.
✨ Highlights
- Add QoS overriding options for publishers and subscriptions (#1468)
- Add pre-set and post-set parameter callbacks (#1470)
- Add timer autostart and TimerInfo callback support (#1472)
- Add ParameterEventHandler node filtering support (#1474)
- Add ParameterEventHandler for cross-node parameter monitoring (#1438)
- Expose MessageInfo metadata on subscription callbacks (#1440)
- Add waitForMessage utility for one-shot message reception (#1444)
- Add support check for content filter feature in subscription (#1451)
- Support feedback subscription content filter for action client (#1457)
🛡️ Bug Fixes And Safeguards
- Guard publishFeedback and execute for valid goal states (#1466)
🚀 CI, Packaging, And Tooling
- Add OIDC trusted publishing and npm provenance support (#1460)
- Skip lifecycle scripts when packing release artifacts (#1461)
- Support pre-release publishing in the npm publish workflow (#1464)
- Add AddressSanitizer memory testing for the native addon (#1430)
- Prevent CI hangs from unbounded subprocess waits (#1434)
- Re-enable tests on Jazzy for Windows (#1435)
- Update TypeScript to 6.0.2 (#1455)
- Clarify README install and quick start guidance (#1453)
- Update README documentation (#1449)
- Move JSDoc tooling under tools/jsdoc and document the publish workflow (#1447)
- Align clang-format include ordering with cpplint rules (#1428)
Full Changelog: 1.8.3...1.9.0