# Changelog All notable changes to rdev will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.0.0] - 2024-01-25 ### Added #### Core Features - REST API for remote development environments - SSE streaming for real-time command output - Support for Claude, shell, and git commands - Project discovery via Kubernetes labels #### Security - API key authentication with scopes (projects:read, projects:execute, keys:read, keys:write, admin) - IP allowlisting for API keys - Command sanitization to prevent injection attacks - Rate limiting per API key - Concurrent command limiting per project #### Kubernetes Integration - Label-based project discovery (`rdev.orchard9.ai/project=true`) - ConfigMap support for project configuration - Pod watch for real-time status updates - Service account RBAC with minimal permissions - NetworkPolicy for ingress/egress control #### Reliability - Circuit breaker for Kubernetes API calls - Graceful shutdown with 30-second timeout - Health checks (liveness and readiness) - Response caching with TTL - Connection pool tuning #### Observability - Prometheus metrics endpoint - Structured JSON logging - Request ID tracking #### Documentation - Architecture documentation (hexagonal pattern) - API documentation with examples - Operations documentation with runbooks - SSE client examples (JavaScript, Python, Go) ### Architecture - Hexagonal architecture (ports and adapters) - Domain-driven design with clean separation - Comprehensive test suite with benchmarks ### Dependencies - Go 1.22+ - chi v5 for HTTP routing - PostgreSQL for API key storage - Kubernetes client-go ## [Unreleased] ### Planned - OpenTelemetry integration (requires OTLP collector) - Horizontal Pod Autoscaler support - Multi-cluster support