Releases: Affanmir/diff-cover-action
Releases · Affanmir/diff-cover-action
v2.0.0
What's New in v2.0.0
Redesigned PR Comments
PR comments now feature a polished, visual design inspired by tools like Codecov and SonarQube:
- Shields.io coverage badge — large, color-coded badge showing coverage percentage at a glance
- Threshold pass/fail badge — instant visual status
- Unicode progress bar —
████████████████░░░░alongside the badge - Per-file status icons — 🟢 (≥90%), 🟡 (≥70%), 🔴 (<70%)
- Compact metric layout — key stats in a single line
Improved Discoverability
- GitHub Pages site with Schema.org structured data
llms.txtfor AI tool discoverability (Claude, ChatGPT, Perplexity)- 15 repository topics added
- GitHub Discussions enabled
- Marketplace branding updated (shield/blue)
Other Changes
- Action name: Diff Cover — PR Coverage & Quality Reports
- Action now dogfoods itself — posts real coverage comments on its own PRs
- README overhauled with comparison table, badges, and "Why This Action?" section
- Converted from Docker to composite action for faster execution
Migration from v1
Update your workflow reference:
# Before
- uses: Affanmir/diff-cover-action@v1
# After
- uses: Affanmir/diff-cover-action@v2The only breaking change is the PR comment format — if you parse the comment body, update your patterns.
Full Changelog: v1.2.0...v2.0.0
v1.2.0
What's Changed
Fixed
- Critical: Converted from Docker-based action to composite action — Docker actions require the Docker daemon on the runner, which is unavailable on lightweight runners (
ubuntu-slim, Namespace runners, etc.). The action now runs directly on the runner via shell steps, requiring no Docker.
How it works now
pip installthe three dependencies (diff-cover, Jinja2, requests)- Configure
git safe.directory - Run
entrypoint.pywith all inputs passed as explicitINPUT_*env vars
Migration
No changes needed — the action interface (inputs/outputs) is identical. If you're on @v1, you already have this fix.
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
Added
- Issue templates (bug report and feature request)
- Pull request template with checklist
- CODEOWNERS file
Fixed
- Critical: Hyphenated action inputs (
coverage-files,compare-branch, etc.) were not being read due to env var name mismatch — all hyphenated inputs now work correctly - Docker Build CI job failing because verify step appended args to ENTRYPOINT
- Git
safe.directoryerror when Docker actions mount the runner workspace - GHCR image push failing due to uppercase characters in repository name
- Ruff lint/format violations and mypy type errors
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Full Changelog: https://github.com/Affanmir/diff-cover-action/commits/v1.0.0
First release — a zero-vendor-lock-in GitHub Action wrapping diff-cover with native GitHub integration.
Features
- Coverage mode (
diff-cover) — test coverage on changed lines only - Quality mode (
diff-quality) — lint violations on changed lines (flake8, pylint, ruff, mypy, eslint, and more) - Idempotent PR comments — auto-posted summary, updates on re-run
- Inline annotations — uncovered lines shown directly in PR diff
- Step summaries — coverage table in Actions run UI
- Structured outputs —
total-percent,threshold-met, etc. for downstream steps - Shields.io badge generation
- Automatic shallow clone repair
- Full CLI parity — all 26 diff-cover flags exposed as inputs
- Fork PR handling — graceful degradation
Quick Start
- uses: Affanmir/diff-cover-action@v1
with:
coverage-files: coverage.xml
fail-under: '80'