Every commit scored for change-risk against this repo's own history, so 'elevated' means elevated here rather than on some global curve.
Needs review
30 commits sit in this repo's top risk tercile, which is 33% of the 91scored. The cut is drawn against this codebase's own history rather than a global curve, so a quiet repo still fills its top band, and here it starts at 4.9 out of 10. What pushes a commit up is size and spread together: a large change confined to one area scores below a smaller one scattered across a dozen files.
Commit categories over time, read off the subject line. Fixes carry the accent because that is the series this chart exists to show.
Began feature-led, now leaning fix.
Ranked by change-risk, highest first. Priority is a tercile of this repo's own distribution, so a quiet repo still fills its top band.
| # | Commit | Author | When | Lines | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | 8a913614fix: hacs release zip file & improved release workflow | Fabian Seitz | 1mo ago | +1.4K -129 | 99%Elevated | more lines added than baseline |
| 2 | bc5da675linter fixes | Fabian Seitz | 3mo ago | +643 -465 | 98%Elevated | more lines added than baseline |
| 3 | e6c87c67Implement advanced features: Room Selection, Consumables, Extended Config, and Network Diagnostics | Fabian Seitz | 5mo ago | +759 -8 | 98%Elevated | more lines added than baseline |
| 4 | 88b380f6fix: firmware update applyment & native API | Fabian Seitz | 2w ago | +590 -180 | 95%Elevated | more lines added than baseline |
| 5 | ed017627fix mac adress mapping and bug fixes | Fabian Seitz | 3mo ago | +449 -223 | 95%Elevated | more lines added than baseline |
| 6 | a9e19934feat: Augmentations | Sören Beye | 7mo ago | +473 -27 | 95%Elevated | more lines added than baseline |
| 7 | 494cb198workflow improvements | Fabian Seitz | 3mo ago | +327 -0 | 92%Elevated | more lines added than baseline |
| 8 | e433f14bfeat: Initial import | Sören Beye | 10mo ago | +496 -0 | 92%Elevated | more lines added than baseline |
| 9 | aa4e33e4feat: valetudo.extract_map_data service | Sören Beye | 7mo ago | +250 -6 | 91%Elevated | more lines added than baseline |
| 10 | e28d6d55chore: update integration version placeholder logic and make steps/expected optional | Fabian Seitz | 1mo ago | +240 -7 | 89%Elevated | more lines added than baseline |
| 11 | 7a9b6f20fix firmware update fetching | Fabian Seitz | 5mo ago | +138 -16 | 89%Elevated | more lines added than baseline |
| 12 | 9c0e5989chore: improve issue templates with integration-specific fields and my-ha links | Fabian Seitz | 1mo ago | +149 -72 | 86%Elevated | more lines added than baseline |
| 13 | 22012364improved mac mapping of valetudo device | Fabian Seitz | 4mo ago | +121 -49 | 86%Elevated | more lines added than baseline |
| 14 | 7c998e5aImplement firmware update entity | Fabian Seitz | 5mo ago | +167 -3 | 86%Elevated | more lines added than baseline |
| 15 | 53b84cb7style: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +106 -63 | 84%Elevated | more lines added than baseline |
| 16 | ec8842e4network integration mapping improvements | Fabian Seitz | 5mo ago | +80 -39 | 83%Elevated | more lines added than baseline |
| 17 | af4f2120Add Locate Robot button and improve documentation | Fabian Seitz | 5mo ago | +115 -3 | 82%Elevated | more lines added than baseline |
| 18 | 43def8e2small bug fixes | Fabian Seitz | 5mo ago | +68 -29 | 81%Elevated | more lines added than baseline |
| 19 | 986124daUpdate release.yml | Fabian Seitz | 4w ago | +71 -47 | 80%Elevated | more lines added than baseline |
| 20 | 0aa3a70eci: optimize CI triggers and add structured changelog generator | Fabian Seitz | 1w ago | +71 -17 | 79%Elevated | more lines added than baseline |
| 21 | dc48aa84ruff & mypy linter fixes | Fabian Seitz | 4mo ago | +51 -55 | 77%Elevated | more lines added than baseline |
| 22 | 3b1c771dsmall code optimizations | Fabian Seitz | 4mo ago | +56 -28 | 76%Elevated | more lines added than baseline |
| 23 | e6a64e4eImplement MQTT auto discovery for Valetudo | Fabian Seitz | 5mo ago | +50 -1 | 76%Elevated | more lines added than baseline |
| 24 | 6bc0529cfeat: network integration discovery | Fabian Seitz | 5mo ago | +48 -0 | 74%Elevated | more lines added than baseline |
| 25 | e303306bUpdate README with new features | Fabian Seitz | 5mo ago | +47 -16 | 73%Elevated | more lines added than baseline |
| 26 | cb867677chore: Add PR template | Sören Beye | 7mo ago | +33 -0 | 72%Elevated | more lines added than baseline |
| 27 | e6958f44chore: Add explainer on how to get robot position as sensor to docs | Sören Beye | 2mo ago | +31 -0 | 71%Elevated | more lines added than baseline |
| 28 | 642dabbdchore: unify workflows, scripts, and configs | Fabian Seitz | 1mo ago | +20 -0 | 69%Elevated | more lines added than baseline |
| 29 | 7aa4beaeRefine firmware update MQTT trigger and GitHub API handling | Fabian Seitz | 5mo ago | +18 -16 | 69%Elevated | more lines added than baseline |
| 30 | 2f4e9105Improve resilience and error handling for room selection | Fabian Seitz | 5mo ago | +16 -0 | 68%Elevated | more lines added than baseline |
| 31 | a9a3ba52chore: trigger auto release [bump-version] | Fabian Seitz | 1mo ago | +13 -3 | 66%Typical | more lines added than baseline |
| 32 | 60479486Linter bereinigung | Fabian Seitz | 5mo ago | +10 -24 | 66%Typical | more scattered than baseline |
| 33 | 351c2775fix(update): handle ValetudoUpdaterApprovalPendingState and degrade 403 rate limits to info | Fabian Seitz | 1w ago | +10 -3 | 64%Typical | more focused than baseline |
| 34 | 2d4a990afix(release): level=minor/major respected even when current version has pre-release suffix | Fabian Seitz | 4w ago | +10 -3 | 63%Typical | more scattered than baseline |
| 35 | 0301058fFix Unknown state in firmware update entity by enabling polling | Fabian Seitz | 5mo ago | +10 -3 | 63%Typical | more focused than baseline |
| 36 | 8ed96310fix(workflow): add bump_level input option back to release.yml [skip ci] | Fabian Seitz | 1mo ago | +10 -0 | 61%Typical | more focused than baseline |
| 37 | 524ee98dsmall fix for MAC mapping | Fabian Seitz | 4mo ago | +7 -7 | 60%Typical | fewer lines added than baseline |
| 38 | 934f53b9chore: clean up gitignores, caches, and fix Shields.io case-sensitivity | Fabian Seitz | 1mo ago | +8 -1 | 59%Typical | fewer lines added than baseline |
| 39 | 4015e9b8fix: release workflow syntax & codeql logging alert | github-actions[bot] | 1mo ago | +7 -15 | 58%Typical | fewer lines added than baseline |
| 40 | bfee8ddcchore: fix release variables and add workflow concurrency [bump-version] | Fabian Seitz | 1mo ago | +5 -1 | 57%Typical | fewer lines added than baseline |
| 41 | 83464889style: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +5 -1 | 55%Typical | fewer lines added than baseline |
| 42 | b1dbaf77chore: improve release retry logic and fix null head_commit triggers [bump-version] | Fabian Seitz | 1mo ago | +5 -3 | 54%Typical | fewer lines added than baseline |
| 43 | 24b731f6chore: fix ruff linting errors | Fabian Seitz | 1mo ago | +5 -12 | 53%Typical | fewer lines added than baseline |
| 44 | 1daf6800fix: hacs download count of integration | Fabian Seitz | 1mo ago | +4 -2 | 53%Typical | fewer lines added than baseline |
| 45 | 7854e2c6chore(dev): bump to 2026.7.0-dev0 [skip ci] | github-actions[bot] | 2w ago | +4 -4 | 51%Typical | fewer lines added than baseline |
| 46 | da127d1aci: skip workflow for draft pull requests & enforce semver versioning | github-actions[bot] | 1mo ago | +3 -1 | 49%Typical | fewer lines added than baseline |
| 47 | b0c0a626Optimize device mapping with MAC address normalization | Fabian Seitz | 5mo ago | +3 -2 | 49%Typical | fewer lines added than baseline |
| 48 | a2e0ad08chore(dev): bump to 2026.8.0-dev0 [skip ci] | github-actions[bot] | 1w ago | +3 -3 | 47%Typical | fewer lines added than baseline |
| 49 | 3e931b74CI linter fixes | Fabian Seitz | 2w ago | +4 -5 | 47%Typical | fewer lines added than baseline |
| 50 | a4ccca8afix: correct python_version typo and disable arg-type/attr-defined mypy errors | FaserF | 1mo ago | +2 -2 | 45%Typical | fewer lines added than baseline |
Two views of the same model: where the cuts fall, and what commit shape lands you above them.
Every scored commit, binned on the raw 0 to 10 score rather than the percentile. Percentile ranks are uniform by construction, so that axis has no shape to draw. The dashed lines are the tercile cuts behind each row's priority pill.
The 91 most recent commits, on their own recency sample rather than the feed above: that defaults to risk-sorted, so reusing it would plot only the top tercile and call it the spread. Big and scattered is what the model penalises. Click a dot to open it.
FaserF/hass-valetudo has 92 commits in its history from 4 contributors, the first of them Oct 5, 2025. In the last 90 days 18 files were touched, 36 times in total, most often calculate_release_details.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.