diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ce8d8..c6981fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ 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). ## [Unreleased] +### Added +- Added `StorageBackend` protocol/interface for backend-agnostic storage (#33) +- Added `health_check()` method to storage backend with `/health` endpoint integration (#33) +- Added `verify_integrity()` method for post-upload hash validation (#33) +- Added garbage collection endpoint `POST /api/v1/admin/garbage-collect` for orphaned artifacts (#36) +- Added orphaned artifacts listing endpoint `GET /api/v1/admin/orphaned-artifacts` (#36) +- Added global storage statistics endpoint `GET /api/v1/stats` (#34) +- Added storage breakdown endpoint `GET /api/v1/stats/storage` (#34) +- Added deduplication metrics endpoint `GET /api/v1/stats/deduplication` (#34) +- Added per-project statistics endpoint `GET /api/v1/projects/{project}/stats` (#34) +- Added pytest infrastructure with mock S3 client for unit testing (#35) +- Added unit tests for SHA256 hash calculation (#35) +- Added unit tests for duplicate detection and deduplication behavior (#35) +- Added test dependencies to requirements.txt (pytest, pytest-asyncio, pytest-cov, httpx, moto) (#35) ### Fixed - Fixed Helm chart `minio.ingress` conflicting with Bitnami MinIO subchart by renaming to `minioIngress` (#48)