rclnodejs v1.8.0 Release (2026-01-07)
Overview
We're excited to announce rclnodejs v1.8.0! This release brings reactive programming support with RxJS, enhanced logging capabilities, comprehensive clock/timer management, and improved message introspection tools.
🎉 Major Features
1. RxJS Observables Support (#1357)
- Observable Subscriptions: You can now use RxJS Observables for subscriptions, enabling powerful reactive programming patterns for handling message streams.
2. Advanced Logging Capabilities (#1336, #1337, #1338)
- Rosout Logging: Added support for publishing log messages to the standard
/rosouttopic. - Logging Directory: New
getLoggingDirectory()API to programmatically retrieve the current logging location. - Thread Safety: Improved thread safety for logging operations.
3. Enhanced Time and Clock Management
- Clock Callbacks: Added support for clock callbacks (#1355) and
ClockEvent(#1354). - Timer Improvements:
4. Message Introspection and Validation (#1346, #1341)
- MessageIntrospector: New capability to inspect message schemas at runtime.
- Enhanced Validation: Stronger message validation logic with non-throwing variants and better TypeScript definitions (#1345).
✨ New Capabilities
Node & Graph Information
- Service Introspection: Added
getServersInfoByServiceandgetClientsInfoByServiceto query service availability and connectivity (#1335). - Liveliness Assertion: Added
assertLiveliness()method for Publishers, critical for certain QoS configurations (#1331). - Content Filtering: Added
getContentFilterfor Subscriptions to inspect filtering rules (#1334).
Utilities
- Argument Handling:
🔧 Improvements & Fixes
Bug Fixes
- Memory Management: Fixed potential leak by calling
rcl_action_goal_status_array_fini()when publishing status fails (#1332). - Request Handling: Replaced
rcl_take_requestwithrcl_take_request_with_infofor more robust service request processing (#1333).
Build System
- Dependencies: Added
node-gyptodevDependenciesexplicitly (#1351). - CI: Removed 'rolling' distribution from Windows workflows (#1352).
Full Changelog: 1.7.0...1.8.0
Doc: https://robotwebtools.github.io/rclnodejs/docs/1.8.0/index.html