What's Changed
- Feat: Bundle PowerShell 7 in installers and resolve dynamically by @rorychatt in #1038
- feat: show all jobs in plan details tab, including cleared ones by @nielsbosma in #1039
- Resolve ImportIssuesDialog reopening after repository selection by @ArtemLazarchuk in #897
- feat: add HTTP-based IPC with master election for CLI-server communication by @nielsbosma in #1052
- docs: add job commands and promptware usage note to AgentPrompt.md by @nielsbosma in #1053
- Fix PowerShell onboarding detection and surface detailed error logs by @rorychatt in #1051
- Resolve macOS standalone app PATH resolution issues by @rorychatt in #1055
- feat: add GetRepoDirtyState to IGitService and refactor GitService by @nielsbosma in #1056
- Refactor macOS login shell PATH loading to be deadlock-free and input-safe by @rorychatt in #1057
- feat: add job-level WaitForJobs blocking with cascade failure by @nielsbosma in #1058
- feat: add SyncRepo promptware for resolving dirty repo state by @nielsbosma in #1059
- feat: add preflight dirty-repo check before Execute and Create Plan by @nielsbosma in #1061
- refactor: remove syncStrategy from codebase by @nielsbosma in #1062
- fix: resolve baseBranch placeholder in dirty repo dialog by @nielsbosma in #1063
- Defensive parsing for Copilot usage metrics to prevent crash by @rorychatt in #1044
- [00085] Add agent-instructions CLI command by @nielsbosma in #1065
- fix: filter out SystemEvent/UnknownEvent from AgentOutputView by @nielsbosma in #1067
- feat: set TENDRIL_NOT_MASTER env var in Run.ps1 by @nielsbosma in #1068
- feat: add CreatingPrCount to ProcessView widget by @nielsbosma in #1069
- [00092] Change Execute Shortcut To X by @nielsbosma in #1070
- [00093] Auto-select first plan when opening Icebox by @nielsbosma in #1071
- [00089] Fix JobDebug 'not found' for evicted jobs by @nielsbosma in #1072
- [00088] Add solve merge conflicts option to Create PR dialog by @nielsbosma in #1073
- [00087] GlobalLastSelectedProjectInCreatePlanDialog by @nielsbosma in #1074
- Fix Framework review actions with empty commands by @nielsbosma in #1075
- [00091] Add missing Web API and MCP endpoints for CLI parity by @nielsbosma in #1076
- [00094] ShowCompletePlanButtonWhenNoCommits by @nielsbosma in #1077
- [00099] Add image capability indicator to models CLI table by @nielsbosma in #1078
- [00096] Add Manual Testing Section to ExecutePlan and RetryPlan Summaries by @nielsbosma in #1079
- Fix plan.yaml lost-write race condition on recommendation accept by @nielsbosma in #1080
- [00098] Add Revert Revision Button to Plan Details Tab by @nielsbosma in #1081
- [00101] Fix tendril doctor crash on unescaped Spectre.Console markup by @nielsbosma in #1082
- [00102] Add periodic re-evaluation of blocked jobs by @nielsbosma in #1083
- Fix race condition in WaitForJobs unblocking and duplicate job detection by @nielsbosma in #1090
- [00103] Add Ivy Tendril attribution footer to PR body text by @nielsbosma in #1092
- [00107] Escape dynamic values in all AnsiConsole.MarkupLine calls by @nielsbosma in #1093
- [00106] Add CodeReview Verification to Tendril Project by @nielsbosma in #1094
- [00108] Add Plan Id and Folder with Copy Buttons to Details Tab by @nielsbosma in #1096
- [00112] Optimistic close for Sync Repos dialog by @nielsbosma in #1097
- [00111] Show repo path as Prompt/Title for SyncRepo jobs by @nielsbosma in #1098
- Fix job status UI not updating and add descriptive CLI output by @nielsbosma in #1099
- [00105] Add Heatmap Widget To Wallpaper App Showing Completed PRs by @nielsbosma in #1104
- [00090] Navigate plan cell click to Drafts or Review apps based on plan state by @nielsbosma in #1105
- [00419] Add left padding to Markdown stack layouts in Drafts and Review apps by @dcrjodle in #1106
- Fix job cost calculation: run for all statuses, use inline ResultEvent data by @nielsbosma in #1107
- [ProjectAgentStepView]: reduce right padding on project setup agent output by @ArtemLazarchuk in #1091
- Consolidate CLI output: single-channel logging, fix HTTPS status reporting by @nielsbosma in #1108
- [00120] Remove npm package references from documentation by @nielsbosma in #1109
- Move skills from .claude/skills to .agents/skills by @nielsbosma in #1110
- Move skills from .agents/skills to .claude/skills by @nielsbosma in #1111
- [00129] Add copy to clipboard buttons for Plan Id and Job Id in Job Debug sheet by @nielsbosma in #1112
- [00125] Add Working Directory And Arguments To Job Debug View by @nielsbosma in #1113
- [00131] Change DiffView from Split to Unified mode by @nielsbosma in #1114
- Fix IvyFrameworkVerification leaving zombie processes after test runs by @nielsbosma in #1115
- [00128] Add Prompt navigation arg to AgentApp by @nielsbosma in #1117
- [00115] AssignSyncRepoJobToSamePlanAsParentJob by @nielsbosma in #1118
- [00132] Remove 0m prefix from timer display when under one minute by @nielsbosma in #1119
- [00127] Add AGENTS.md Context Check to CreatePlan and ExecutePlan by @nielsbosma in #1120
- [00123] Fix Job Debug modal content overflow by @nielsbosma in #1121
- Normalize plan references in dependsOn/relatedPlans CLI commands by @nielsbosma in #1126
- Fix Synchronize button not refreshing commits table by @nielsbosma in #1128
- Standardize CLI error handling with unified exception propagation (#1035) by @nielsbosma in #1130
- Deduplicate SyncRepo jobs for the same repository by @nielsbosma in #1131
- Add PlanMarkdownView widget with pinned fixed-content slot by @dcrjodle in #1129
- [00104] Add Hide Formatting Changes Checkbox to Changes Tab by @nielsbosma in #1116
- Make project required on plan create and add CLI input validation by @nielsbosma in #1133
- Replace BadgeVariant with Colors for plan levels by @nielsbosma in #1136
- Preserve agent status message when CreatePlan fails to produce a plan by @nielsbosma in #1137
- Rename widgets and restructure frontend into per-widget directories by @nielsbosma in #1138
- Add markdown text annotations to DraftMarkdown widget and restructure samples by @nielsbosma in #1139
- Fix app ID collision by changing samples namespace to WidgetSamples by @nielsbosma in #1140
- Add environmentVariables support to coding agent config by @nielsbosma in #1141
- Restructure widgets, add mermaid/graphviz/callout rendering to DraftMarkdown by @nielsbosma in #1142
- fix/opencode model display name by @nielsbosma in #1144
- chore/normalize line endings by @nielsbosma in #1145
- fix/draft-markdown spacing and fixed-slot padding by @dcrjodle in #1152
- Add plan annotations to DraftsApp with annotation-driven plan updates by @nielsbosma in #1153
- [00496] Fix error box styling in ProjectInputStepView by @dcrjodle in #1165
- [00485] Make TendrilProcessView mobile responsive by @dcrjodle in #1166
- [00498] Left-align loading indicator in project agent step view by @dcrjodle in #1167
- [00491] Use destructive button in Delete Project confirmation dialog by @dcrjodle in #1169
- [00495] Fix duplicate project error when navigating back in Add Project dialog by @dcrjodle in #1168
- [00494] Improve Add Project Dialog Layout by @dcrjodle in #1164
- [00497] Remove Scrollbar From Plan Content Area by @dcrjodle in #1170
- [00486] Add spacing between elements in all Edit Project dialog tabs by @dcrjodle in #1171
- [00499] Increase touch target size for TendrilProcessViewer buttons on mobile by @dcrjodle in #1173
- [00500] Extract RemoveCommittedProject Helper In AddProjectDialog by @dcrjodle in #1174
- [00502] Remove 'No Verifications Configured' Text From Review Harness by @dcrjodle in #1175
- [00503] Reduce font size of section titles in Review Harness dialog by @dcrjodle in #1176
- [00504] Add separator below each section in Review Harness by @dcrjodle in #1177
- [00507] Replace CSS Scrollbar Hack With HideScrollbar API by @dcrjodle in #1182
- Make Tendril responsive for mobile and tablet by @dcrjodle in #1143
- fix/restore plan annotations header by @nielsbosma in #1185
- fix: keep navigation appArgs out of the URL in the Tendril app shell by @nielsbosma in #1189
- feat: pass prompt as CLI arg and grant FullAuto permissions in AgentApp by @nielsbosma in #1190
- fix: type AgentApp prompt with Enter, full-bypass permissions, job-based plan creation by @nielsbosma in #1192
- fix: submit AgentApp prompt via bracketed paste; reorganize Apps into folders by @nielsbosma in #1193
- fix: CreatePlan prompt phrasing/trim and Agent prompt submission by @nielsbosma in #1194
- [00516] Match content header height to sidebar search widget height by @dcrjodle in #1204
- [00515] ScaleDownTendrilDockIcon by @dcrjodle in #1205
- feat: implement ContentInputView external widget with voice input and integrate in CreatePlanDialog by @rorychatt in #892
- [00514] Hide empty progress bar in Jobs data table by @dcrjodle in #1206
- fix(widget): prevent ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY in non-interactive builds and pin versions by @rorychatt in #1211
- [00512] Fix process viewer arrows stretched on mobile by @dcrjodle in #1207
- [00001] HideHeatmapWhenNoPrs by @nielsbosma in #1220
- [00520] Fix Git tab header row to use full width for accordion positioning by @dcrjodle in #1221
- [00521] Adjust sheet widths for responsive design by @dcrjodle in #1222
- [00522] Add confirmation dialog for delete job action by @dcrjodle in #1223
- [00523] Fix issue link button wrapping to new line on desktop by @dcrjodle in #1224
- Reapply process-viewer arrow fix (reverted after #1207) by @dcrjodle in #1225
- [00524] Plan widget fixed slot not mobile responsive by @dcrjodle in #1228
- [00525] Fix Help app missing horizontal padding on mobile by @dcrjodle in #1229
- [00007] HideVerifiedBadgeInReviewSidebar by @nielsbosma in #1231
- [00008] LinkListViewAndPlanNavigation by @nielsbosma in #1232
- [00009] FixReviewActionsDescriptionCopy by @nielsbosma in #1233
- [00011] FormatDependsOnBadgeIdWithHashPrefix by @nielsbosma in #1234
- [00010] ShowFileDetailsInDirtyRepoDialog by @nielsbosma in #1235
- [00519] Add drag-and-drop ordering and add-verification button to project edit dialog by @dcrjodle in #1210
- Trim CLI-logging subsystem and reorganize Jobs sheets by @nielsbosma in #1238
- Pluralize count-based status messages in GitService and JobService by @nielsbosma in #1239
- [00518] Fix action bar wrap regression and implement progressive button collapse by @dcrjodle in #1208
- [00527] Fix title taking full width in Drafts ContentView by @dcrjodle in #1240
- [00526] Fix content header height in Icebox and Recommendations apps by @dcrjodle in #1241
- [00529] Remove Fixed Height From ProjectRepoPickerView StackLayout by @dcrjodle in #1243
- [00530] Remove non-existent DialogsApp reference from Debug menu by @dcrjodle in #1244
- security: update dependencies by @rorychatt in #1245
- Render link list with Text.Rich builder instead of ghost buttons by @nielsbosma in #1246
- [00531] Add mobile right padding to Review and Drafts content areas by @dcrjodle in #1247
- Add Force Start action for blocked jobs by @nielsbosma in #1248
- [00532] Fix verification order not persisted in Edit Project dialog by @dcrjodle in #1249
- Require human-readable plan titles in CreatePlan/SplitPlan promptware by @nielsbosma in #1250
- [00533] Remove RemoveParentPadding From AppShell Tabs by @dcrjodle in #1265
- Include sanitized config.yaml in bug reports by @nielsbosma in #1267
- Verifications: plan.yaml as single source of truth + UI card + status enum by @nielsbosma in #1269
- Fix verification reorder not persisting in Edit Project dialog by @dcrjodle in #1270
- [00535] Review app spacing should match DraftApp by @dcrjodle in #1271
- Fix intermittent Create PR failure and misleading error (#1263) by @nielsbosma in #1273
- Detect repo default branch instead of assuming "main" by @nielsbosma in #1274
- Allow rerunning a job with feedback for the agent (#1254) by @nielsbosma in #1275
- automate dependency installation and improve package manager / tool detection in review actions by @rorychatt in #1277
- Fix #1257: new drafts not refreshing + harden flaky timing tests by @nielsbosma in #1282
- Upgrade SQLitePCLRaw.lib.e_sqlite3 to 3.50.3 to fix high severity vulnerability by @rorychatt in #1281
- Send git commit SHA as commitId in bug reports by @nielsbosma in #1287
- Fix #1272: make PR merge depend solely on PrMerge, not prRule by @nielsbosma in #1288
- Fix cancelled job unexpectedly transitioning to Review (#1259) by @nielsbosma in #1289
- Add stale-worktree reaper to bound worktree disk usage (#1183) by @nielsbosma in #1293
- Collapse review file tree into a dropdown on mobile by @dcrjodle in #1294
- Rename plan states: Building -> Creating, ReadyForReview -> Review by @nielsbosma in #1298
- Add schemaVersion to plan.yaml and a per-file plan migration framework by @nielsbosma in #1305
- [00068] Fix Local File URL Parsing for Unix Paths in DraftMarkdown by @rorychatt in #1312
- Fix tendril plan create dash-value parsing (#1297/#1303) by @nielsbosma in #1316
- [00560] Job Debug Sheet Hide Empty Permission Denials by @dcrjodle in #1317
- [00558] Fix Job Debug Sheet Buttons Scrolling and Separator Width by @dcrjodle in #1319
- [00557] Align scrollbar to right edge on onboarding setup page by @dcrjodle in #1320
- [00555] Use CopyToClipboard builder for plan details copy buttons by @dcrjodle in #1321
- [00551] VerificationsCardViewReduceCheckboxGapAndAddTitleSpacing by @dcrjodle in #1323
- [00552] Remove bottom spacer in ProjectAgentStepView when used in dialog by @dcrjodle in #1324
- [00561] Job Debug Sheet Full Width Detail Content by @dcrjodle in #1325
- [00559] Job Debug Sheet Copy Buttons Lack Clicked State by @dcrjodle in #1326
- [00562] Add Backspace shortcut to Discard button in Review app by @dcrjodle in #1327
- [00563] Fix Sticky Verifications Panel Displacing Plan Content On Tablets by @dcrjodle in #1328
- [00564] Fix Drafts Details tab left padding not rendering by @dcrjodle in #1329
- Add SQLite busy_timeout via shared connection factory (#1291) by @nielsbosma in #1330
- Clarify Delete Branch option in Create PR dialog by @nielsbosma in #1331
- [00554] Add timeline under status dots and align IN/OUT to tool name by @dcrjodle in #1318
- Rename PR dialog "Assignee" field to "Reviewer" (#1311) by @nielsbosma in #1334
- [00565] Add clickable image viewer to DraftMarkdown by @dcrjodle in #1332
- Remove timeline lines from agent output stream, add scrollbar padding by @dcrjodle in #1335
- Always render agent output stream so loading indicator doesn't shift by @dcrjodle in #1336
- [00566] RemoveVerificationsCardBorderAndSimplifyLayout by @dcrjodle in #1337
- [00567] Hide Empty Rows In Job Debug Sheet by @dcrjodle in #1338
- [00568] Fix Job Debug Sheet Copy Buttons Not Working by @dcrjodle in #1339
- Fix tunnel Deactivate requiring two clicks; optimistic UI by @nielsbosma in #1341
- Make worktree cleanup timings constants instead of config by @nielsbosma in #1342
- [00570] Fix PathDropDown Width in JobDebugSheet by @dcrjodle in #1343
- Tunnel: connecting state, wallpaper QR, and Open in Browser by @nielsbosma in #1344
- Tunnel: kill orphaned cloudflared, fix reactivate race and wallpaper menu by @nielsbosma in #1345
- Tunnel: only report Connected when actually routable by @nielsbosma in #1346
- security: add dompurify override to widgets frontend by @rorychatt in #1352
- Upgrade Vite+ to v0.2.1 by @rorychatt in #1354
- [00571] Fix Plan Review Header Title Overflow by @dcrjodle in #1357
- [00572] Add bottom padding to onboarding content by @dcrjodle in #1358
- [00573] Filter onboarding agent list by registered agents by @dcrjodle in #1360
- [00575] Show toast when voice transcription returns empty result by @dcrjodle in #1361
- Fix duplicate Default option in coding agent profile dropdowns by @nielsbosma in #1364
- Wrap app content headers onto a second row on mobile by @dcrjodle in #1362
- Expose tendril CLI to AgentApp PTY agent via shim by @nielsbosma in #1365
- Add Dialogs entry to Settings > Debug submenu by @nielsbosma in #1370
- [00587] Add word wrap to CodeBlock in Full Prompt sheet by @dcrjodle in #1375
- Polish DirtyRepoDialog and add extensible dialog test harness by @nielsbosma in #1376
- Chore: Update Ivy packages to 1.2.69 by @rorychatt in #1379
- Hide the Changes tab when there are no file changes by @nielsbosma in #1380
- [00589] Increase dropdown arrow hit box on ContentInputView split button by @dcrjodle in #1381
- [00588] Fix Verifications Card To Use Card Instead Of Box by @dcrjodle in #1382
- [00585] Make File Tree Column Equal Width In Review Changes Tab by @dcrjodle in #1383
- [00584] Move ContentInputView to Ivy.Tendril.Widgets and rename to ContentInput by @dcrjodle in #1384
- Polish DetailsTab: capitalize Profile, hide empty Related Plans / Depends On by @nielsbosma in #1385
- Chore: Increase publish-desktop workflow timeout by @rorychatt in #1386
- New Plan: bottom Sheet on mobile instead of Dialog by @dcrjodle in #1366
- Update Ivy to 1.2.70 by @rorychatt in #1388
- [00595] Fix inline code rendering in bullet points by @dcrjodle in #1389
- fix(verifications): shrink Status and Name columns to content (#1378) by @dcrjodle in #1390
- Guard plans against executing/merging in repos outside their project (#1340) by @nielsbosma in #1391
- Rename UpdateProject promptware to SetupProject by @nielsbosma in #1392
- Add stackHash property to project config + 'project set' CLI by @nielsbosma in #1393
- Add project-analyzer command + stackHash telemetry; SetupProject integration by @nielsbosma in #1394
- Assign current user as assignee in CreatePr by @nielsbosma in #1395
- Update the original PR when a plan is based on a PR (#1359) by @nielsbosma in #1396
Full Changelog: v1.0.51...v1.1.1