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
167 commits sit in this repo's top risk tercile, which is 33% of the 500scored. 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.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.
Consistently other-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 | 0ec7f713Split the App and Blueprint into Sansio and IO parts | pgjones | 3y ago | +1.6K -1.4K | 100%Elevated | more lines added than baseline |
| 2 | 2ea77c27rewrite deployment docs | David Lord | 4y ago | +803 -825 | 100%Elevated | more lines added than baseline |
| 3 | 0109e496use uv | David Lord | 1y ago | +1.9K -534 | 100%Elevated | more lines added than baseline |
| 4 | ff6fa22fupdate dependencies | David Lord | 2w ago | +1.1K -840 | 99%Elevated | more lines added than baseline |
| 5 | 8285adf5update dev dependencies | David Lord | 2mo ago | +1.0K -661 | 99%Elevated | more lines added than baseline |
| 6 | da6d075dupdate dev dependencies | David Lord | 9mo ago | +1.0K -643 | 99%Elevated | more lines added than baseline |
| 7 | c2705ffdmerge app and request context | David Lord | 11mo ago | +779 -1.0K | 99%Elevated | more lines added than baseline |
| 8 | 69f9845eadd json provider interface | David Lord | 4y ago | +664 -284 | 99%Elevated | more lines added than baseline |
| 9 | a197702eupdate dev dependencies | David Lord | 5mo ago | +617 -495 | 98%Elevated | more lines added than baseline |
| 10 | bab5a65erewrite class-based view docs | David Lord | 4y ago | +311 -215 | 98%Elevated | more lines added than baseline |
| 11 | 2f3c87dcrewrite javascript docs | David Lord | 4y ago | +263 -146 | 98%Elevated | more lines added than baseline |
| 12 | 954f5684update dev dependencies | David Lord | 3mo ago | +441 -383 | 97%Elevated | more lines added than baseline |
| 13 | 83dbcb22update dev dependencies | David Lord | 4mo ago | +460 -329 | 97%Elevated | more lines added than baseline |
| 14 | 55c62556update dev dependencies | David Lord | 1y ago | +444 -398 | 97%Elevated | more lines added than baseline |
| 15 | 6000e80aaddress mypy strict findings | David Lord | 2y ago | +346 -234 | 97%Elevated | more lines added than baseline |
| 16 | 44ffe6c6add __future__ annotations | David Lord | 3y ago | +277 -262 | 97%Elevated | more lines added than baseline |
| 17 | 3f195248add celery example | David Lord | 3y ago | +313 -0 | 97%Elevated | more lines added than baseline |
| 18 | b46bfcfarewrite extension development docs | David Lord | 4y ago | +277 -299 | 97%Elevated | more lines added than baseline |
| 19 | 64dd0809update dev dependencies | David Lord | 6mo ago | +398 -276 | 96%Elevated | more lines added than baseline |
| 20 | daf1510ause template_filter without parens | kadai0308 | 1y ago | +272 -23 | 96%Elevated | more lines added than baseline |
| 21 | 97bddc1fupdate dev dependencies | David Lord | 7mo ago | +372 -183 | 96%Elevated | more lines added than baseline |
| 22 | edebd370rewrite docs, clean up typing for template decorators | David Lord | 1y ago | +228 -179 | 96%Elevated | more lines added than baseline |
| 23 | dca8cf01rewrite celery background tasks docs | David Lord | 3y ago | +200 -70 | 96%Elevated | more lines added than baseline |
| 24 | 363be75eremove reference links from changelog | David Lord | 4y ago | +194 -218 | 96%Elevated | more lines added than baseline |
| 25 | ac5664d2document using gevent for async | David Lord | 6mo ago | +168 -142 | 95%Elevated | more lines added than baseline |
| 26 | c7a53888add config and docs for limits | David Lord | 1y ago | +231 -33 | 95%Elevated | more lines added than baseline |
| 27 | 87d5f5b9update project files (#5457) | David Lord | 2y ago | +377 -317 | 95%Elevated | more lines added than baseline |
| 28 | 714ccefeshow deprecation warning on json_encoder/decoder access | David Lord | 4y ago | +167 -42 | 94%Elevated | more lines added than baseline |
| 29 | 99fa3c36add --app, --env, --debug, and --env-file CLI options | David Lord | 4y ago | +197 -54 | 94%Elevated | more lines added than baseline |
| 30 | fbb6f0bcall teardown callbacks are called despite errors | David Lord | 5mo ago | +194 -80 | 94%Elevated | more lines added than baseline |
| 31 | 59fd6aa1use pip-compile instead of pip-compile-multi | David Lord | 2y ago | +201 -118 | 94%Elevated | more lines added than baseline |
| 32 | a6cd8f21document the lifecycle of a flask application and request | David Lord | 3y ago | +172 -2 | 94%Elevated | more lines added than baseline |
| 33 | d597db67contexts no longer use LocalStack | David Lord | 4y ago | +146 -71 | 94%Elevated | more lines added than baseline |
| 34 | 9b44bf28Improve decorator typing (#4676) | Phil Jones | 4y ago | +123 -76 | 94%Elevated | more lines added than baseline |
| 35 | 04920b30use pip-compile instead of pip-compile-multi | David Lord | 2y ago | +201 -122 | 93%Elevated | more lines added than baseline |
| 36 | 8f13f5b6update docs and examples for pyproject | David Lord | 3y ago | +153 -195 | 93%Elevated | more lines added than baseline |
| 37 | 82c2e036remove uses of LocalStack | David Lord | 4y ago | +115 -132 | 93%Elevated | more lines added than baseline |
| 38 | ab1fbef2prefer --app over FLASK_APP in docs | David Lord | 4y ago | +146 -579 | 93%Elevated | more lines added than baseline |
| 39 | 6a649690pass context through dispatch methods | David Lord | 11mo ago | +167 -72 | 92%Elevated | more lines added than baseline |
| 40 | 46433e98add generate_template and generate_template_string functions | pgjones | 4y ago | +142 -40 | 92%Elevated | more lines added than baseline |
| 41 | f04c5e69update dev dependencies | David Lord | 1y ago | +239 -229 | 92%Elevated | more lines added than baseline |
| 42 | 0b4b6114build, provenance, publish workflow | David Lord | 3y ago | +106 -9 | 92%Elevated | more lines added than baseline |
| 43 | bfdd3711deprecate config attributes | David Lord | 4y ago | +154 -57 | 92%Elevated | more lines added than baseline |
| 44 | ab93222bpoint to app-scoped blueprint methods | David Lord | 3y ago | +77 -33 | 91%Elevated | more lines added than baseline |
| 45 | 6d6d986fswitch to pyproject.toml | David Lord | 3y ago | +123 -141 | 91%Elevated | more lines added than baseline |
| 46 | ef95998ddeprecate FLASK_ENV | David Lord | 4y ago | +95 -96 | 91%Elevated | more lines added than baseline |
| 47 | e0dad454update docs about contexts | David Lord | 4y ago | +82 -132 | 91%Elevated | more lines added than baseline |
| 48 | 30427a20remove FLASK_ENV from docs | David Lord | 4y ago | +84 -188 | 91%Elevated | more lines added than baseline |
| 49 | 4995a775fix subdomain_matching=False behavior | David Lord | 1y ago | +98 -43 | 90%Elevated | more lines added than baseline |
| 50 | 40b78fa2fix min python for pip-compile | David Lord | 2y ago | +81 -24 | 90%Elevated | more 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 200 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.
pallets/flask has 2,506 commits in its history from 420 contributors, the first of them Feb 9, 2014. In the last 90 days 14 files were touched, 18 times in total, most often cli.py. Every commit is scored for change risk from its size, spread and the history of the files it touches.