38312f549c
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.0 - 2026-05-30
Added
- FrankenPHP runtime — base image migrated from
php-clito FrankenPHP Alpine for better performance and built-in web server support - FrankenPHP worker mode — Symfony worker script (
public/worker.php) with request reuse and graceful reload - Caddy configuration —
docker/frankenphp/CaddyfileandCaddyfile.devfor production and development setups - Provider health probes —
ProviderInterfaceextended withping()andprobe()methods;ProbeTraitprovides the shared implementation - Per-provider status on
/health— the health endpoint now reportsok,degraded, ordownfor each configured provider (GitHub, GitLab, Gitea), along with an error code and latency - Supporting value objects —
ProviderStatus,ProviderStatusType,ProviderErrorCode, andProviderHealthCheckerservice ContributionAggregatorservice — contribution merging logic extracted fromGraphControllerinto a dedicated, testable service
Fixed
- Optional environment variables (
GITLAB_URL,ALLOWED_HOSTS, etc.) now have explicit empty default values indocker-compose.yml, preventing Docker Compose warnings on startup
Changed
SvgRendereris nowfinaland declaresstrict_types=1
Tests
- Unit tests added for
ProbeTrait,ProviderHealthChecker,ProviderStatus,ContributionAggregator, and all three provider probes (GitHubProvider,GitLabProvider,GiteaProvider) SvgRendererTestrefactored to follow project PHPUnit conventions (#[Test]attribute,it_prefix, Arrange/Act/Assert structure)
0.0.1 - 2025-01-01
Added
- Initial release — GitHub, GitLab, and Gitea contribution graph as a self-hosted SVG endpoint
- Light and dark theme support
- Filesystem cache with 1-hour TTL
- Docker multi-stage build (
base → deps → build → final) - Basic
/healthendpoint