Releases: RomkaLTU/trau
Releases · RomkaLTU/trau
Release list
v2.38.0
Changelog
Epics
- 8c6a106: feat: hub full path for the cross-child folder epic: queue accept, promotion, (#1226) (@RomkaLTU)
Features
- d5acb30: feat: QA proofs lightbox: browse a run's screenshots with arrows, keys and (#1213) (@RomkaLTU)
- 76aa177: feat: TUI onboarding: a Serena system-check row with fix hints and a (#1212) (@RomkaLTU)
- dfe7b49: feat:
splitof an existing issue can yield several epics: the grilled issue (#1218) (@RomkaLTU) - 1a5a0fa: feat: a Folder repo runs an epic pinned to the child its
Repo:line names: (#1221) (@RomkaLTU) - 35f75fc: feat: a folder ticket carrying
Repo: <child>runs confined to that child; (#1224) (@RomkaLTU) - 5caecb7: feat: a run killed while it waits for a human merge reconciles to (#1192) (@RomkaLTU)
- 7ba4dc3: feat: an unpinned epic in a Folder repo runs its sub-issues sequentially as (#1223) (@RomkaLTU)
- 814fd1c: feat: epic-child runs resolve their lane worktree: run page, app controls, and (#1200) (@RomkaLTU)
- 389b87f: feat: grill interview parks on user-level Claude hooks (Serena mandate): run (#1222) (@RomkaLTU)
- 38b0069: feat: grill outcome accepts several epics in one repo: schema, interviewer (#1211) (@RomkaLTU)
- ac98afd: feat: in a hub Project each proposed epic targets a member repo: prompt lists (#1216) (@RomkaLTU)
- 763922d: feat: inbox Interview: nudge the agent once, keep its closing text, and offer (#1190) (@RomkaLTU)
- 74b3a9e: feat: internal-backlog destination files each epic into its target member (#1220) (@RomkaLTU)
- beedf65: feat: internal/serena probe +
trau doctorSerena checks + (#1203) (@RomkaLTU) - 207fb1c: feat: live runs report their route in the heartbeat; provider sign-out/sign-in (#1189) (@RomkaLTU)
- cdbec3f: feat: loop page: the running queue row shows a live route chip (provider · (#1196) (@RomkaLTU)
- 36f3dfe: feat: make the worktree concurrency rule discoverable: WORKTREES description, (#1188) (@RomkaLTU)
- 2047213: feat: on a Folder repo the multi-epic outcome names each epic's child repo (#1219) (@RomkaLTU)
- bd1560a: feat: pick card offers a runnable preview: worktree-anchored one-liner and the (#1201) (@RomkaLTU)
- 27a109e: feat: pick card shows a receipt after Submit / Regenerate instead of (#1197) (@RomkaLTU)
- 5581835: feat: queue: the row's Stop ends every lane — stopping one running ticket (#1191) (@RomkaLTU)
- 15d1bac: feat: run history shows the route: per-phase provider · model @effort in run (#1194) (@RomkaLTU)
- ea6437c: feat: run pre-flight: probe Serena before the build phase — warn and continue (#1208) (@RomkaLTU)
- 1c58e2e: feat: run-time:
TOOL_UNAVAILABLEsentinel + Serena heuristics turn a build (#1204) (@RomkaLTU) - 410bb40: feat: screenshot capture: one bounded pick-capture step before parking, and (#1207) (@RomkaLTU)
- 333b3cb: feat: slice-diff scans anchor at the pinned fork point BASE_SHA, not the local (#1198) (@RomkaLTU)
- fe9cb38: feat: stacked layer whose checks trau proves it cannot provoke burns (#1227) (@RomkaLTU)
- 1b0eb9d: feat: start-app on the pick card: the hub runs the build's preview command in (#1202) (@RomkaLTU)
- e88a2b0: feat: web onboarding: Serena rows on the detect step with fix text, and a (#1214) (@RomkaLTU)
- 1f85fe1: feat: worktrees carry
.serena/project.ymland.serena/memories/into fresh (#1215) (@RomkaLTU)
v2.37.0
Changelog
Features
- 37db4de: feat: carry an oversized agent prompt by file when it would overflow the OS (#1186) (@RomkaLTU)
- d365e7a: feat: commitlint gate lints past origin/ when the local base lags: the (#1185) (@RomkaLTU)
- de3b029: feat: grill prompts: concrete-consequence questions, re-open an answer that (#1184) (@RomkaLTU)
- a348f95: feat: interview asks about branching strategy: refuse delivery-mechanics (#1181) (@RomkaLTU)
- 1a270e3: feat: interview review document: full width like the research page, slices (#1182) (@RomkaLTU)
- 19ca18f: feat: run-steps dialog: an Activity a repo setting already turns off shows (#1187) (@RomkaLTU)
- 8f869a7: feat: share a run as a URL: copy-link on the run page, get_run resolves a run (#1183) (@RomkaLTU)
v2.36.0
Changelog
Epics
- 04de464: epic(COD-1903): folder repo: a heterogeneous multi-repo folder ships end to end (#1174) (@RomkaLTU)
- 1bf040d: feat: stacked epic: layers above the bottom reach release with zero CI (#1172) (@RomkaLTU)
Features
- 44020f7: feat:
/focuses the page's search field on Backlog, Lessons, Settings and (#1167) (@RomkaLTU) - a23c4d4: feat: backlog rows and ticket drawer:
istarts or resumes the interview,q(#1169) (@RomkaLTU) - bd56db5: feat: claude sign-in with paste-back code and Console mode; codex (#1179) (@RomkaLTU)
- 2f28d2b: feat: command palette: New issue, New research and New project actions (#1170) (@RomkaLTU)
- fb24031: feat: page-action key primitive:
n= New X on Inbox, Backlog, Research, Loop (#1166) (@RomkaLTU) - 4a670c4: feat: show which account each Provider is signed in as — Hub page section, (#1173) (@RomkaLTU)
- ac5669f: feat: sign in to a Provider from the Hub page — hub-owned login session for (#1178) (@RomkaLTU)
- a66d55c: feat: sign out of a Provider from the Hub page (#1175) (@RomkaLTU)
Bug fixes
v2.35.0
Changelog
Epics
- 9246eda: epic(COD-1916): backlog board on large backlogs: 10 s per page on PortalPro caused by (#1136) (@RomkaLTU)
Features
- 4f2f84c: feat: MCP docs guard: test that docs/external-agents.md names every hub MCP (#1140) (@RomkaLTU)
- 5270f4e: feat: epic pick after a settled child: Done mirror writes status_group (#1143) (@RomkaLTU)
- 35152bc: feat: epic row keeps stale sub-issue states: a child closed in the tracker (#1159) (@RomkaLTU)
- 06d37a4: feat: hub MCP: add resume_run, requeue_ticket, get_config, list_worktrees, (#1145) (@RomkaLTU)
- 08524f1: feat: hub-spawned runs discard the child's stdout: every pipeline
logf(#1155) (@RomkaLTU) - 0ef8147: feat: linear UpdateLabels fails on issues carrying workspace-level labels (#1147) (@RomkaLTU)
- dd44686: feat: merge-sync: a failed merge commit (
ContinueMerge) is reported as (#1154) (@RomkaLTU) - e1b4ab8: feat: merged slice branches survive on origin: worktree runs never reach gh's (#1142) (@RomkaLTU)
- 22eaa27: feat: pick gate fails open: a build that routed the
ideaspicker skill and (#1152) (@RomkaLTU) - 885cbfb: feat: quarantined ticket with verified work has no supported resume: (#1157) (@RomkaLTU)
- 4425578: feat: settings: make every config key web-editable — invert the fail-closed (#1148) (@RomkaLTU)
- eb07d05: feat: stack-merge park keeps gh's raw output and re-probes stack membership (#1138) (@RomkaLTU)
- 98ae0a4: feat: stacked-epic finalize re-run mints a duplicate draft stack: settle a (#1137) (@RomkaLTU)
- 7f10946: feat: worktree mode cuts standalone ticket branches from the stale local base (#1153) (@RomkaLTU)
Bug fixes
v2.34.0
Changelog
Features
- 0ae1f57: feat: --exclude-dynamic-system-prompt-sections on claude sessions (default on (#1119) (@RomkaLTU)
- dbb7bd9: feat: CLAUDE__COMPACT_WINDOW: per-phase auto-compact window for claude (#1113) (@RomkaLTU)
- 3bb00ca: feat: CLAUDE_PROMPT_CACHE_1H: 1-hour prompt-cache TTL for hub sessions by (#1108) (@RomkaLTU)
- 5d20d7c: feat: branches name the origin ticket, with sibling disambiguation and safe (#1122) (@RomkaLTU)
- 106d652: feat: cache-efficiency metric per phase and cohort: rewrite ratio, cache-read (#1102) (@RomkaLTU)
- 8c4bb42: feat: ci-repair: an unchanged remote head is quarantined as "cannot pass" even (#1107) (@RomkaLTU)
- bb20a0a: feat: copyable unblock prompt on paused/quarantined/faulted halts replaces the (#1109) (@RomkaLTU)
- 1e94233: feat: delete the grill fix mode end to end and supersede ADR 0034 (#1115) (@RomkaLTU)
- ac93c7a: feat: delivery names the origin ticket: PR title, commit trailer, PR summary (#1121) (@RomkaLTU)
- 1c8484c: feat: forge outage during commit/PR: pause blamelessly, keep the verified (#1133) (@RomkaLTU)
- e72f313: feat: inbox: origin ticket in the apply panel, prefilled from the interview's (#1117) (@RomkaLTU)
- caa4312: feat: meter every hub-side agent session into token_calls (_grill / _publish (#1097) (@RomkaLTU)
- 50cced2: feat: mint internal ids under a distinct prefix on tracker-bound repos (#1123) (@RomkaLTU)
- eb0cf75: feat: origin ticket on internal issues: storage, API, create/edit forms, board (#1103) (@RomkaLTU)
- bf1c226: feat: per-model Codex catalog: efforts incl. ultra, drop gpt-5.4/-mini, gate (#1106) (@RomkaLTU)
- 4e7c437: feat: price Codex calls: gpt rates in tokens.go and an estimated CostUSD on (#1120) (@RomkaLTU)
- 78c6cf4: feat: rate table: price Sonnet 5 at $2/$10 and backfill historical sonnet-5 (#1096) (@RomkaLTU)
- 8cbcd56: feat: refuse a linked git worktree as a repo root — hub register, heartbeat (#1104) (@RomkaLTU)
- 0245342: feat: rekey existing internal issues that sit under the tracker's key, once, (#1124) (@RomkaLTU)
- 1318097: feat: remove the On fault and skip resume controls from the Loop queue builder (#1099) (@RomkaLTU)
- 6f3da9b: feat: repo switcher on phones: keep the dialog inside the visible viewport so (#1101) (@RomkaLTU)
- fa2c073: feat: rewrite retired Codex model IDs at resolution and warn in trau doctor (#1114) (@RomkaLTU)
- 4f01d8c: feat: route Codex light phases to gpt-5.6-terra @ low and lintfix to (#1110) (@RomkaLTU)
- e4a2951: feat: slicePRTitle counts commits against the LOCAL base ref — a stale local (#1112) (@RomkaLTU)
- 5cf577e: feat: status bar: keep the Claude usage reading under a minute old while (#1105) (@RomkaLTU)
Bug fixes
- f26ea9b: fix(release): prepare v2.34.0 publishing (#1134) (@RomkaLTU)
- 9079f1e: fix: make main compile and open the hub database again (0076 collision, hubstore exec helper) (#1132) (@RomkaLTU)
Others
v2.33.0
Changelog
Features
- 474a0e0: feat: flaky: TestQARejectParksTheRunOnceTheRoundsAreSpent — round 2 reject (#1093) (@RomkaLTU)
- 6803c5c: feat: publish brief: drop the stale preflight "must be on main/master" (#1092) (@RomkaLTU)
- 4717a7f: feat: publish card live progress: steps, latest activity line and transcript (#1087) (@RomkaLTU)
- f07609b: feat: publish holds the loop repo's queue and waits for live runs before it (#1089) (@RomkaLTU)
- d3a3408: feat: publish notifications and Finish publish recovery (#1090) (@RomkaLTU)
- e60cce9: feat: publish session: one-click autonomous trau release from the Loop page, (#1086) (@RomkaLTU)
- 17a8d3a: feat: release workflow: cache the SPA's npm dependencies in setup-node (~10–20 (#1091) (@RomkaLTU)
- a1be6ea: feat: shard internal/webserver across processes in
make test: 1,547 serial (#1094) (@RomkaLTU) - a0a14a1: feat: web: port the Research portal redesign from the trau-cli-web design (#1085) (@RomkaLTU)
Bug fixes
v2.32.0
Changelog
Features
- b861809: feat: @ references, part 1: picker + repo files/directories in every Interview (#1069) (@RomkaLTU)
- 4ff345f: feat: @ references, part 2: tickets as a reference kind (#1071) (@RomkaLTU)
- 5f6e25f: feat: @ references, part 3: research Reports as a reference kind (#1075) (@RomkaLTU)
- 03af5bb: feat: @ references, part 4: steer notes, QA-reject and pick-regenerate notes (#1077) (@RomkaLTU)
- 0465d59: feat: claude auto-mode nudge dialog pauses runs as “authentication required — (#1062) (@RomkaLTU)
- 1cb5483: feat: commentguard: ADR + AGENTS.md rewrite + whole-tree static checker (Go + (#1064) (@RomkaLTU)
- 65ceafb: feat: config: add
trau config get <KEY>and clean up post-migration (#1038) (@RomkaLTU) - df63fce: feat: config: strict boolean parsing with warnings for all boolean keys (#1046) (@RomkaLTU)
- b1c9f16: feat: contract: delete .commentguard-legacy and its skip logic so commentguard (#1083) (@RomkaLTU)
- 3ff3e43: feat: doctor: diagnose the epic-run misconfiguration class (#1056) (@RomkaLTU)
- 915732b: feat: enqueue parity: nested-epic refusal on MCP enqueue and queue promotion; (#1049) (@RomkaLTU)
- 2e234b8: feat: fix(web): Inbox interview "Submit answers" button slides under the (#1039) (@RomkaLTU)
- 4495d44: feat: fold hook-rejection pause reasons behind a stable prefix and give the (#1052) (@RomkaLTU)
- 8ea71ae: feat: forge/tracker: lift the handoff Change shape section into PR bodies and (#1054) (@RomkaLTU)
- 73c6588: feat: hook-aware pushBranch: classify local-hook rejections, refresh generated (#1045) (@RomkaLTU)
- c1568e4: feat: import lets a file's explicit value replace a tracker-seeded row (and (#1063) (@RomkaLTU)
- efb9ae2: feat: internal tracker: validate parent on create/update and keep has_children (#1055) (@RomkaLTU)
- b33c3cc: feat: interview surface: add the visual_style prompt fragment and render it (#1048) (@RomkaLTU)
- e17dba2: feat: mergeStack: re-probe merged state before parking — a merged stack adopts (#1058) (@RomkaLTU)
- 5fc27aa: feat: queued epic silently builds its parent ticket instead of its children (#1040) (@RomkaLTU)
- 5c7e39a: feat: reconcile sweep: advance the checkpoint in the same stroke that settles (#1042) (@RomkaLTU)
- 93b6447: feat: releasing card shows a stale fault verdict ("finish it by hand") while (#1041) (@RomkaLTU)
- b57a100: feat: run artifacts: handoff QA brief and build notes adopt the visual (#1050) (@RomkaLTU)
- caf700b: feat: run the pending .trau.ini import from any CLI command that loads config (#1057) (@RomkaLTU)
- c07d846: feat: run view: hide the KEYS row and the steer composer while the Diff pane (#1044) (@RomkaLTU)
- 8a71f24: feat: runner: never build a ticket that has children verbatim — fail with an (#1043) (@RomkaLTU)
- ac30d0c: feat: sweep cmd/trau to comment policy v2 (~1,600 comment lines) (#1079) (@RomkaLTU)
- d956d6b: feat: sweep config, agent, prompts, checks and state to comment policy v2 (#1080) (@RomkaLTU)
- 1ff851b: feat: sweep internal/pipeline production files to comment policy v2 (39 files, (#1065) (@RomkaLTU)
- 2322744: feat: sweep internal/pipeline test files to comment policy v2 (109 files, (#1067) (@RomkaLTU)
- 41e295d: feat: sweep internal/tracker and its sub-packages (azureapi, jiraapi, (#1074) (@RomkaLTU)
- baecae6: feat: sweep internal/webserver production files a–l to comment policy v2 (68 (#1068) (@RomkaLTU)
- 42098be: feat: sweep internal/webserver production files m–z to comment policy v2 (65 (#1070) (@RomkaLTU)
- f4d7a7b: feat: sweep internal/webserver test files to comment policy v2 (168 files, (#1073) (@RomkaLTU)
- ccd1ac5: feat: sweep the hub packages (hubstore, hubdb, hubclient, hubtokens, (#1076) (@RomkaLTU)
- fdd97f9: feat: sweep the remaining internal packages to comment policy v2 (~3,000 (#1081) (@RomkaLTU)
- dfdb4c3: feat: sweep the terminal packages (tui, theme, console, vterm, qrterm) to (#1078) (@RomkaLTU)
- e3e7e2f: feat: sweep web/src to comment policy v2 (~5,000 comment lines) (#1082) (@RomkaLTU)
- 5aba2ce: feat: trau config import --from-backup: recover values from (#1060) (@RomkaLTU)
Bug fixes
v2.31.0
v2.30.0
Changelog
Features
- cb16a3f: feat: chore(go): bump toolchain to Go 1.26 and update direct Go dependencies (#1019) (@RomkaLTU)
- 68c1f86: feat: chore(web): update npm dependencies (minor/patch, plus shadcn 0.3 and (#1027) (@RomkaLTU)
- 5b66df5: feat: chore(web): upgrade @xterm/xterm 5.5 to 6.0 (#1029) (@RomkaLTU)
- 82b2913: feat: chore(web): upgrade TypeScript 6.0 to 7.0 (native compiler) (#1031) (@RomkaLTU)
- 33f01e2: feat: config export/import for team sharing and onboarding (#1006) (@RomkaLTU)
- 500c2b1: feat: config in the hub DB, part 1 (expand): ADR plus DB-backed project/user (#1011) (@RomkaLTU)
- e0797e4: feat: config in the hub DB, part 2 (migrate): one-time import of existing (#1014) (@RomkaLTU)
- ff67556: feat: config in the hub DB, part 3 (contract): stop reading the project and (#1032) (@RomkaLTU)
- cab6a16: feat: inbox interview: show the composer only when typing answers the current (#1004) (@RomkaLTU)
- 089b331: feat: inbox: compact the chrome above the conversation below 1024px (#1020) (@RomkaLTU)
- 041035c: feat: keys steer notes reach every live interactive session, mechanical phases (#1025) (@RomkaLTU)
- 9e0e3ec: feat: keys steer notes: hub-validated named keys delivered raw into the live (#1024) (@RomkaLTU)
- 6a222b4: feat: long unbroken words overflow the backlog board card edge (and sibling (#1010) (@RomkaLTU)
- 696fbe3: feat: loop page: list an epic's in-flight sub-issue under REMAINING with its (#1013) (@RomkaLTU)
- 40463d9: feat: mobile shell: slim the top and bottom bars and hide them while typing (#1015) (@RomkaLTU)
- 21b9f6a: feat: overview redesign: lay out 3 design proposals (variants) for the (#1016) (@RomkaLTU)
- 2810feb: feat: park stack-merge give-up as awaiting-merge and complete on re-arm via (#1018) (@RomkaLTU)
- a5ce844: feat: persistent, non-dismissible update banner on every web hub page until (#1017) (@RomkaLTU)
- 410e5e3: feat: poll the forge while rows await a manual merge and resume automatically (#1022) (@RomkaLTU)
- 7d5604e: feat: settings editor: seed real built-in defaults and fix the multi-line (#1007) (@RomkaLTU)
- c01d835: feat: trau dump: hub bundle builder + CLI command (#1005) (@RomkaLTU)
- ccdef9d: feat: trau dump: web hub export surface (#1008) (@RomkaLTU)
- 8472ebe: feat: waiting-on-input badge + hold the dialog kill while a keys answer is (#1033) (@RomkaLTU)
- 37cbb4c: feat: web key bar: answer a live dialog from the run view and /terminal (#1030) (@RomkaLTU)