Releases
v2.23.0
Compare
Sorry, something went wrong.
No results found
Changelog
Features
54eba3f : feat: /terminal worktree selector, per-ticket phase list, and per-session live (#872 ) (@RomkaLTU )
d13bf5e : feat: QA Reject: notes drive a bounded auto fix round back to the gate (#850 ) (@RomkaLTU )
4b1af95 : feat: QA gate: awaiting-QA hold before merge, with Approve (#849 ) (@RomkaLTU )
a4af1fd : feat: UI-pick regenerate round: "none of these" with notes drives a bounded (#858 ) (@RomkaLTU )
70a709d : feat: UIDOTSH_TOKEN secret setting and ui.sh API client with a hub list (#853 ) (@RomkaLTU )
7803f8d : feat: WORKTREES=1: runs provision, use, and settle a per-ticket worktree (#843 ) (@RomkaLTU )
8491ebc : feat: auto-detect code on paste in editors and round-answer textareas (#864 ) (@RomkaLTU )
c9b24c4 : feat: auto-resolve generated internal/webserver/dist/** merge conflicts by (#880 ) (@RomkaLTU )
916497e : feat: carry ticket identity through transcript storage, API, and the run page (#871 ) (@RomkaLTU )
adb45c4 : feat: chat transcript: render fenced code blocks in bubbles, collapse long (#861 ) (@RomkaLTU )
e111c2e : feat: done-report document polish: text-xl title and a text-base reading scale (#866 ) (@RomkaLTU )
0eace44 : feat: editor: code-block toolbar toggle + in-editor syntax highlighting (#863 ) (@RomkaLTU )
489ba80 : feat: epics take one lane: children share the epic worktree, Releasing holds (#846 ) (@RomkaLTU )
78b96c0 : feat: force resync on an internal-provider repo drops the stale synced mirror (#825 ) (@RomkaLTU )
496472f : feat: global focus visibility: :focus-visible base rule, skip-to-content link, (#828 ) (@RomkaLTU )
2dbc39a : feat: global shortcut layer: "g then key" page jumps and a "?" shortcuts help (#831 ) (@RomkaLTU )
e399b80 : feat: grill thread layout and plan-approval interaction polish (#870 ) (@RomkaLTU )
b0acc29 : feat: inbox review stage: single-scroll document layout, no inner scrolls or (#874 ) (@RomkaLTU )
a9fea8f : feat: inbox: unify j/k selection with real DOM focus and scroll-follow (#834 ) (@RomkaLTU )
7b637ec : feat: issue drawer Run gate is not lane-aware: any live loop disables Run even (#852 ) (@RomkaLTU )
f07e2ff : feat: live verification: switch save24 from Jira to internal end-to-end (#827 ) (@RomkaLTU )
8098551 : feat: loop screen: keyboard-first queue rows (select, reorder, run) and drawer (#833 ) (@RomkaLTU )
465872f : feat: make every tablist, radiogroup, and switch keyboard-complete (#836 ) (@RomkaLTU )
3d1b34f : feat: merge-sync gives up when the base moves during the conflict-resolve (#882 ) (@RomkaLTU )
14e2f8d : feat: merge-sync reports success when the resolver agent destroys the merge (#881 ) (@RomkaLTU )
6464405 : feat: mid-run "awaiting UI pick" gate: park with the picker app served, resume (#857 ) (@RomkaLTU )
b1778d1 : feat: new research start screen polish (#869 ) (@RomkaLTU )
3332b5e : feat: parallel queue drain: up to WORKTREE_PARALLEL lanes per repo (#845 ) (@RomkaLTU )
f4f2591 : feat: parallel worktree lanes: hub-spawned epic runs hijack live lanes' (#879 ) (@RomkaLTU )
cb75260 : feat: per-worktree app serving: APP_START_CMD, port allocation, URL into (#847 ) (@RomkaLTU )
4f443ea : feat: pipeline can run a ticket in an externally-given worktree (--worktree) (#842 ) (@RomkaLTU )
8d28c13 : feat: project settings: dedicated 'Switch to internal tracker' action (#824 ) (@RomkaLTU )
22131b9 : feat: queue target validation: reject external ids that no reader can resolve (#826 ) (@RomkaLTU )
17ed24f : feat: render markdown in grill chat bubbles (all grill surfaces) and normalize (#865 ) (@RomkaLTU )
240af09 : feat: repo settings: confirmation dialog with synced-issue count before (#822 ) (@RomkaLTU )
e0fa952 : feat: repo skills fail to load in worktree runs — mirror .claude/skills into (#875 ) (@RomkaLTU )
9c3b4a4 : feat: reports rail and session header polish on the Research page (#868 ) (@RomkaLTU )
d80674d : feat: research report: one-click "Draft an issue" action that opens a seeded (#838 ) (@RomkaLTU )
1dbbd86 : feat: route licensed user-scope skills through skills-rules, honoring rule (#856 ) (@RomkaLTU )
62b054a : feat: run diff pane shows no live changes for worktree runs — compute the diff (#877 ) (@RomkaLTU )
b9a5ea3 : feat: run now opens the full run-steps dialog instead of a bare confirm (#883 ) (@RomkaLTU )
feeb8c1 : feat: run options disclosure: button-like trigger, separated from the action (#876 ) (@RomkaLTU )
e896c92 : feat: running loop view: remaining rows need a lane-aware "Run now", promote (#851 ) (@RomkaLTU )
df94a22 : feat: runs ledger: j/k and arrow-key row traversal (#835 ) (@RomkaLTU )
5a2c5ab : feat: second opinion drafts: challengers propose alternative outcomes, (#839 ) (@RomkaLTU )
6b25920 : feat: server-side switch-to-internal hook: guarded mirror drop + issue_seq (#821 ) (@RomkaLTU )
92907dc : feat: shared row-navigation primitive + keyboard-first Backlog rows (with (#832 ) (@RomkaLTU )
ce8d884 : feat: sidebar: single Tab stop, arrow-key roving, aria-current, landmark label (#829 ) (@RomkaLTU )
0475fa4 : feat: skills page: browse, install, update, and remove ui.sh skills in user (#854 ) (@RomkaLTU )
b5a4e31 : feat: syntax-highlighted code blocks with copy button in markdown views (#860 ) (@RomkaLTU )
19d88fe : feat: timeline treats awaiting-qa / awaiting-pick as settled while the queue (#884 ) (@RomkaLTU )
dc21639 : feat: worktree app controls and logs in the web UI (#848 ) (@RomkaLTU )
817d9ea : feat: worktree lanes: a fresh ticket's phase agents spawn in the registered (#859 ) (@RomkaLTU )
78fe59c : feat: worktree-aware babysitter prompt: inject worktree-mode guidance when the (#878 ) (@RomkaLTU )
Bug fixes
Others
You can’t perform that action at this time.