Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,17 @@ jobs:
with:
dotnet-version: 10.0.x

- name: Read curated release notes
id: notes
shell: pwsh
run: |
$version = $env:GITHUB_REF_NAME -replace '^v', ''
$notesPath = "docs/release-notes-$version.md"
if (!(Test-Path -LiteralPath $notesPath)) { throw "Missing release notes: $notesPath" }
$title = (Get-Content -LiteralPath $notesPath -TotalCount 1) -replace '^#\s+', ''
"path=$notesPath" >> $env:GITHUB_OUTPUT
"title=$title" >> $env:GITHUB_OUTPUT

- name: Publish (self-contained win-x64)
run: dotnet publish src/MandoCode.Desktop/MandoCode.Desktop.csproj -c Release -r win-x64 --self-contained -o publish

Expand All @@ -36,4 +47,6 @@ jobs:
uses: softprops/action-gh-release@v2
with:
files: MandoCode.Desktop-${{ github.ref_name }}-win-x64.zip
generate_release_notes: true
name: ${{ steps.notes.outputs.title }}
body_path: ${{ steps.notes.outputs.path }}
make_latest: true
53 changes: 42 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,38 @@ submodule.

## [Unreleased]

A new engine underneath, and a planner users can actually steer. Desktop moves onto engine
generation 0.15 and Microsoft's Agent Framework, then uses that foundation to make plans durable:
review the work before it starts, edit a step, recover after a restart, and change course when a
failure proves the remaining plan wrong. The workflow planner is now the standard execution path
for every approved plan. Desktop's version follows the engine generation, so it moves 0.14.1 →
0.15.0.
## [0.15.0] — 2026-09-10

**A new AI foundation, plans you can resume, and more ways to work alongside your agents.**
This release moves MandoCode Desktop from Semantic Kernel to **Microsoft Agent Framework (MAF)**.
MAF now coordinates the engine's conversations, tools, and plan execution. Desktop's notes
assistant, snapshot summaries, and skill author also move off Semantic Kernel, using
Microsoft.Extensions.AI. Your existing models, providers, skills, MCP servers, and approval
controls continue to work with the new foundation.

### Release highlights
- **Review a plan, change it, and pick it up later.** Approved plans save their progress. Edit
steps before work starts, resume unfinished work after restarting, and approve a revised plan
when the original approach fails. Completed steps stay completed.
- **A built-in browser—for you and your agents.** Open websites in browser tabs, enter URLs, and use
familiar navigation controls. “Explain this page” refers to the tab you were viewing when you
sent the message; agent actions target explicit tabs, including forms inside embedded frames.
- **See the work as it happens.** A read-only terminal tab shows each agent's commands and live
output. Preview project files, edit text, open PDFs, and inspect local development sites without
leaving Desktop. The command view displays captured output; it is not a persistent agent shell.
- **Coordinate multiple agents.** Mention another open agent with `@` to ask a question or hand
off work. Named split panes and drag-and-drop make it easier to arrange their conversations.
- **Make each agent your own.** Save settings per agent, keep global defaults for new agents,
and pin frequently used models. Nine new themes, themed backgrounds, and readability fixes
expand the appearance options.
- **Spend less time recovering your place.** Model choices survive restarts, changing folders
keeps the conversation, repeated restore notices are removed, and deleting notes, snapshots,
or history no longer makes the remaining list slide back into place.

**Included engine:** [MandoCode CLI v0.15.0](https://github.com/DevMando/MandoCode/releases/tag/v0.15.0),
pinned to release commit `e67578251c5716a6ede192a2e3e82e7dfda7c8f0`.
Desktop advances from 0.14.1 to 0.15.0 to match the engine generation. The Windows download
remains self-contained; users do not need to install .NET separately.

### Added
- **Split view tells you which agent is which, and you rearrange it by dragging.** Each pane now
Expand Down Expand Up @@ -101,7 +127,7 @@ for every approved plan. Desktop's version follows the engine generation, so it
and can inspect, fill, select, scroll, wait, and read back fields using explicit tab and
frame IDs. Navigated or removed frame targets fail without falling back to the parent.
Inspection distinguishes uninspected frame content from missing form fields.
- **Shared browser tabs.** The browser button beside Snapshot opens the existing pane
- **A built-in browser with shared tabs.** The browser button beside Snapshot opens the existing pane
with tabs, a new-tab button, an address bar, and back/forward/reload controls. User
websites and agent previews coexist. Agent actions require explicit tab IDs; references
to “this page” retain the tab viewed when the message was sent, even after switching tabs.
Expand Down Expand Up @@ -216,7 +242,7 @@ for every approved plan. Desktop's version follows the engine generation, so it
use the same Microsoft.Extensions.AI client the engine standardized on. Same prompts, same
temperatures, same behavior — but Desktop no longer depends on a framework the engine has
removed. Snapshot recaps and note replies are the surfaces to sanity-check.
- **Engine safety pin: `d50bfb7`** (engine 0.15.0). This is the engine `main` that ships with this
- **Released engine pin: `e675782`** (tag `v0.15.0`). This is the exact CLI release that ships with this
release. It includes workflow planning as the default plan runner, manual conversation
compaction, automatic planning based on task shape, the large-root context guard verified
through Desktop against a real `@directory` request, image content counted toward the context
Expand All @@ -233,8 +259,8 @@ for every approved plan. Desktop's version follows the engine generation, so it
document icon whether the pane held a file or a live web page.
- **Model status is now one line instead of several cards.** The active model, its image
capability, and whether it runs in the cloud appear together as `model · active · text-only ·
cloud`, replacing the separate capability notice and status pill. The cloud subscription caveat
appears once per session rather than on every model switch.
cloud`, replacing the separate capability notice and status pill. Routine model switches no
longer show the cloud subscription caveat; subscription failures still receive an explanation.
- **Screenshots stay honest when the window is not on screen.** Capture reads the window's
rendered surface, so it depends on the app having one. A minimized window is now reported as
needing to be restored, within a bounded wait, rather than consuming the whole operation
Expand All @@ -246,6 +272,11 @@ for every approved plan. Desktop's version follows the engine generation, so it
a sticky header, or the suggestion list a field opens when it is filled.

### Fixed
- **Leaving split view restores the agent tabs.** Agents hidden from the tab strip while visible
in split panes return when you exit the split, so you can switch between them normally again.
- **Restoring a conversation no longer repeats context-window notices.** Old sizing notices are
omitted from restored history, and initialization does not announce intermediate model settings.
The restored conversation and final active model remain visible.
- **Switching to a cloud model no longer repeats the subscription notice.** Picking a cloud model
announced that cloud models need an ollama.com subscription. It was meant to say so once, but the
"already said it" memory belonged to a single agent rather than the app, so every agent you
Expand Down Expand Up @@ -321,7 +352,7 @@ for every approved plan. Desktop's version follows the engine generation, so it
folder changes from here on benefit — conversations already cleared cannot be recovered.

### Test coverage
330 Desktop tests pass. New host-level coverage exercises deferred plan execution, instruction
Host-level regression coverage exercises deferred plan execution, instruction
editing, dependent-step revision, checkpoint cards, Resume/Discard actions, semantic step outcomes,
and truthful completion status. Browser coverage adds explicit tab targeting, frame identity, and
plan-card review content. Settings coverage pins the rules a saved agent depends on: that a stored
Expand Down
2 changes: 1 addition & 1 deletion MandoCode
Submodule MandoCode updated 1 files
+110 −76 docs/CHANGELOG.md
4 changes: 3 additions & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ must be pinned at a **released** engine commit (one with a tag).
- [ ] Bump `<Version>` in `src/MandoCode.Desktop/MandoCode.Desktop.csproj`.
- [ ] Roll `CHANGELOG.md`: retitle `[Unreleased]` to `[X.Y.Z] — YYYY-MM-DD` with a short
narrative opener. Entries are written in plain language with the "why" included.
- [ ] Write `docs/release-notes-X.Y.Z.md` with a `# vX.Y.Z — <tagline>` first line and
an Install section. The pipeline uses this file for the release title and body.
- [ ] PR the above, merge to `main`. (CI `build` check is required by the branch ruleset.)

## 2. Fresh-machine test (for anything beyond string changes)
Expand All @@ -35,7 +37,7 @@ tags are immutable (repo ruleset) — a bad release means a new patch version, n

## 4. Curate the release

- Replace the auto-generated notes: title `vX.Y.Z — <tagline>`, body in plain language with
- Review the published curated notes: title `vX.Y.Z — <tagline>`, body in plain language with
an **Install** section (download zip → extract everything → run the exe; self-contained,
WebView2 is the only system dependency). Mark as latest.
- Verify `https://api.github.com/repos/DevMando/MandoCode.Desktop/releases/latest` serves the
Expand Down
68 changes: 68 additions & 0 deletions docs/release-notes-0.15.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# v0.15.0 — A new AI foundation and a more connected workspace

MandoCode Desktop now runs on **Microsoft Agent Framework (MAF)**, replacing Semantic Kernel
in the engine. The migration brings conversations, tools, and approved plans onto a shared
agent and workflow foundation. Desktop's notes assistant, snapshot summaries, and skill author
also move off Semantic Kernel. Your existing models, providers, skills, MCP servers, and
approval controls continue to work.

## Plans you can steer and resume

Review and edit steps before execution, resume unfinished plans after restarting, and choose
whether to retry, skip, cancel, or approve a revised approach when work fails. Completed steps
stay settled. Use `/plan <goal>` when you want a plan explicitly; automatic planning now looks
at the shape of the task rather than just the length of your message. Steps carry acceptance
criteria and plans include final testing, replacing the separate model verifier for every step.

## A built-in browser—for you and your agents

Browse websites directly inside MandoCode Desktop. Open tabs, enter URLs, and navigate with
back, forward, and reload controls. Ask the agent to explain the page you are viewing or help
fill out a form, including forms embedded in another page. Your request stays tied to that tab,
even if you switch tabs while the agent works.

## Watch commands run and preview the results

- **Live command output:** each agent gets a read-only output tab showing commands, working
folders, output, and completion status. A terminal indicator points you to unseen activity.
This displays captured command output; it does not introduce a persistent agent shell.
- **File and app previews:** inspect files beside the conversation, edit text with save
protection, read PDFs, and preview local development sites. Vision-capable models can receive
screenshots; text-only models are told when they cannot inspect an image.
## Let your agents work together

Mention another open agent with `@` to ask questions or hand off work. You can keep talking
with your agent while the other works, ask for progress, and receive the result when it finishes.
Named split panes and drag-and-drop help you arrange their conversations.

## A workspace that remembers your preferences

Save settings independently for each agent while keeping global defaults for new ones. Pin
frequently used models, organize Skills and MCP servers with tags and filtered bulk actions,
and compact a long conversation with `/compact`. Completed work folds into expandable activity
summaries. Nine new themes, themed backgrounds, and the Midnight Ramen default background join
improvements to text and status-card readability.

## Fixes you will notice

- Deleting notes, snapshots, or history keeps the rest of the list in place.
- Restored conversations retain their model choices without repeated context-window notices.
- Changing an agent's project folder keeps its conversation.
- Exiting split view brings the agent tabs back.
- Routine cloud model switches no longer repeat subscription notices; failures still explain
when a subscription is required.
- Token totals use provider-reported usage, and plans with skipped or failed steps report
partial completion instead of an unqualified success.

See the [full changelog](https://github.com/DevMando/MandoCode.Desktop/blob/v0.15.0/CHANGELOG.md)
for the complete list. This release pins the engine to
[MandoCode CLI v0.15.0](https://github.com/DevMando/MandoCode/releases/tag/v0.15.0),
commit `e67578251c5716a6ede192a2e3e82e7dfda7c8f0`.

## Install

Download **MandoCode.Desktop-v0.15.0-win-x64.zip** from this release, extract **all** its contents
into a folder, and run **MandoCode.Desktop.exe**. The Windows x64 package includes .NET;
Microsoft Edge WebView2 Runtime is the only separate system runtime dependency. Model access
still requires a configured provider, such as Ollama; Ollama cloud models require an active
cloud subscription.
Loading