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
28 commits sit in this repo's top risk tercile, which is 33% of the 84scored. 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 3.2 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 fix-led, now leaning chore.
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 | 7104318aInitial work | Fabian Seitz | 4mo ago | +7.3K -0 | 99%Elevated | more lines added than baseline |
| 2 | 9376ed2dchore: unify workflows, scripts, and configs | Fabian Seitz | 1mo ago | +876 -102 | 98%Elevated | more lines added than baseline |
| 3 | 1cac8dcfchore: add generate_changelog.py script [bump-version] | Fabian Seitz | 1mo ago | +389 -0 | 97%Elevated | more lines added than baseline |
| 4 | 5051fb54chore: improve issue templates with integration-specific fields and my-ha links | Fabian Seitz | 1mo ago | +212 -19 | 95%Elevated | more lines added than baseline |
| 5 | 7021efddworkflow improvements | Fabian Seitz | 3mo ago | +270 -214 | 95%Elevated | more lines added than baseline |
| 6 | dcddcc2efix device discovery | Fabian Seitz | 4mo ago | +185 -134 | 93%Elevated | more lines added than baseline |
| 7 | 2ba9b22achore: add automated template updater and clean privacy sensitive fields | Fabian Seitz | 1mo ago | +140 -1 | 92%Elevated | more lines added than baseline |
| 8 | 09f1eb17linter fixes | Fabian Seitz | 3mo ago | +133 -200 | 92%Elevated | more lines added than baseline |
| 9 | 75d1affbchore: fix CI linter issues and format code | Fabian Seitz | 1mo ago | +119 -67 | 90%Elevated | more lines added than baseline |
| 10 | fbd660dbUpdate release.yml | Fabian Seitz | 4w ago | +71 -47 | 89%Elevated | more lines added than baseline |
| 11 | 74ce7a10ci: optimize CI triggers and add structured changelog generator | Fabian Seitz | 1w ago | +70 -17 | 87%Elevated | more lines added than baseline |
| 12 | 825b8459chore: update template automations to dynamically track service versions | Fabian Seitz | 1mo ago | +69 -7 | 87%Elevated | more lines added than baseline |
| 13 | c82e127fchore: update integration version placeholder logic and make steps/expected optional | Fabian Seitz | 1mo ago | +79 -47 | 85%Elevated | more lines added than baseline |
| 14 | 6ef09b2aadd update entity for unsupported firmware | Fabian Seitz | 4mo ago | +46 -23 | 84%Elevated | more lines added than baseline |
| 15 | 6f9fdbeeFix support for tasmota-4M and other firmware variants (fixes #3) | Fabian Seitz | 1mo ago | +36 -1 | 83%Elevated | more lines added than baseline |
| 16 | 6cdaa624fix(docs): add download badge and support section to README | github-actions[bot] | 1mo ago | +18 -1 | 82%Elevated | more lines added than baseline |
| 17 | 1e17cb0dchore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +15 -7 | 80%Elevated | more lines added than baseline |
| 18 | b293a8ffchore: trigger auto release [bump-version] | Fabian Seitz | 1mo ago | +13 -3 | 79%Elevated | more lines added than baseline |
| 19 | 928cc201chore(config): migrate config renovate.json | renovate[bot] | 3w ago | +11 -5 | 78%Elevated | more focused than baseline |
| 20 | f1772c9bstyle: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +7 -7 | 76%Elevated | fewer lines added than baseline |
| 21 | 65f10c3alinter fixes | Fabian Seitz | 4mo ago | +13 -9 | 76%Elevated | more lines added than baseline |
| 22 | eb751db3chore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +9 -4 | 74%Elevated | fewer lines added than baseline |
| 23 | d5212ccdUpdate release.yml | Fabian Seitz | 3mo ago | +8 -1 | 73%Elevated | fewer lines added than baseline |
| 24 | 5b4d94b1chore: add pytest-homeassistant-custom-component to ci dependencies | Fabian Seitz | 1mo ago | +8 -2 | 72%Elevated | fewer lines added than baseline |
| 25 | 415f729bfix: release workflow syntax & codeql logging alert | github-actions[bot] | 1mo ago | +6 -12 | 70%Elevated | fewer lines added than baseline |
| 26 | e57732b9chore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +6 -4 | 70%Elevated | fewer lines added than baseline |
| 27 | dcca5043fix(release): level=minor/major respected even when current version has pre-release suffix | Fabian Seitz | 4w ago | +6 -3 | 68%Elevated | fewer lines added than baseline |
| 28 | c9553400chore: optimize template updates with robust regex patterns | Fabian Seitz | 1mo ago | +6 -10 | 68%Elevated | fewer lines added than baseline |
| 29 | 3d847233chore: fix release variables and add workflow concurrency [bump-version] | Fabian Seitz | 1mo ago | +5 -1 | 66%Typical | fewer lines added than baseline |
| 30 | 69079d63chore(deps): update actions/checkout action to v7.0.1 (#11) | renovate[bot] | 3w ago | +5 -5 | 63%Typical | fewer lines added than baseline |
| 31 | f827bfdcchore(dev): bump to 1.0.3-dev0 [skip ci] | github-actions[bot] | 3w ago | +6 -6 | 63%Typical | fewer lines added than baseline |
| 32 | 3f5e427aimproved release workflow | Fabian Seitz | 3w ago | +5 -0 | 63%Typical | fewer lines added than baseline |
| 33 | 6cb645cdstyle: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +5 -1 | 63%Typical | fewer lines added than baseline |
| 34 | 4ac16e88chore: improve release retry logic and fix null head_commit triggers [bump-version] | Fabian Seitz | 1mo ago | +5 -3 | 63%Typical | fewer lines added than baseline |
| 35 | 2187834dchore(deps): update actions/setup-python action to v7 (#10) | renovate[bot] | 3w ago | +4 -4 | 58%Typical | fewer lines added than baseline |
| 36 | 1fe539d4chore: add automated template updater and clean privacy sensitive fields | Fabian Seitz | 1mo ago | +5 -16 | 58%Typical | fewer lines added than baseline |
| 37 | 30dc15f5chore: fix ruff linting errors | Fabian Seitz | 1mo ago | +5 -12 | 57%Typical | fewer lines added than baseline |
| 38 | d16f1fd3fix: hacs download count of integration | Fabian Seitz | 1mo ago | +4 -2 | 55%Typical | fewer lines added than baseline |
| 39 | f789c801Update actions/github-script action to v9 | renovate[bot] | 4mo ago | +3 -3 | 55%Typical | fewer lines added than baseline |
| 40 | 3faeb3f3Update release.yml | Fabian Seitz | 4w ago | +4 -0 | 53%Typical | fewer lines added than baseline |
| 41 | 370ac401chore: clean up gitignores, caches, and fix Shields.io case-sensitivity | Fabian Seitz | 1mo ago | +4 -1 | 52%Typical | fewer lines added than baseline |
| 42 | 7ecddb20chore(deps): update github/codeql-action action to v4.37.1 | renovate[bot] | 3w ago | +3 -3 | 50%Typical | fewer lines added than baseline |
| 43 | 4246ee1estyle: auto-fix and format with Ruff [skip ci] | FaserF | 1mo ago | +3 -1 | 50%Typical | fewer lines added than baseline |
| 44 | 7e4a8b6achore(deps): update github/codeql-action action to v4.37.7 (#19) | renovate[bot] | 15h ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 45 | eda404b0chore(deps): update github/codeql-action action to v4.37.6 (#17) | renovate[bot] | 1w ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 46 | 1a275269chore(deps): update github/codeql-action action to v4.37.5 (#16) | renovate[bot] | 1w ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 47 | 59795e64chore(deps): update github/codeql-action action to v4.37.4 (#15) | renovate[bot] | 2w ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 48 | a398970bchore(deps): update github/codeql-action action to v4.37.3 (#14) | renovate[bot] | 3w ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 49 | 34f4a56cchore(deps): update github/codeql-action action to v4.37.2 (#13) | renovate[bot] | 3w ago | +3 -3 | 45%Typical | fewer lines added than baseline |
| 50 | 661dd446chore(deps): update actions/labeler action to v7 (#12) | renovate[bot] | 3w ago | +2 -2 | 40%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 84 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/ha-tasmota-update has 90 commits in its history from 4 contributors, the first of them Apr 10, 2026. In the last 90 days 9 files were touched, 34 times in total, most often version_manager.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.