rclnodejs v1.6.0
Release Notes for rclnodejs v1.6.0 (2025-10-30)
π Major Features
JSON-Safe Message Serialization (#1308)
- New Public API: Added
serializationModeoption tocreateSubscription()'default'- Native rclnodejs behavior'plain'- Converts TypedArrays to regular arrays (JSON-compatible)'json'- Full JSON-safe mode (handles TypedArrays, BigInt, NaN, Infinity)
- New Utility Functions:
rclnodejs.toJSONSafe(obj)- Converts objects to JSON-friendly formatrclnodejs.toJSONString(obj)- Directly converts to JSON string
- Problem Solved: Sensor messages with TypedArrays now work correctly with
JSON.stringify(), web APIs, and logging workflows - Fully backward compatible - existing code continues to work unchanged
π¦ Dependency Cleanup
Removed external dependencies and replaced with native implementations:
- Removed
compare-versions(#1303) - Implemented custom version comparison - Removed
fs-extra(#1302) - Using Node.js built-infsmodule with custom utilities - Removed
doTtemplate engine (#1297) - Replaced with native JavaScript template literals - Removed
terser(#1293) - Simplified to regex-based whitespace cleanup - Removed
is-close(#1295) - Implemented custom floating-point comparison
Result: Lighter package with fewer third-party dependencies, improved maintainability
π§ Node.js Compatibility
Node.js v25 Support (#1313, #1314, #1315)
- Removed deprecated
SlowBuffer- Eliminated Node.js v6 era compatibility code that was causing errors in v25
ποΈ Code Modernization
Template Engine Migration (#1297)
- Migrated from
doTtemplates to native ES6 template literals - Benefits: Better performance, improved maintainability, reduced dependencies
π CI/CD Improvements
- GitHub Actions Updates (#1291): Upgraded
setup-nodeaction to v6.0.0 - Multi-version Testing: Expanded Node.js version coverage (v24, v25) across different platforms
Full Changelog: 1.5.2...1.6.0
π Acknowledgments
Thanks to all contributors who helped identify issues and improve this release!