Releases: selfpatch/ros2_medkit
Releases · selfpatch/ros2_medkit
v0.1.0
Changelog
All notable changes to ros2_medkit are documented in this file.
The format is based on Keep a Changelog <https://keepachangelog.com/en/1.1.0/>,
and this project adheres to Semantic Versioning <https://semver.org/spec/v2.0.0.html>.
[0.1.0] - 2026-02-01
First public release of ros2_medkit.
Added
Gateway (ros2_medkit_gateway)
- REST API gateway exposing ROS 2 graph via SOVD-compatible endpoints
- Discovery endpoints:
/areas,/components,/apps,/functions - Data access: Read topic data, publish to topics
- Operations: Call ROS 2 services and actions with execution tracking
- Configurations: Read/write/reset ROS 2 node parameters
- Faults: Query and clear faults from fault manager
- Three discovery modes: runtime_only, hybrid, manifest_only
- Manifest-based discovery with YAML system definitions
- Heuristic app detection in runtime mode
- JWT authentication with RBAC (viewer, operator, configurator, admin roles)
- TLS/HTTPS support with configurable TLS 1.2/1.3
- CORS configuration for browser clients
- SSE (Server-Sent Events) for real-time fault notifications
- Health check endpoint
Fault Manager (ros2_medkit_fault_manager)
- Centralized fault storage and management node
- ROS 2 services:
report_fault,get_faults,clear_fault - AUTOSAR DEM-style debounce lifecycle (PREFAILED → CONFIRMED → HEALED → CLEARED)
- Fault aggregation from multiple sources
- Severity escalation
- In-memory storage with thread-safe implementation
Fault Reporter (ros2_medkit_fault_reporter)
- Client library for reporting faults from ROS 2 nodes
- Local filtering with configurable threshold and time window
- Fire-and-forget async service calls
- High-severity bypass for immediate fault reporting
Diagnostic Bridge (ros2_medkit_diagnostic_bridge)
- Bridge node converting
/diagnosticsmessages to fault manager faults - Configurable severity mapping from diagnostic status levels
- Support for diagnostic arrays with multiple status entries
Serialization (ros2_medkit_serialization)
- Runtime JSON ↔ ROS 2 message serialization
- Dynamic message introspection without compile-time type knowledge
- Support for all ROS 2 built-in types, arrays, nested messages
- Type caching for performance
Messages (ros2_medkit_msgs)
Fault.msg: Fault status message with severity, timestamps, sourcesFaultEvent.msg: Fault event for subscriptionsReportFault.srv: Service for reporting faultsGetFaults.srv: Service for querying faults with filtersClearFault.srv: Service for clearing faults
Documentation
- Sphinx documentation with Doxygen integration
- Getting Started tutorial
- REST API reference
- Configuration reference (server, discovery, manifest)
- Authentication and HTTPS tutorials
- Docker deployment guide
- Companion project tutorials (web-ui, mcp-server)
Tooling
- Postman collection for API testing
- Development container configuration
- GitHub Actions CI/CD pipeline
Companion Projects
sovd_web_ui <https://github.com/selfpatch/sovd_web_ui>_: Web interface for entity browsingros2_medkit_mcp <https://github.com/selfpatch/ros2_medkit_mcp>_: MCP server for LLM integration
SOVD Compliance
This release implements a subset of the SOVD (Service-Oriented Vehicle Diagnostics)
specification adapted for ROS 2:
- Core discovery endpoints (areas, components)
- Extended discovery (apps, functions) via manifest mode
- Data access (read, write)
- Operations (services, actions with executions)
- Configurations (parameters)
- Faults (query, clear)
Not yet implemented:
- Bulk data transfer
- Software updates
- Locks
- Triggers
- Communication logs