Releases: yatfa-ai/warden
Releases · yatfa-ai/warden
Release list
v0.1.25
What's Changed
- [#WARDEN-858] test(agentState): cover inferGoal — the 5-branch goal classifier by @yatfa-com[bot] in #364
- [#WARDEN-860] refactor(chat-sidebar): collapse 4 duplicated ChatRow blocks into renderChatRow by @yatfa-com[bot] in #365
- [#WARDEN-864] refactor(gitbadges): collapse CommitFile/StashFile into shared DiffInspectRow by @yatfa-com[bot] in #366
- [#WARDEN-866] fix(web): stop clipboard.test.mjs crash on Node 21+ (getter-only navigator) by @yatfa-com[bot] in #367
- [#WARDEN-868] feat(file-viewer): add Compare action to co-editor chip by @yatfa-com[bot] in #369
- [#WARDEN-870] feat(settings): make global footer persistence-aware (Appearance/NewChats/Snippets) by @yatfa-com[bot] in #370
- [#WARDEN-871] feat(fleet-health): surface parked-WIP (🗄N stashed) in Fleet Health by @yatfa-com[bot] in #371
- [#WARDEN-867] fix(config): clamp observerSessionTimeout into advertised [1,180] by @yatfa-com[bot] in #368
Full Changelog: v0.1.24...v0.1.25
v0.1.24
What's Changed
- feat(telemetry): record pre-send validate rejections as 'rejected' outcome [WARDEN-817] by @yatfa-com[bot] in #357
- [#WARDEN-822] feat(web): surface per-agent unpushed-commit count (↑N) in Fleet Health by @yatfa-com[bot] in #358
- fix(settings): bound config load with timeout/retry + move hot-path sync I/O off the event loop [WARDEN-828] by @yatfa-com[bot] in #359
- [#WARDEN-788] feat(fleet): 24h per-agent state-segment timeline in Fleet Health by @yatfa-com[bot] in #349
- [#WARDEN-840] refactor(web): route 4 inline clipboard copies through shared copyText by @yatfa-com[bot] in #361
- [#WARDEN-843] docs(agents): reconcile features-inventory to origin/main — mark shipped fixes FIXED, correct stale entries by @yatfa-com[bot] in #362
- [#WARDEN-847] feat(fleet): surface stalled-HEAD 💤 (>7d) axis in Fleet Health by @yatfa-com[bot] in #363
Full Changelog: v0.1.23...v0.1.24
v0.1.23
What's Changed
- [#WARDEN-815] feat(web): surface behind-upstream agents in Fleet Health (per-agent ↓N chip + fleet "N behind" summary) by @yatfa-com[bot] in #356
Full Changelog: v0.1.22...v0.1.23
v0.1.21
What's Changed
- [#WARDEN-701] feat(web): surface merge-conflict-blocked agents distinctly in ⚑ atRisk chip by @yatfa-com[bot] in #316
- [#WARDEN-513] feat(session-view): in-view find-with-prev/next in transcript viewer by @yatfa-com[bot] in #283
- [#WARDEN-660] feat(web): draggable resize gutters between grid panes by @yatfa-com[bot] in #294
- [#WARDEN-687] feat(telemetry): main-process crash sentinel + schema v4 by @yatfa-com[bot] in #317
- [#WARDEN-710] feat(web): rank 💤N stalled popover oldest-HEAD-first by @yatfa-com[bot] in #318
- [#WARDEN-723] feat(web): mark each FleetRecentCommits row ↑unpushed by @yatfa-com[bot] in #320
- [#WARDEN-719] feat(web): opt-in "Past conversations" group in global search (Ctrl+Shift+F) by @yatfa-com[bot] in #319
- refactor(git): colocate parseGitLsEntries into src/git.js (WARDEN-731) by @yatfa-com[bot] in #321
- fix(directives): normalize legacy 'null' container in readDirectives [WARDEN-733] by @yatfa-com[bot] in #322
- refactor(git): extract git HTTP layer into src/gitRoutes.js [WARDEN-734] by @yatfa-com[bot] in #323
- fix(fleet-dialogs): extract shared TargetAgentList so all 4 dialogs render the same host per target [WARDEN-735] by @yatfa-com[bot] in #324
- [#WARDEN-736] fix(web): visibility-gate the TelemetryTransmissionLog 5s poller by @yatfa-com[bot] in #325
- [#WARDEN-737] refactor(web): extract useWatchState hook from App.tsx (WARDEN-696 slice 2/4) by @yatfa-com[bot] in #326
- [#WARDEN-740] feat(web): clickable path breadcrumbs in FileViewer by @yatfa-com[bot] in #327
- [#WARDEN-741] feat(web): add Project grouping mode to Fleet Health by @yatfa-com[bot] in #328
- [#WARDEN-742] feat(web): add "show more" reveal to per-host past-session resume list by @yatfa-com[bot] in #329
- [#WARDEN-744] feat(web): make Settings header subtitle section-aware across all 13 sections by @yatfa-com[bot] in #330
- [#WARDEN-745] feat(web): compose fleet git-state chips into one triage-first callout by @yatfa-com[bot] in #331
- [#WARDEN-747] fix(settings): clamp advisory-bounds numeric inputs on blur + backend PUT /api/config guard by @yatfa-com[bot] in #332
- fix(fleet): pass bare key to onOpenChat in HealthDashboard [WARDEN-748] by @yatfa-com[bot] in #333
- [#750] test(git): cover isValidGitHash hex-only argument-injection guard with direct unit tests by @yatfa-com[bot] in #335
- [#WARDEN-749] feat(web): FileViewer Follow toggle + manual reload (tail -f) by @yatfa-com[bot] in #334
- [#WARDEN-751] test(activity): cover 4 untested data-integrity functions by @yatfa-com[bot] in #336
- [#WARDEN-753] refactor(web): extract useVisiblePoller hook, consolidate visibility poller gate by @yatfa-com[bot] in #337
- [#WARDEN-757] feat(web): open shipped files in FileViewer from fleet recent-commits feed by @yatfa-com[bot] in #338
- [#WARDEN-759] fix(panes): honest gray "Exited" StatusDot when a kept pane's agent exits by @yatfa-com[bot] in #339
- [#WARDEN-763] fix(sidebar): navigate into a newly-created collection instead of stranding on root by @yatfa-com[bot] in #340
- [WARDEN-770] feat(web): inline quick-reply on attention surfaces for waiting/blocked agents by @yatfa-com[bot] in #342
- refactor(config): derive /api/config GET+PUT + DEFAULTS from single CONFIG_FIELDS registry [WARDEN-773] by @yatfa-com[bot] in #343
- [#WARDEN-766] feat(web): surface per-agent uncommitted WIP in Fleet Health by @yatfa-com[bot] in #341
- [#WARDEN-775] fix(settings): webhook "Send test alert" tests the draft URL, not the stale saved one by @yatfa-com[bot] in #344
- [#WARDEN-780] feat(web): surface per-project host span + connectivity in Fleet Health Project mode by @yatfa-com[bot] in #345
- [#WARDEN-782] feat(telemetry): persist transmission-log ring to a bounded on-disk file by @yatfa-com[bot] in #346
- [#WARDEN-784] feat(notifications): visually delimit the three delivery channels by @yatfa-com[bot] in #347
- [#WARDEN-786] feat(web): add Changes view to FileViewer for uncommitted working-tree diff by @yatfa-com[bot] in #348
- [#WARDEN-792] fix(observer): wire tab close to DELETE /api/sessions/:id so closed sessions are removed from disk by @yatfa-com[bot] in #350
Full Changelog: v0.1.20...v0.1.21
v0.1.20
What's Changed
- [#WARDEN-631] feat(telemetry): circuit-break + surface runtime 415 schema drift by @yatfa-com[bot] in #280
- [#WARDEN-340] feat(git): explorable stash rows + /api/git-stash-show endpoint by @yatfa-com[bot] in #188
- [#WARDEN-431] feat(sidebar): Source Control panel replacing inline per-chat diff rows by @yatfa-com[bot] in #192
- [#WARDEN-455] feat(sidebar): themed right-click context menu for session history rows by @yatfa-com[bot] in #282
- [#WARDEN-635] feat(git-state): add at-risk repo-state axis (⚑N) to fleet rollup by @yatfa-com[bot] in #281
- [#WARDEN-538] feat(telemetry): attach focused chat name to extended-tier events by @yatfa-com[bot] in #285
- feat(git): detect outgoing×outgoing cross-agent file collisions [WARDEN-639] by @yatfa-com[bot] in #286
- [#WARDEN-637] feat(telemetry): capture renderer JS errors as base-tier error events (runtime:renderer) by @yatfa-com[bot] in #284
- [#WARDEN-645] refactor(server): collapse 14 git-route preludes into withGitRepo wrapper by @yatfa-com[bot] in #288
- fix(observer): stop logDirective emitting "null@host" for local/tmux chats [WARDEN-642] by @yatfa-com[bot] in #287
- fix(gitStatus): unescape C-quoted porcelain/name-only paths so spaces & special chars don't break collision detection + file-open [WARDEN-650] by @yatfa-com[bot] in #289
- fix(observer): gate ws.onerror on connectionTimeoutShownRef so a failed connection shows one error [WARDEN-653] by @yatfa-com[bot] in #290
- [#WARDEN-656] refactor(web): extract pure layout-geometry from storage.ts into web/src/lib/layout.ts by @yatfa-com[bot] in #291
- refactor(web): replace App.tsx's duplicated saveUi key list with a single type-checked PERSISTED_PREF_KEYS source [WARDEN-658] by @yatfa-com[bot] in #292
- [#WARDEN-659] test(web): add formatTokens.ts coverage (graceful-empty + k/M tier boundaries + compact1 rounding) by @yatfa-com[bot] in #293
- [#WARDEN-661] fix(health): visibility-gate Fleet Health /api/health poller by @yatfa-com[bot] in #295
- [#WARDEN-662] fix(web): pass per-agent git context into collection-drill-in ChatRow by @yatfa-com[bot] in #296
- [#WARDEN-663] feat(web): add prev/next changed-region nav to DiffViewer by @yatfa-com[bot] in #297
- [WARDEN-664] refactor(web): decompose SettingsPage god-component into per-section components by @yatfa-com[bot] in #298
- [#WARDEN-665] feat(telemetry): attribute events to a release via appVersion (schema v1→v2) by @yatfa-com[bot] in #299
- [#WARDEN-666] feat(telemetry): send per-batch idempotency-key header reused across retries by @yatfa-com[bot] in #300
- [#WARDEN-667] feat(web): add 5th fleet git-state chip (🗄N stashed WIP) to summarizeProjectGitState by @yatfa-com[bot] in #301
- [#WARDEN-671] feat(telemetry): bounded in-memory replay buffer for transiently-dropped sends by @yatfa-com[bot] in #305
- [#WARDEN-672] test(web): cover electron.ts IPC bridge — consent defaults + never-reject degradation by @yatfa-com[bot] in #306
- [#WARDEN-668] feat(web): surface telemetry transmission log (actual send outcomes) in Settings by @yatfa-com[bot] in #302
- [#WARDEN-669] feat(web): rank fleet unpushed popover oldest-first with a relative-age label by @yatfa-com[bot] in #303
- fix(git): unescape C-quoted paths in parseGitShowNameStatus [WARDEN-675] by @yatfa-com[bot] in #308
- [#WARDEN-676] fix(server): unescape C-quoted paths in parseGitLsEntries (non-ASCII / special-char file browser) by @yatfa-com[bot] in #309
- [WARDEN-670] feat(web): show each dirty agent's +N −M magnitude in the ±N fleet-chip popover, rank heaviest-first by @yatfa-com[bot] in #304
- refactor(server): collapse read-with-guards into one shared readChatFile [WARDEN-674] by @yatfa-com[bot] in #307
- refactor(server): extract Claude-session layer into src/claudeSessions.js [WARDEN-677] by @yatfa-com[bot] in #310
- [#WARDEN-680] fix(telemetry): preserve source-file basenames in frame.file through the sink redactor by @yatfa-com[bot] in #311
- [#WARDEN-682] feat(web): add 6th fleet git-state chip (💤N stalled) by @yatfa-com[bot] in #312
- [#WARDEN-684] feat(telemetry): add non-identifying platform (OS) base-tier field, bump schema v2→v3 by @yatfa-com[bot] in #313
- [#WARDEN-689] feat(web): show per-agent stashCount (🗄N) in the stash popover + rank heaviest-parker-first by @yatfa-com[bot] in #314
- [#WARDEN-696] refactor(web): extract useConfigPersistence hook from App.tsx by @yatfa-com[bot] in #315
Full Changelog: v0.1.19...v0.1.20
v0.1.19
What's Changed
- [#WARDEN-593] feat(collision): A↔B cross-agent working-tree diff in Compare edits by @yatfa-com[bot] in #268
- [#WARDEN-587] feat(attention): surface time-in-current-state on badge rows by @yatfa-com[bot] in #266
- [#WARDEN-595] feat(telemetry): Settings "Test connection" probe via /api/telemetry-test by @yatfa-com[bot] in #269
- [#WARDEN-601] feat(fleet): detect impending cross-agent file conflicts (committed-outgoing × WIP) by @yatfa-com[bot] in #271
- [WARDEN-606] refactor(git): extract pure parsers/script-builders into src/git.js by @yatfa-com[bot] in #272
- [#WARDEN-612] docs(features-inventory): complete feature inventory for slice-by-slice review by @yatfa-com[bot] in #275
- [#WARDEN-608] fix(gitStatus): parse rename/copy porcelain lines to the real destination path by @yatfa-com[bot] in #273
- [#WARDEN-609] fix(host-status): collapse duplicate /api/hosts/status poller; visibility-gate singleton by @yatfa-com[bot] in #274
- [#WARDEN-597] feat(fleet): fleet-wide recent-commits feed in Fleet Health by @yatfa-com[bot] in #270
- [#WARDEN-616] refactor(observer): make _execTool I/O injectable so dispatch wiring is testable end-to-end by @yatfa-com[bot] in #277
- [#WARDEN-620] refactor(ChatSidebar): collapse 3 duplicated git-log fetch hooks into useGitLogFetcher by @yatfa-com[bot] in #278
- [WARDEN-613] fix(tmux): reclaim multiline send-buffer on paste-buffer failure by @yatfa-com[bot] in #276
- [#WARDEN-624] test(collections): add CRUD + criteria-matching coverage by @yatfa-com[bot] in #279
Full Changelog: v0.1.18...v0.1.19
v0.1.18
What's Changed
- [#WARDEN-521] fix(panes): clear maximized id when the maximized pane is closed/killed/moved by @yatfa-com[bot] in #237
- [#WARDEN-522] feat(settings): add telemetryEndpoint receiver-URL field to Telemetry settings by @yatfa-com[bot] in #238
- [#WARDEN-528] feat(git): surface remote repo identity + deep-linkable branch/HEAD/upstream by @yatfa-com[bot] in #241
- [#WARDEN-524] feat(telemetry): live-wire assembled pipeline into main.cjs so opt-in telemetry captures and sends by @yatfa-com[bot] in #239
- feat(telemetry): "What telemetry sends" verifiability panel [WARDEN-526] by @yatfa-com[bot] in #240
- [#WARDEN-530] feat(observer): crafted in-app sonner toast for the at-Warden watch ping by @yatfa-com[bot] in #242
- [#WARDEN-532] feat(health): fleet-wide 24h activity heatmap in Fleet Health by @yatfa-com[bot] in #243
- [#WARDEN-536] feat(conflict-view): themed right-click menu (copy path/name/ours/theirs/close) by @yatfa-com[bot] in #245
- [#WARDEN-534] feat(sidebar): fleet-wide commit search grouped by agent by @yatfa-com[bot] in #244
- [#WARDEN-540] feat(watch): user-authored output-pattern alerts by @yatfa-com[bot] in #246
- [#WARDEN-543] feat(pane): move "Split shell here" into the pane context menu; retire grid-toolbar +split by @yatfa-com[bot] in #247
- [#WARDEN-555] feat(notify): webhook push channel for attention + budget alerts by @yatfa-com[bot] in #252
- [#WARDEN-545] feat(git): surface per-agent last-commit freshness on git badge by @yatfa-com[bot] in #248
- [#WARDEN-549] feat(search): rebuild GlobalSearchDialog on shadcn Dialog primitives + honest error states by @yatfa-com[bot] in #249
- [#WARDEN-551] feat(alerts): time-boxed per-agent snooze (1h/until tomorrow) with auto-rearm by @yatfa-com[bot] in #250
- [#WARDEN-553] feat(collections): reachable custom criteria + in-place edit by @yatfa-com[bot] in #251
- [#WARDEN-559] feat(git): pickaxe content-history search (git log -S/-G) + content mode on fleet search by @yatfa-com[bot] in #254
- [#WARDEN-557] feat(telemetry): surface honest "enabled but no receiver configured" status in Settings by @yatfa-com[bot] in #253
- [#WARDEN-561] fix(fileviewer): guard content-fetch race + prove /api/read-file alive by @yatfa-com[bot] in #255
- [#WARDEN-563] feat(pane): move 🔍 search + 📄 file onto pane context menu; retire grid-toolbar buttons by @yatfa-com[bot] in #256
- [#WARDEN-565] feat(sidebar): re-wire orphaned cross-agent file-collision ⚠ badge into fleet headers by @yatfa-com[bot] in #257
- feat(telemetry): client telemetryAuthToken pref + Authorization: Bearer transport [WARDEN-569] by @yatfa-com[bot] in #258
- [#WARDEN-571] feat(attention): fleet sweep classifies hidden/un-watched agents by @yatfa-com[bot] in #259
- [#WARDEN-573] feat(workspace): read-only repo file browser (GET /api/git-ls + picker) by @yatfa-com[bot] in #260
- [#WARDEN-575] feat(notify): surface a positive "agent finished" signal through the attention + webhook pipeline by @yatfa-com[bot] in #261
- [#WARDEN-577] feat(git): read-only local branches axis — GET /api/git-branch + popover section by @yatfa-com[bot] in #262
- [#WARDEN-581] feat(sidebar): bulk Snooze + bulk Watch/Unwatch in the multi-select action bar by @yatfa-com[bot] in #265
- [#WARDEN-583] feat(telemetry): record actual send outcomes in a bounded local transmission log by @yatfa-com[bot] in #263
- [#WARDEN-585] feat(telemetry): re-check live consent inside transport retry loop by @yatfa-com[bot] in #264
- [#WARDEN-589] feat(fleet-search): add Code mode — fleet-wide working-tree grep across agents by @yatfa-com[bot] in #267
Full Changelog: v0.1.17...v0.1.18
v0.1.17
What's Changed
- [#WARDEN-486] feat(telemetry): compose record() pipeline — resolve-tier → redact → validate → send by @yatfa-com[bot] in #220
- [#WARDEN-492] feat(sidebar): batch interrupt — non-destructive Ctrl-C/Esc to selected agents by @yatfa-com[bot] in #223
- [#WARDEN-490] feat(display): per-host friendly labels via hostTagOf funnel by @yatfa-com[bot] in #222
- feat(telemetry): verifiability engine — describeCollection + previewPayload [WARDEN-508] by @yatfa-com[bot] in #228
- [#WARDEN-509] feat(observer): retire alert_changes tool; defer attention to AttentionBadge by @yatfa-com[bot] in #229
- [#WARDEN-498] feat(git): searchable commit history — grep param on /api/git-log + per-agent search box by @yatfa-com[bot] in #224
- [#WARDEN-500] fix(health): persist Fleet Health per-host collapse state across reloads by @yatfa-com[bot] in #225
- [#WARDEN-510] feat(session-view): paginate transcript viewer backwards via byte-offset cursor by @yatfa-com[bot] in #230
- [#WARDEN-505] feat(observer): themed right-click menu for DirectiveCard (Copy directive · Copy agent) by @yatfa-com[bot] in #226
- [#WARDEN-511] feat(git-status): surface in-progress op detail in the per-agent git badge by @yatfa-com[bot] in #231
- [#WARDEN-512] refactor(observer): retire summarize_chats LLM tool by @yatfa-com[bot] in #232
- [#WARDEN-514] feat(sidebar): state-aware watched-chat row indicator by @yatfa-com[bot] in #234
- docs(telemetry): correct README/PRODUCT "no telemetry" denial to match shipped off-by-default UI [WARDEN-516] by @yatfa-com[bot] in #235
- [#WARDEN-518] feat(directives): themed right-click context menu on DirectiveHistory entries by @yatfa-com[bot] in #236
Full Changelog: v0.1.16...v0.1.17
v0.1.15
What's Changed
- [#WARDEN-392] feat(activity-timeline): themed right-click menu on event rows by @yatfa-com[bot] in #174
- [#WARDEN-394] feat(dashboard): wire pollIntervalMs into web refresh cadence by @yatfa-com[bot] in #175
- [#WARDEN-396] feat(collections): themed right-click context menu on collection cards (Open · Rename · Copy · Delete) by @yatfa-com[bot] in #176
- [#WARDEN-398] feat(git): aggregated range-diff modal for unpushed/incoming sets by @yatfa-com[bot] in #177
- [#WARDEN-400] fix(notify): gate ungated success/error toasts behind their Settings toggles by @yatfa-com[bot] in #178
- [#WARDEN-402] feat(notify): crafted in-app sonner attention ping for the at-Warden visible case by @yatfa-com[bot] in #179
Full Changelog: v0.1.14...v0.1.15
v0.1.14
What's Changed
- [#WARDEN-364] feat(alerts): route desktop alerts by severity + per-agent mute by @yatfa-com[bot] in #159
- [#WARDEN-367] feat(sessions): surface per-session LLM token usage + fleet summary by @yatfa-com[bot] in #161
- feat(git): distinguish staged vs unstaged changes + read-only staged diff [WARDEN-369] by @yatfa-com[bot] in #162
- feat(health): multi-select + batch-kill in Fleet Health [WARDEN-371] by @yatfa-com[bot] in #163
- [#WARDEN-374] fix(health): enforce threshold ordering so inverted pair can't lie by @yatfa-com[bot] in #165
- [#WARDEN-376] feat(companion): capture lastActivity host-side for discover read-parity by @yatfa-com[bot] in #166
- [#WARDEN-378] feat(notify): per-chat watch ping — targeted reason-specific notification by @yatfa-com[bot] in #167
- [#WARDEN-380] feat(pane): themed right-click menu (Copy/Paste/Clear/Search) on xterm surface by @yatfa-com[bot] in #168
- [#WARDEN-382] feat(companion): serve has-session liveness probe over the companion RPC channel by @yatfa-com[bot] in #169
- [#WARDEN-388] feat(git): surface full commit message body when expanding a commit by @yatfa-com[bot] in #172
- [#WARDEN-384] feat(attention): promote one ranked "you're needed here" callout to top of badge popover by @yatfa-com[bot] in #170
- feat(companion): serve spawn/kill lifecycle RPCs over the companion channel (WARDEN-386) by @yatfa-com[bot] in #171
- [#WARDEN-390] fix(agentState): recency-bound pane state so recovered errors/prompts stop reading "needs attention" by @yatfa-com[bot] in #173
Full Changelog: v0.1.13...v0.1.14