From 7d4091221a22d239892fcb5dcb57e3ccdc7c9e85 Mon Sep 17 00:00:00 2001 From: Mondo Diaz Date: Mon, 5 Jan 2026 15:11:48 -0600 Subject: [PATCH] Update CHANGELOG for issues 33, 34, 35 --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6981fb..8eb74e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,18 +10,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - 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 S3 configuration options: `s3_verify_ssl`, `s3_connect_timeout`, `s3_read_timeout`, `s3_max_retries` (#33) +- Added `S3StorageUnavailableError` and `HashCollisionError` exception types (#33) +- Added hash collision detection by comparing file sizes during deduplication (#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 per-package statistics endpoint `GET /api/v1/project/{project}/packages/{package}/stats` (#34) +- Added per-artifact statistics endpoint `GET /api/v1/artifact/{id}/stats` (#34) +- Added cross-project deduplication endpoint `GET /api/v1/stats/cross-project` (#34) +- Added timeline statistics endpoint `GET /api/v1/stats/timeline` with daily/weekly/monthly periods (#34) +- Added stats export endpoint `GET /api/v1/stats/export` with JSON/CSV formats (#34) +- Added summary report endpoint `GET /api/v1/stats/report` with markdown/JSON formats (#34) +- Added Dashboard page at `/dashboard` with storage and deduplication visualizations (#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 integration tests for upload scenarios and ref_count management (#35) +- Added integration tests for S3 verification and failure cleanup (#35) +- Added integration tests for all stats endpoints (#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) +- Fixed JSON report serialization error for Decimal types in `GET /api/v1/stats/report` (#34) ## [0.3.0] - 2025-12-15 ### Changed