Files
hermes-webui/CONTRIBUTORS.md
nesquena-hermes 7192d856af docs: refresh CONTRIBUTORS.md and README to v0.51.58
Last refresh was at v0.51.44 (130 contributors / 568 PR credits). Since then,
14 releases shipped (v0.51.45 through v0.51.58) with 78 attributed PRs from
20 distinct contributors, adding 7 first-time contributors:

- @lucasrc — auth-hardening trilogy (#2191/#2192/#2193) → sustained 3-PR bucket
- @LumenYoung — stale-stream guard + 3 streaming-correctness fixes → sustained 4-PR bucket
- @MrFant — 2 PRs (reasoning_content whitelist, message preservation)
- @xz-dev — 2 PRs (thinking-card state, session-scoped metering)
- @legeantbleu — French (fr) locale (#2142)
- @ayushere — ctl.sh bash 3.2 macOS compat (#2117)
- @plerohellec — single PR

Bucket promotions (existing contributors who moved up):

- @dobby-d-elf: 2 → 6 PRs (jumps from two-PR list into top contributors)
- @samuelgudi: 1 → 2
- @michael-dg: 1 → 2
- @vcavichini: 1 → 2
- @hualong1009: 1 → 2

Top contributor PR-count updates (top 7 changed materially):

| Contributor       | Before | After | Delta | Latest release |
|-------------------|-------:|------:|------:|---------------|
| @franksong2702    |     92 |   117 |   +25 | Unreleased    |
| @Michaelyklam     |     81 |    92 |   +11 | v0.51.57      |
| @bergeouss        |     61 |    62 |    +1 | v0.51.46      |
| @ai-ag2026        |     49 |    55 |    +6 | v0.51.47      |
| @dso2ng           |     21 |    23 |    +2 | v0.51.51      |
| @jasonjcwu        |     13 |    16 |    +3 | v0.51.55      |
| @Jordan-SkyLF     |      6 |    12 |    +6 | Unreleased    |

Header refreshed: 130 → 137 contributors, 568 → 646 PR credits, refresh
tag bumped to v0.51.58. Notable contributions paragraphs in both files
updated with the new work (manual /compress async pair, worktree status +
guarded remove, fork-from-here, opencode-go resolver, the LumenYoung +
lucasrc + dobby-d-elf entries).

Source of truth: CHANGELOG.md attribution lines `**PR #N** by @user` between
the v0.51.44 header and the Unreleased section, plus baseline buckets in
the previous CONTRIBUTORS.md. Cross-bucket sanity check passes (no handle
appears in multiple buckets; 21 + 13 + 19 + 84 = 137 unique handles).
2026-05-14 02:18:57 +00:00

16 KiB
Raw Permalink Blame History

Contributors

Hermes WebUI is a community project. 137 people have shipped code that landed in a release tag — including the long tail of folks whose work was salvaged into batch releases or absorbed via Co-authored-by trailers. This file is the canonical credit roll.

A contributor's PR count is the number of distinct PRs they get credit for: PRs they authored that merged directly, PRs they authored that were closed-but-absorbed into a release commit (batch merges, salvage rewrites), and PRs where they were explicitly attributed in CHANGELOG.md. All three count the same.

Total contributors tracked: 137 Total PR credits: 646 Last refreshed: v0.51.58, 2026-05-13

Generated from git log + the GitHub PR list (merged and closed) + the CHANGELOG.md attribution lines (PR #N by @user, (credit: @user), @user — PR #N). If your name is missing or wrong, open a PR against CONTRIBUTORS.md — we cross-check against the changelog on each release.


Top contributors (5+ PRs landed)

# Contributor PRs First release Latest release
1 @franksong2702 117 v0.49.3 v0.51.58
2 @Michaelyklam 92 v0.50.240 v0.51.57
3 @bergeouss 62 v0.48.0 v0.51.46
4 @ai-ag2026 55 v0.50.279 v0.51.47
5 @dso2ng 23 v0.50.227 v0.51.51
6 @jasonjcwu 16 v0.50.227 v0.51.55
7 @Jordan-SkyLF 12 v0.50.18 v0.51.58
8 @aronprins 10 v0.44.0 v0.50.233
9 @JKJameson 10 v0.50.233 v0.51.31
10 @starship-s 10 v0.50.128 v0.51.58
11 @ccqqlo 9 v0.44.0 v0.50.270
12 @24601 8 v0.50.233 v0.51.5
13 @armorbreak001 7 v0.50.47 v0.50.50
14 @NocGeek 7 v0.50.251 v0.50.252
15 @dobby-d-elf 6 v0.51.38 v0.51.58
16 @Hinotoi-agent 6 v0.50.12 v0.51.44
17 @iRonin 6 v0.41.0 v0.41.0
18 @Sanjays2402 6 v0.50.292 v0.51.31
19 @cloudyun888 5 v0.50.47 v0.50.140
20 @fxd-jason 5 v0.50.245 v0.50.249
21 @happy5318 5 v0.50.238 v0.51.31

Sustained contributors (34 PRs landed)

Contributor PRs First release Latest release
@bsgdigital 4 v0.50.228 v0.50.258
@fecolinhares 4 v0.50.238 v0.50.250
@frap129 4 v0.50.140 v0.50.233
@KingBoyAndGirl 4 v0.50.238 v0.50.240
@LumenYoung 4 v0.51.47 v0.51.55
@qxxaa 4 v0.50.233 v0.51.37
@renheqiang 4 v0.50.61 v0.50.95
@Thanatos-Z 4 v0.50.257 v0.50.278
@AlexeyDsov 3 v0.50.267 v0.50.278
@deboste 3 v0.50.269 v0.50.297
@dutchaiagency 3 v0.50.281 v0.50.286
@lucasrc 3 v0.51.57 v0.51.57
@pavolbiely 3 v0.50.159 v0.50.233

Two-PR contributors (19)

@ChaseFlorell, @gabogabucho, @hacker1e7, @hualong1009, @lost9999, @michael-dg, @mmartial, @MrFant, @nickgiulioni1, @renatomott, @ruxme, @Saik0s, @samuelgudi, @shruggr, @TaraTheStar, @vansour, @vcavichini, @xz-dev, @zichen0116.

Single-PR contributors (84)

Each of these folks landed exactly one PR that shipped — a bug fix, a locale, a security hardening, a doc improvement, an infrastructure tweak. Every one moved the project forward.

@29n, @amlyczz, @andrewy-wizard, @Argonaut790, @Asunfly, @ayushere, @betamod, @Bobby9228, @bschmidy10, @carlytwozero, @davidsben, @DavidSchuchert, @DelightRun, @DrMaks22, @eba8, @eov128, @galvani, @GeoffBao, @georgebdavis, @GiggleSamurai, @hacker2005, @halmisen, @hermes-gimmethebeans, @hi-friday, @huangzt, @indigokarasu, @insecurejezza, @jeffscottward, @Jellypowered, @jimdawdy-hub, @JinYue-GitHub, @joaompfp, @jundev0001, @KayZz69, @kcclaw001, @kevin-ho, @koshikai, @kowenhaoai, @lawrencel1ng, @legeantbleu, @likawa3b, @lucky-yonug, @lx3133584, @MacLeodMike, @mangodxd, @mariosam95, @MatzAgent, @mbac, @migueltavares, @mittyok, @ng-technology-llc, @octo-patch, @plerohellec, @rhelmer, @rickchew, @ryan-remeo, @ryansombraio, @s905060, @SaulgoodMan-C, @sbe27, @shaoxianbilly, @sheng-di, @sixianli, @skspade, @smurmann, @snuffxxx, @spektro33, @Stampede, @suinia, @sunnysktsang, @tgaalman, @thadreber-web, @the-own-lab, @tomaioo, @trucuit, @vCillusion, @vikarag, @wali-reheman, @watzon, @woaijiadanoo, @xingyue52077, @yunyunyunyun-yun, @yzp12138, @zenc-cp.


How credit is tracked

Most PRs in this repo land via one of four paths:

  1. Direct merge — your PR is reviewed and merged on its own. Author shows up directly in git log and on the PR's merged_at timestamp.
  2. Squash into a batch release — your PR is merged together with several other contributor PRs into a single release commit (e.g. release: v0.51.55 — 9-PR contributor batch). The original PR closes (not merges) on GitHub but the squashed release commit carries a Co-authored-by: <you> trailer plus an entry in CHANGELOG.md crediting you by username and PR number.
  3. Salvaged from a larger PR — when a PR mixes one good change with several unrelated or risky ones, we split it: the good parts ship in a clean follow-up PR, you get credit in the CHANGELOG entry, and the original PR is closed with a salvage map showing what went where.
  4. Auto-rebase + auto-fix — for merge-ready contributor PRs with mechanical blockers (CHANGELOG conflicts, lint, drifted tests), a maintainer rebases the contributor's branch, fixes the blockers, and force-pushes back. The Co-authored-by trailer preserves your authorship.

All four paths count as a contribution. GitHub's merged_at field only catches path 1; paths 2-4 show as "closed" on the contributor's PR even though the work is live in master. That's why this file consults the CHANGELOG attribution lines, not just GitHub's merged-PR list.

Special thanks

  • @aronprinsv0.50.0 UI overhaul (PR #242). The CSS-only redesign that defined the design tokens, theme architecture, and three-panel layout that the rest of the app builds on. PR #242 didn't merge as-is, but it is the design language of the app.
  • @franksong2702 — most prolific external contributor across the project's history. 117 PRs spanning the session sidebar, mobile/responsive layout, workspace state machine, profile context, slash autocomplete, breadcrumb navigation, streaming-session exemption, cron output preservation, embedded terminal, the manual-compress async start/status endpoint pair, the worktree status surface (PR #2109) + guarded remove (PR #2156) for the lifecycle umbrella #2057, session post-render dedup (PR #2166), the /api/session native-WebUI fast path (PR #2170), tail-window response trim (PR #2171), the second-wave stale-stream guard extension (PR #2158), CSP report collector (PR #2160), and the long tail of polish.
  • @Michaelyklam — most prolific contributor of late-2025/early-2026. 92 PRs covering Docker hardening, profile-scoped skills, KaTeX delimiter parsing, Codex quota surfacing, Goal command, Kanban polish, auto-compression toast lifetime, the localization parity backfills, the v0.51.51 mobile Insights bucketing/layout pair (PRs #2120/#2121), the Hermes run adapter RFC (PR #2105 for #1925), the fork-from-here absolute-index fix (PR #2198 for #2184), and the opencode-go custom-provider overlap routing fix (PR #2204 for #1894).
  • @bergeouss — provider-management UI, OAuth status, two-container Docker docs, profile isolation hardening, Reveal-in-Finder, the OpenRouter free-tier live fetch, and most of Settings → Providers. 62 PRs.
  • @ai-ag2026 — autonomous-AI contributor (Hermes Agent-driven). 55 PRs focused on session recovery (state.db sidecar reconciliation, orphan .bak recovery, audit + safe-repair endpoints), workspace/run lifecycle health, the crash-safe turn-journal RFC, the append-only turn-journal helper (PR #2059), the matching lifecycle-events layer (PR #2062), the Content-Security-Policy-Report-Only header (PR #2084), and the per-cron toast notification toggle (PR #2100).
  • @Jordan-SkyLF — Live streaming, session recovery, workspace fallback, and a recent burst of presentation polish: the manual "Refresh usage" button on the Provider quota card (PR #2150), cancelled-turn status classification (PR #2151), Firefox sidebar scroll stabilization (PR #2200), early provisional session titles (PR #2202), target-aware "What's new?" links (PR #2207), and MCP tools overflow fix in Settings (PR #2210). 12 PRs total.
  • @LumenYoung — newer contributor focused on the streaming hot path's correctness. 4 PRs including the original stale-stream writeback guard (PR #2136 — the bug class the next two releases extended), gateway-state alive-null classification (PR #2075), compression-banner anchor alignment (PR #2182), and context-progress ring auto-refresh on compression complete (PR #2188).
  • @iRonin — security hardening sprint (PRs #196#204): session memory leak fix, CSP + Permissions-Policy headers, slow-client connection timeout, optional HTTPS/TLS, upstream branch tracking, CLI session file-browser support. Six consecutive, focused, high-quality security PRs.
  • @indigokarasu — visual redesign proposal (PR #213). Icon rail sidebar, design token system, 7 themes. Didn't merge as-is but shaped the design language that landed in v0.50.0.
  • @zenc-cp — anti-hallucination guard for the ReAct loop (PR #133). Three-layer approach (ephemeral prompt, live token filtering, session-history cleanup) that the streaming pipeline still uses.
  • @deboste — reverse-proxy auth, mobile responsive layout, model routing (PRs #3, #4, #5). Three of the very first community PRs. Early foundation work.
  • @Hinotoi-agent — security fixes spanning profile .env isolation (PR #351), session-import workspace validation (PR #2048), and bandit B105 hardening. Subtle, high-leverage credential and path-traversal fixes.
  • @lucasrc — auth-hardening trilogy in v0.51.57 (PRs #2191/#2192/#2193): thread-safe login rate limiter with PBKDF2 key separation, password-hash cache invalidation on settings change, and the full 64-char HMAC-SHA256 session signature with backwards-compatible migration bridge. Three coordinated security PRs that landed together.
  • @jasonjcwu — composer and transcript polish, 16 PRs. Recent: silent compress-status during session switch (PR #2185), concurrent-send loss fix (PR #2186), in-transcript steer message badge (PR #2187), plus sidebar collapse via active-rail click (PR #2054).
  • @dobby-d-elf — frontend reliability and motion polish: workspace fallback on deleted directories (PR #2138), iPhone PWA bottom-scroll fix (PR #2143), the new "Activity: X tools" composer footer animation (PR #2203) and its follow-up tuning (PR #2212).

If you've contributed and aren't here, open a PR. We cross-check the CHANGELOG on every release, but if a credit fell through (a Co-authored-by trailer that didn't make it into the changelog entry, an attribution in a PR comment that should be in the release notes), this list is the right place to fix it.