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
15 commits sit in this repo's top risk tercile, which is 34% of the 44scored. 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 6.0 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.
Consistently feature-driven across its history.
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 | 096f9ea8Initial commit | Fabian Seitz | 3w ago | +5.7K -0 | 99%Elevated | more lines added than baseline |
| 2 | e802ccc9feat(config_flow): add web login link and improve Lidl Plus auth translations | Fabian Seitz | 2d ago | +465 -164 | 97%Elevated | more lines added than baseline |
| 3 | beca6255feat: automatically reuse existing Lidl Plus refresh token when adding additional stores | Fabian Seitz | 1d ago | +218 -107 | 94%Elevated | more lines added than baseline |
| 4 | 48cb03cffeat: add articles_count, coupons_used_count, store_code, and total_amount_formatted to last receipt sensor | Fabian Seitz | 1d ago | +223 -61 | 92%Elevated | more lines added than baseline |
| 5 | 62fd6b82feat: integration location based auto discovery | Fabian Seitz | 3w ago | +212 -1 | 90%Elevated | more lines added than baseline |
| 6 | 5e512c08feat: add Activated Coupons and Available Coupons sensors with section breakdown | Fabian Seitz | 1d ago | +151 -10 | 88%Elevated | more lines added than baseline |
| 7 | 0a137082feat: add support for Belgium and all supported European countries (#11) | Fabian Seitz | 6d ago | +154 -8 | 85%Elevated | more lines added than baseline |
| 8 | 0ba1b8c1feat: add Lidl Loyalty Card QR Code image entity | Fabian Seitz | 1d ago | +119 -2 | 83%Elevated | more lines added than baseline |
| 9 | a48659ebfeat: support special product selection coupons with customizable skip or auto-select option | Fabian Seitz | 1d ago | +65 -8 | 81%Elevated | more lines added than baseline |
| 10 | f11af72fvisit link -> goes to local market | Fabian Seitz | 3w ago | +47 -2 | 78%Elevated | more lines added than baseline |
| 11 | c5f24bb7fix: extract full user profile from JWT access token payload and remove redundant loyalty ID sensor | Fabian Seitz | 1d ago | +44 -100 | 76%Elevated | more lines added than baseline |
| 12 | 0287cd0cfeat: allow configuring custom Lidl Plus card barcode number in OptionsFlow for 100% app-identical QR Code | Fabian Seitz | 1d ago | +52 -1 | 73%Elevated | more lines added than baseline |
| 13 | 189c0ff9improved login flow | Fabian Seitz | 2w ago | +52 -36 | 73%Elevated | more lines added than baseline |
| 14 | 24d4d709fix: resolve store name for receipt via stores API lookup and clean up items attribute | Fabian Seitz | 1d ago | +38 -31 | 68%Elevated | more lines added than baseline |
| 15 | 7df01664fix: deduplicate account entities setup so Account Device only gets instantiated once per account | Fabian Seitz | 1d ago | +24 -9 | 68%Elevated | more lines added than baseline |
| 16 | 279fd2fbfeat: add dynamic country-specific Lidl Plus account configuration URL for Account Device Visit button | Fabian Seitz | 1d ago | +27 -0 | 65%Typical | more lines added than baseline |
| 17 | fdee7fa5style: auto-fix and format with Ruff [skip ci] | FaserF | 3w ago | +21 -13 | 63%Typical | more lines added than baseline |
| 18 | 02575b3fsmall fix | Fabian Seitz | 3w ago | +15 -3 | 60%Typical | more lines added than baseline |
| 19 | f6498dabfix: remove orphaned account device from registry on logout/reload | Fabian Seitz | 1d ago | +14 -0 | 57%Typical | more lines added than baseline |
| 20 | ca46816aci: optimize CI triggers and add structured changelog generator | Fabian Seitz | 1w ago | +13 -1 | 57%Typical | more lines added than baseline |
| 21 | d433884ddefine hacs available countries | Fabian Seitz | 3w ago | +8 -0 | 53%Typical | fewer lines added than baseline |
| 22 | 5c0aaf9dUpdate actions/checkout action to v7.0.1 (#3) | renovate[bot] | 2w ago | +5 -5 | 51%Typical | fewer lines added than baseline |
| 23 | 3dcfa448Update actions/setup-python action to v7 (#6) | renovate[bot] | 2w ago | +4 -4 | 49%Typical | fewer lines added than baseline |
| 24 | bec55170fix(config_flow): preserve response location in headless login redirect loop (#12) | Fabian Seitz | 2d ago | +4 -2 | 47%Typical | fewer lines added than baseline |
| 25 | b7fccd49chore(dev): bump to 1.0.1-dev0 [skip ci] | github-actions[bot] | 3w ago | +4 -4 | 44%Typical | fewer lines added than baseline |
| 26 | 4bda6fb9chore(dev): bump to 1.2.1-dev0 [skip ci] | github-actions[bot] | 1d ago | +4 -4 | 41%Typical | fewer lines added than baseline |
| 27 | 58affc43chore(dev): bump to 1.1.1-dev0 [skip ci] | github-actions[bot] | 6d ago | +4 -4 | 41%Typical | fewer lines added than baseline |
| 28 | fac46c9eUpdate github/codeql-action action to v4.37.6 (#9) | renovate[bot] | 1w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 29 | 347467baUpdate github/codeql-action action to v4.37.5 (#8) | renovate[bot] | 1w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 30 | a7e5ed58Update github/codeql-action action to v4.37.4 (#7) | renovate[bot] | 2w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 31 | ade038e6Update github/codeql-action action to v4.37.3 (#4) | renovate[bot] | 2w ago | +3 -3 | 32%Below typical | fewer lines added than baseline |
| 32 | 68396aa3style: auto-fix and format with Ruff [skip ci] | FaserF | 3w ago | +3 -1 | 32%Below typical | fewer lines added than baseline |
| 33 | 06799a73style: auto-fix and format with Ruff [skip ci] | FaserF | 3w ago | +3 -5 | 32%Below typical | fewer lines added than baseline |
| 34 | 13e23cb1chore(deps): update github/codeql-action action to v4.37.7 (#13) | renovate[bot] | 15h ago | +3 -3 | 24%Below typical | fewer lines added than baseline |
| 35 | 0bee72d3mypy linter fix | Fabian Seitz | 3w ago | +2 -0 | 22%Below typical | fewer lines added than baseline |
| 36 | 1c4ff975Update Python to v3.14.7 (#10) | renovate[bot] | 1w ago | +2 -2 | 19%Below typical | fewer lines added than baseline |
| 37 | ca7b5a81docs: align license in README with MIT license file | Fabian Seitz | 1w ago | +1 -1 | 17%Below typical | fewer lines added than baseline |
| 38 | 70d57188Update actions/labeler action to v7 (#5) | renovate[bot] | 2w ago | +1 -1 | 10%Below typical | fewer lines added than baseline |
| 39 | 0894522bstyle: auto-fix and format with Ruff [skip ci] | FaserF | 3w ago | +1 -3 | 10%Below typical | fewer lines added than baseline |
| 40 | 5bfb267eClear-text logging of sensitive information | Fabian Seitz | 3w ago | +1 -1 | 10%Below typical | fewer lines added than baseline |
| 41 | 548c2776add missing imports | Fabian Seitz | 3w ago | +1 -1 | 10%Below typical | fewer lines added than baseline |
| 42 | 0b934ae7add missing pip import | Fabian Seitz | 3w ago | +1 -1 | 10%Below typical | fewer lines added than baseline |
| 43 | 5e95d2b5fix: remove executable mode from scripts/generate_changelog.py (EXE002) | Fabian Seitz | 1d ago | +0 -0 | 2%Below typical | fewer lines added than baseline |
| 44 | cba7a10dfix: remove shebang from generate_changelog.py to resolve EXE001 on Windows CI | Fabian Seitz | 1d ago | +0 -1 | 2%Below 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 44 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-lidl has 44 commits in its history from 4 contributors, the first of them Jul 19, 2026. In the last 90 days 23 files were touched, 85 times in total, most often coordinator.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.