# Changelog

All notable changes to curadise-agent will be 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.3] - 2025-01-23

### Added
- Comprehensive documentation for auto-remediation feature
- CLI commands documentation (register, status, unregister)
- Remediation configuration reference with all options
- Expanded security documentation (SSRF, path traversal, ReDoS)
- Architecture diagram updated with remediation module
- CHANGELOG.md for release tracking

### Changed
- Updated pyproject.toml keywords for discoverability

## [0.1.2] - 2025-01-23

### Security
- Fixed command injection vulnerability (now uses subprocess_exec)
- Added SSRF prevention (blocks internal IP ranges, DNS rebinding protection)
- Added path traversal protection (realpath + symlink resolution)
- Added ReDoS protection for regex patterns
- Nonce replay prevention with 24h expiration

### Added
- Public key provisioning from config and directory
- Bounded file reading for log pattern detection

## [0.1.1] - Initial remediation feature

### Added
- Auto-remediation service with server-driven playbooks
- Detection rules (command, http, process, log_pattern)
- Playbook bundle signature verification
- Rate limiting and cooldown support
- Dry-run mode

## [0.1.0] - Initial release

### Added
- Async metrics collection via `anyio` and `psutil`
- Heartbeat service with automatic reconnection
- Remote command execution with sandbox
- mTLS and JWT authentication
- Hot-reload configuration with file watching
- Buffered transport with optional persistence
- Structured logging via `structlog`
