# rclnodejs contributors (sorted alphabetically) - **[Alaa El Jawad](https://github.com/ejalaa12)** - Fix compatibility with ROS2 parameters array types - Unit tests for all parameter types - Handle concurrent ROS2 client calls, with unit tests - **[Alex Mikhalev](https://github.com/amikhalev)** - Fix build for AMENT_PREFIX_PATH with multiple entries - **[Felix Divo](https://github.com/felixdivo)** - Code cleanup of index.js, tests cases & message generation - Improved shutdown behavior - Fixed compilation warnings - **[Hanyia](https://github.com/hanyia)** - Benchmark test script - **[Ian McElroy](https://github.com/imcelroy)** - Add descriptor namespace for all interfaces, rostsd_gen improvements - Fix compatibility with ROS2 parameters array types - Unit tests for all parameter types - Handle concurrent ROS2 client calls, with unit tests - **[Kenny Yuan](https://github.com/kenny-y)** - Message features: JS generation, typed arrays, plain JS object, compound msgs, many others... - npm publish scripts - Mac support - **[Matt Richard](https://github.com/mattrichard)** - ROS2 Actions - Guard conditions - Node utility methods (countPublishers/subscribers...) - TypeScript improvements - Node 12 compatibility - **[Minggang Wang](https://github.com/minggangw)** - Author, lead developer, maintainer - Core, CI - **[Mahmoud Alghalayini](https://github.com/mahmoud-ghalayini)** - JSON safe serialization improvements - Promise-based service calls implementation - Add ParameterClient for external parameter access - Add structured error handling with class error hierarchy - Add ParameterWatcher for real-time parameter monitoring - Enhance Message Validation - Add TypeScript definitions and non-throwing variants for validator - Add MessageIntrospector for message schema inspection - Add Observable subscriptions with RxJS support - **[Martins Mozeiko](https://github.com/martins-mozeiko)** - QoS new/delete fix - **[Qiuzhong](https://github.com/qiuzhong)** - Test coverage for actions, topics, multi-array messages, cross platform, security - Converted from setTimeout to ROS2 Timer - **[Teo Koon Peng](https://github.com/koonpeng)** - TypeScript improvements - Added Client#waitForService - Code style improvements, e.g., Prettier formatting - Improved code generation smarts and efficiency - **[Wayne Parrott](https://github.com/wayneparrott)** - TypeScript support with interface generation - ROS2 parameter support - ROS2 lifecycle node - Rate class - Node class hierarchy