Skip to content

ExUtcp v0.3.1

Latest

Choose a tag to compare

@thanos thanos released this 05 Oct 18:19
· 16 commits to main since this release
d07d49c

Overview

ExUtcp v0.3.1 introduces WebRTC Transport for peer-to-peer communication, completing Phase 3: Extended Protocols. This release enables direct device-to-device tool calling with WebRTC data channels, NAT traversal, and secure DTLS encryption.

Changes from v0.3.0

Added

  • WebRTC Transport with peer-to-peer communication capabilities using WebRTC data channels.
  • ExWebRTC library integration providing W3C WebRTC API implementation in pure Elixir.
  • WebRTC connection management with automatic signaling protocol handling.
  • ICE candidate handling with STUN/TURN server support for NAT traversal.
  • WebRTC data channels for reliable tool communication between peers.
  • Peer-to-peer tool calling without requiring central server infrastructure.
  • WebRTC signaling server client for SDP offer/answer and ICE candidate exchange.
  • Configurable ICE servers with support for public STUN and private TURN servers.
  • DTLS encryption for secure peer-to-peer communication by default.
  • WebRTC streaming support with data channel multiplexing for concurrent operations.
  • 18 comprehensive WebRTC tests covering transport features and configuration.
  • WebRTC examples with complete setup guide and configuration instructions.
  • Sobelow security analysis tool integration for enhanced code security scanning.

Changed

  • Updated Client module to include WebRTC transport in default transports list.
  • Enhanced Providers module with WebRTC provider configuration and ICE server setup.
  • Updated transport count from 7 to 8 transports with WebRTC addition.
  • Improved documentation with WebRTC setup guide and use cases.

Fixed

  • WebRTC provider configuration with proper ICE server defaults (Google STUN servers).
  • Connection lifecycle management for WebRTC peers with automatic reconnection.
  • Data channel message handling and JSON serialization for tool calls.

Phase 3 Completion

With v0.3.1, Phase 3: Extended Protocols is now complete with WebRTC transport implementation.


Release Notes - ExUtcp v0.3.0

Overview

ExUtcp v0.3.0 introduces comprehensive Monitoring and Metrics capabilities, completing Phase 2 of the enhanced features roadmap. This release provides production-ready monitoring with telemetry integration, Prometheus metrics, health checks, and performance analysis.

Changes from v0.2.9

Added

  • Monitoring and Metrics system with telemetry integration for all UTCP operations.
  • Telemetry events for tool calls, searches, provider registration, and connection lifecycle.
  • PromEx integration for Prometheus metrics collection and visualization with custom dashboards.
  • Health check system for monitoring transport and component health with automatic status reporting.
  • Performance monitoring with operation timing, statistical analysis, and threshold-based alerting.
  • Metrics collection system supporting counters, gauges, histograms, and summaries.
  • System monitoring for memory usage, process counts, scheduler utilization, and garbage collection.
  • Performance alerts and threshold-based monitoring for proactive issue detection.
  • Custom metrics recording and aggregation for application-specific monitoring needs.
  • Monitoring dashboard configuration with PromEx and Grafana integration support.
  • 15+ comprehensive monitoring tests covering telemetry, health checks, and performance measurement.
  • Monitoring examples demonstrating all monitoring capabilities and integration patterns.

Changed

  • Enhanced Client module with integrated monitoring and performance measurement for all operations.
  • Added telemetry events to tool calls and search operations for comprehensive performance tracking.
  • Improved error handling with performance metrics collection for failed operations and debugging.
  • Updated Client API with monitoring functions (get_monitoring_metrics, get_health_status, get_performance_summary).

Fixed

  • Performance measurement error handling with proper telemetry emission for both success and failure cases.
  • Health check system robustness with fallback mechanisms when components are unavailable.
  • Metrics collection reliability with graceful degradation when monitoring services are not running.