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
159 commits sit in this repo's top risk tercile, which is 33% of the 480scored. 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.3 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 | Review priority | Top driver |
|---|---|---|---|---|---|---|
| 1 | 30d38865Initialize | Sheng | 8y ago | +7.9K -0 | 100thElevated | more lines added than baseline |
| 2 | 0b4e41b1Reorganized | Sheng | 8y ago | +419 -389 | 100thElevated | more lines added than baseline |
| 3 | c90f1e5aAdded test_app.py | Sheng | 8y ago | +252 -7 | 99thElevated | more lines added than baseline |
| 4 | e2739a68Upgraded to xterm.js 4.2.0 | Trey Dempsey | 6y ago | +184 -14 | 99thElevated | more lines added than baseline |
| 5 | d197133cSupport 2fa | Sheng | 7y ago | +202 -9 | 99thElevated | more lines added than baseline |
| 6 | c35f8012Support custom origin configuration | Sheng | 7y ago | +157 -20 | 99thElevated | more lines added than baseline |
| 7 | 4d77a6a0Updated main.js | Sheng | 8y ago | +129 -97 | 99thElevated | more lines added than baseline |
| 8 | 827a0d8aSupport https server | Sheng | 7y ago | +127 -5 | 98thElevated | more lines added than baseline |
| 9 | d6de1340Added max_body_size for limiting the size of post form | Sheng | 8y ago | +144 -5 | 98thElevated | more lines added than baseline |
| 10 | 5c8bd84bAdded an option for configuring cross-origin websocket level | Sheng | 7y ago | +115 -3 | 98thElevated | more lines added than baseline |
| 11 | c06bf531Added an option for blocking public non-https requests | Sheng | 7y ago | +115 -13 | 98thElevated | more lines added than baseline |
| 12 | 48acf09fMove method get_value to MixinHandler | Sheng | 8y ago | +117 -23 | 98thElevated | more lines added than baseline |
| 13 | d6e43395Updated test_handler.py | Sheng | 8y ago | +111 -1 | 97thElevated | more lines added than baseline |
| 14 | ccb40d2bSupport openssh new format key | Sheng | 6y ago | +105 -16 | 97thElevated | more lines added than baseline |
| 15 | f3d9d297Updated tests | Sheng | 8y ago | +102 -71 | 97thElevated | more lines added than baseline |
| 16 | 5519a170Return 400 http error for invalid post requests | Sheng | 8y ago | +101 -86 | 97thElevated | more lines added than baseline |
| 17 | 469d86acAuto detect system default encoding | Sheng | 8y ago | +95 -23 | 97thElevated | more lines added than baseline |
| 18 | 2b8b978cAdded PrivateKey class | Sheng | 7y ago | +93 -102 | 96thElevated | more lines added than baseline |
| 19 | 89228131Refactored tests | Sheng | 7y ago | +81 -147 | 96thElevated | more lines added than baseline |
| 20 | 713ae1e8Support cross origin connect | Sheng | 7y ago | +87 -22 | 95thElevated | more lines added than baseline |
| 21 | 682ddbf6Removed function for detecting whether the http(s) server is open to public | Sheng | 7y ago | +75 -147 | 95thElevated | more lines added than baseline |
| 22 | 8e4039a2Support redirecting http to https | Sheng | 7y ago | +87 -29 | 95thElevated | more lines added than baseline |
| 23 | 80bdddc2Added setting swallow_http_errors | Sheng | 8y ago | +89 -76 | 95thElevated | more lines added than baseline |
| 24 | d27e9126Updated README | Sheng | 8y ago | +78 -17 | 95thElevated | more lines added than baseline |
| 25 | 7e238b6fAdded README.rst | Sheng | 8y ago | +93 -14 | 95thElevated | more lines added than baseline |
| 26 | 824e6b91Refactored tests | Sheng | 7y ago | +73 -86 | 94thElevated | more lines added than baseline |
| 27 | 5d1d5e92Support browser edge | Sheng | 8y ago | +74 -7 | 94thElevated | more lines added than baseline |
| 28 | 1e4ece58Added functions for validating ip and port | Sheng | 8y ago | +75 -13 | 94thElevated | more lines added than baseline |
| 29 | 2c36c386jslint compliant | Sheng | 8y ago | +69 -56 | 94thElevated | more lines added than baseline |
| 30 | a7a3f466Update README | Sheng | 8y ago | +108 -19 | 94thElevated | more lines added than baseline |
| 31 | 4710d8c0Added connect_with_options function | Sheng | 8y ago | +85 -21 | 94thElevated | more lines added than baseline |
| 32 | 0775c0c3Refactored handler.py | Sheng | 7y ago | +69 -89 | 93thElevated | more lines added than baseline |
| 33 | 77b6fbfdBlock requests not come from trusted_downstream and public non-https requests | Sheng | 7y ago | +82 -6 | 93thElevated | more lines added than baseline |
| 34 | 58feb5e7Enable xsrf for testing | Sheng | 8y ago | +60 -119 | 93thElevated | more lines added than baseline |
| 35 | 6c9af890Use method initialize to pass settings | Sheng | 8y ago | +69 -37 | 93thElevated | more lines added than baseline |
| 36 | 2653a3e3Added function for limiting connections for every client(ip) | Sheng | 7y ago | +68 -8 | 93thElevated | more lines added than baseline |
| 37 | 049baad9Try to detect the encoding set by the user | Sheng | 7y ago | +57 -28 | 92thElevated | more lines added than baseline |
| 38 | b2ba79d2Support custom font family | Sheng | 7y ago | +60 -0 | 92thElevated | more lines added than baseline |
| 39 | 6cfd981eTested server error | Sheng | 8y ago | +73 -6 | 92thElevated | more lines added than baseline |
| 40 | 40cf1095Use open_to_public to store the status of the http(s) server | Sheng | 7y ago | +51 -59 | 92thElevated | more lines added than baseline |
| 41 | 3c139e05Added KEY_MAX_SIZE to validate the private key | Sheng | 8y ago | +59 -7 | 92thElevated | more lines added than baseline |
| 42 | 38cb22acAdded more functions to wssh | Sheng | 8y ago | +54 -10 | 92thElevated | more lines added than baseline |
| 43 | a1c93780Support CORS | Sheng | 7y ago | +56 -9 | 91thElevated | more lines added than baseline |
| 44 | 499f3b6dLowercase all option names | Sheng | 7y ago | +52 -52 | 91thElevated | more lines added than baseline |
| 45 | d43a0115Added connect function to wssh | Sheng | 8y ago | +49 -44 | 91thElevated | more lines added than baseline |
| 46 | 37299468Added is_valid_hostname to utils | Sheng | 8y ago | +51 -4 | 91thElevated | more lines added than baseline |
| 47 | e85ae169Added to_bytes function to utils | Sheng | 8y ago | +51 -34 | 91thElevated | more lines added than baseline |
| 48 | eb55ae2cAdded setup.py setup.cfg | Sheng | 8y ago | +66 -12 | 91thElevated | more lines added than baseline |
| 49 | afcf8b52Validate the result of locale charmap | Sheng | 7y ago | +49 -11 | 89thElevated | more lines added than baseline |
| 50 | ec545ec4Refactored PrivateKey | Sheng | 7y ago | +52 -17 | 89thElevated | 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.
pvliesdonk/webssh has 500 commits in its history from 20 contributors, the first of them Nov 8, 2017. No file in the repository changed in the last 90 days. Every commit is scored for change risk from its size, spread and the history of the files it touches.