Files
git-contribution-graph/CHANGELOG.md
T
haylan 38312f549c docs: add CHANGELOG for 0.1.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 14:27:58 +02:00

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-cli to 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 configurationdocker/frankenphp/Caddyfile and Caddyfile.dev for production and development setups
  • Provider health probesProviderInterface extended with ping() and probe() methods; ProbeTrait provides the shared implementation
  • Per-provider status on /health — the health endpoint now reports ok, degraded, or down for each configured provider (GitHub, GitLab, Gitea), along with an error code and latency
  • Supporting value objectsProviderStatus, ProviderStatusType, ProviderErrorCode, and ProviderHealthChecker service
  • ContributionAggregator service — contribution merging logic extracted from GraphController into a dedicated, testable service

Fixed

  • Optional environment variables (GITLAB_URL, ALLOWED_HOSTS, etc.) now have explicit empty default values in docker-compose.yml, preventing Docker Compose warnings on startup

Changed

  • SvgRenderer is now final and declares strict_types=1

Tests

  • Unit tests added for ProbeTrait, ProviderHealthChecker, ProviderStatus, ContributionAggregator, and all three provider probes (GitHubProvider, GitLabProvider, GiteaProvider)
  • SvgRendererTest refactored 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 /health endpoint