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
287 commits sit in this repo's top risk tercile, which is 32% of the 888scored. 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 8.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.
Began chore-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 | c5bd4b5fInitial commit - OpenWA v0.1.0 | rmyndharis | 5mo ago | +65.3K -0 | 100%Elevated | more lines added than baseline |
| 2 | e8725094feat(sdk): add Go SDK (#720) | Leynardo Yosef | 1w ago | +3.6K -0 | 100%Elevated | more lines added than baseline |
| 3 | 7a10d265feat(sdk): official Java SDK (com.rmyndharis:openwa) (#604) | Yudhi Armyndharis | 3w ago | +5.2K -3 | 100%Elevated | more lines added than baseline |
| 4 | f96576aadocs: reconcile documentation with the v0.7.3 implementation (#471) | Yudhi Armyndharis | 4w ago | +7.6K -7.0K | 100%Elevated | more lines added than baseline |
| 5 | 55ad3880feat(sdk): JavaScript, Python, and PHP client libraries (#463) | Yudhi Armyndharis | 4w ago | +11.4K -235 | 100%Elevated | more lines added than baseline |
| 6 | 04a7be6fRelease v0.2.0 — i18n, real-time chats, webhooks & delivery state, templates, security & container hardening (#229) | Yudhi Armyndharis | 1mo ago | +9.9K -419 | 100%Elevated | more lines added than baseline |
| 7 | a408066ddocs: align the documentation set with the shipped implementation (#977) | Yudhi Armyndharis | 7h ago | +2.3K -2.3K | 99%Elevated | more lines added than baseline |
| 8 | 426603e5feat: live group/call events, message edit, group join & settings, own profile, call reject (#842) | Yudhi Armyndharis | 1w ago | +6.1K -88 | 99%Elevated | more lines added than baseline |
| 9 | b2a8644echore(openapi): commit the API snapshot + CI sync gate (#704) | Yudhi Armyndharis | 2w ago | +7.2K -5 | 99%Elevated | more lines added than baseline |
| 10 | 90729c96feat: Integration Fabric — inbound webhook substrate for sandboxed plugins (P0) (#568) | Yudhi Armyndharis | 3w ago | +2.5K -15 | 99%Elevated | more lines added than baseline |
| 11 | 2dff5df1Dashboard /chats: clickable links, WhatsApp formatting, photo lightbox, scroll memory (#484) | Softronic | 4w ago | +3.0K -148 | 99%Elevated | more lines added than baseline |
| 12 | 65022bc7release: v0.2.2 — security hardening, reliability & metrics (#243) | Yudhi Armyndharis | 1mo ago | +4.5K -1.4K | 99%Elevated | more lines added than baseline |
| 13 | 1fca902cfeat(dashboard): add Hebrew (he) translations and RTL support | Yosef Chai | 2mo ago | +1.8K -689 | 99%Elevated | more lines added than baseline |
| 14 | 291a8999chore: regenerate package-lock.json for npm ci sync | rmyndharis | 3mo ago | +1.9K -2.5K | 99%Elevated | more lines added than baseline |
| 15 | ac9170c6fix(config,http,auth,engine): resolve env precedence at save time, price in-flight bodies by real bytes, and confine the admin invariant (#971) | Yudhi Armyndharis | 1d ago | +3.6K -616 | 98%Elevated | more lines added than baseline |
| 16 | 8f2de6b7fix(dashboard): complete i18n catalogs and give modals real dialog semantics (#965) | Yudhi Armyndharis | 1d ago | +1.4K -797 | 98%Elevated | more lines added than baseline |
| 17 | fa8d863bv0.9.0: message reliability, dashboard UX consolidation, and dead-code cleanup (#802) | Yudhi Armyndharis | 1w ago | +2.3K -2.4K | 98%Elevated | more lines added than baseline |
| 18 | 90a8d95erelease: v0.7.0 — plugin contract, reliability, and dashboard polish (#448) | Yudhi Armyndharis | 1mo ago | +3.0K -1.6K | 98%Elevated | more lines added than baseline |
| 19 | 3337cd70feat: plugin platform — sandboxed plugins + dashboard install/uninstall (v0.6.0) (#426) | Yudhi Armyndharis | 1mo ago | +2.6K -145 | 98%Elevated | more lines added than baseline |
| 20 | 4cbaf41afeat(webhook): smart pre-dispatch filters + WaId-aware contact matching (#379) | Tobias Strebitzer | 1mo ago | +2.2K -61 | 98%Elevated | more lines added than baseline |
| 21 | 735fa69dchore(release): v0.4.3 (#354) | Yudhi Armyndharis | 1mo ago | +2.9K -345 | 98%Elevated | more lines added than baseline |
| 22 | 401eb3c6feat(plugins): add group auto-translation extension plugin | dallascyclist | 1mo ago | +1.2K -0 | 98%Elevated | more lines added than baseline |
| 23 | 84f3373efeat(dashboard): add message templates management (#266) | Leslie Ajayi | 1mo ago | +1.3K -28 | 98%Elevated | more lines added than baseline |
| 24 | 32a0205cfeat: add unit tests, release workflow, and SDK scaffolds | rmyndharis | 5mo ago | +2.2K -80 | 98%Elevated | more lines added than baseline |
| 25 | eb4f84bafeat(sdk): align webhook filter types and close method coverage gaps across all SDKs (#947) | Yudhi Armyndharis | 1d ago | +1.2K -67 | 97%Elevated | more lines added than baseline |
| 26 | 27763727fix(infra): make config writes section-scoped, mode-aware, and strictly coerced (#946) | Yudhi Armyndharis | 1d ago | +1.1K -246 | 97%Elevated | more lines added than baseline |
| 27 | c2a6d0e6feat(dashboard): add location/contact/sticker/poll/forward/bulk to Message Tester (#813) | Yudhi Armyndharis | 1w ago | +1.5K -105 | 97%Elevated | more lines added than baseline |
| 28 | c00cddf9feat: harden runtime reliability and cross-layer contracts (#795) | Yudhi Armyndharis | 1w ago | +2.6K -1.0K | 97%Elevated | more lines added than baseline |
| 29 | 8f1343bbfix: reliability + config hardening batch (Docker quickstart #677 + bounded search/SSRF/auth + CI gate) (#680) | Yudhi Armyndharis | 2w ago | +2.2K -163 | 97%Elevated | more lines added than baseline |
| 30 | c31a1027feat(search): global message search via open-core SearchProvider + built-in DB full-text (#664) | Yudhi Armyndharis | 2w ago | +2.2K -4 | 97%Elevated | more lines added than baseline |
| 31 | 07151608fix: reliability and correctness hardening across messaging, webhooks, ingress, and session lifecycle (#658) | Yudhi Armyndharis | 2w ago | +1.4K -301 | 97%Elevated | more lines added than baseline |
| 32 | e074fb83feat(dashboard): provisioning UI for integration instances (#575) | Yudhi Armyndharis | 3w ago | +1.3K -13 | 97%Elevated | more lines added than baseline |
| 33 | 643e76b2feat(mcp): add opt-in MCP server exposing a curated agent-tool surface | Yudhi Armyndharis | 4w ago | +1.7K -11 | 97%Elevated | more lines added than baseline |
| 34 | 3954ef94fix: regenerate package-lock.json for npm ci compatibility | rmyndharis | 5mo ago | +849 -918 | 97%Elevated | more lines added than baseline |
| 35 | 95210c20fix(plugins): harden lifecycle, boot validation, and install integrity (#942) | Yudhi Armyndharis | 1d ago | +1.2K -83 | 96%Elevated | more lines added than baseline |
| 36 | 498c2f27fix(session): keep long-lived sessions alive with a liveness watchdog and unlimited reconnect (#798) | Yudhi Armyndharis | 1w ago | +982 -104 | 96%Elevated | more lines added than baseline |
| 37 | ff6cf2e1feat(i18n): add Korean (ko) locale for the dashboard | moduvoice | 2w ago | +854 -1 | 96%Elevated | more lines added than baseline |
| 38 | 1d3f09ecfeat(search): dashboard search panel + SDK search resources (#668) | Yudhi Armyndharis | 2w ago | +1.3K -6 | 96%Elevated | more lines added than baseline |
| 39 | cbbe51c0fix(#488): auto-pin WhatsApp Web build + infra dashboard reflects/controls running state (#489) | Yudhi Armyndharis | 4w ago | +1.2K -154 | 96%Elevated | more lines added than baseline |
| 40 | 4b6bdc1cfix(dashboard): chat media, engine→Infrastructure, dashboard analytics, and config-modal polish | Yudhi Armyndharis | 4w ago | +1.4K -279 | 96%Elevated | more lines added than baseline |
| 41 | 0c82fabbfeat(dashboard): add appearance palettes and templates redesign (#361) | Leslie Ajayi | 1mo ago | +881 -326 | 96%Elevated | more lines added than baseline |
| 42 | a7cb6058feat(engine): typed WaId + persistent lid->phone resolution table + message from-filter (#374) | Tobias Strebitzer | 1mo ago | +791 -24 | 96%Elevated | more lines added than baseline |
| 43 | f667d76abuild(engine): add @whiskeysockets/baileys@6.7.23 (pinned, stable) | rmyndharis | 1mo ago | +1.0K -32 | 96%Elevated | more lines added than baseline |
| 44 | 7585c24ffix(plugins): bound capability RPCs, surface sandbox hook errors, and validate plugin search results (#954) | Yudhi Armyndharis | 1d ago | +840 -20 | 94%Elevated | more lines added than baseline |
| 45 | 3800dbebfix(integration): bound ingress replay and dedup-row storage growth (#941) | Yudhi Armyndharis | 1d ago | +849 -70 | 94%Elevated | more lines added than baseline |
| 46 | a374dc73fix(infra): make data export/import complete, crash-safe, and runtime-reconciled (#927) | Yudhi Armyndharis | 1d ago | +885 -79 | 94%Elevated | more lines added than baseline |
| 47 | 86f7fb09fix(integration): reconcile persisted ingress events that never reached dispatch (#924) | Yudhi Armyndharis | 1d ago | +856 -8 | 94%Elevated | more lines added than baseline |
| 48 | 8e165629feat(i18n): add German (de) dashboard translation (#872) | Rezk Jörg Sebening | 5d ago | +875 -1 | 94%Elevated | more lines added than baseline |
| 49 | d2a2041afix: read boolean and numeric request fields strictly, and harden the new group, call, edit and status paths (#845) | Yudhi Armyndharis | 1w ago | +966 -63 | 94%Elevated | more lines added than baseline |
| 50 | 3e3c1673fix(wwjs): backport upstream #201832 to restore id._serialized access (#747) | Yudhi Armyndharis | 1w ago | +1.1K -4 | 94%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.
rmyndharis/openwa has 961 commits in its history from 53 contributors, the first of them Feb 5, 2026. In the last 90 days 947 files were touched, 3,635 times in total, most often session.service.ts. Every commit is scored for change risk from its size, spread and the history of the files it touches.