Docs: roll the changelog for the 0.15.0 release - #97
Merged
Merged
Conversation
Retitles [Unreleased] to [0.15.0] and restructures it to the house style RELEASING.md describes for a released version: narrative opener, plain-language summary, then Fixed/Changed/Added and a Test coverage note. Leads with the Semantic Kernel to Microsoft Agent Framework migration. It was sitting in an Internal section as a single bullet beneath everything it caused, which read as though durable plans arrived on their own and the framework swap was an implementation detail. It is the largest change to the engine's internals since it was written and the thing every other entry in this release rests on, so the opener states it first and the plain-language summary leads with what it means for someone upgrading: nothing to adopt, nothing to reconfigure. The Internal section is dissolved — no released section has ever used one. The migration moves to the top of Changed; the OllamaSharp source-generator exclusion joins the dependency entries it belongs with. Sections reordered to Fixed/Changed/Added and Validation renamed to Test coverage, both matching every released section in this file. No entry was dropped: 32 before, 33 after, the extra being the migration bullet added to the plain-language summary. Version was already 0.15.0 in the csproj, bumped with the engine pin.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rolls
docs/CHANGELOG.mdfor the 0.15.0 release: retitles[Unreleased]to[0.15.0] - 2026-09-10,restructures it into the house style
RELEASING.mddescribes, leads with the Semantic Kernel →Microsoft Agent Framework migration, and fills in the CLI's own surface — which the notes barely
covered.
This is step 1 of
RELEASING.md. The<Version>bump it also calls for was already done on theengine-pin branch, so this PR is documentation only.
Why this matters
The migration was buried. It sat under Internal as a single bullet, below everything it
caused. Read top to bottom, the release looked like durable plans had simply arrived, with a
framework swap mentioned afterwards as an implementation detail. It is the opposite: replacing the
orchestration layer is the largest change to the internals since MandoCode was written, and every
headline capability here — checkpointed plans, resume after restart, honest progress — is a property
of the new runtime rather than bookkeeping added to the old chat loop. Release notes are adapted
from this section, so that framing would have shipped.
The other half is reassurance. Someone reading "we replaced the AI engine" needs to know in the
first paragraph that their models, providers, tools, skills, MCP servers, and approval prompts are
untouched and there is nothing to adopt.
The command line was under-described. The notes explained the engine well and what a user types
barely. A CLI reader could not answer "what can I type now?"
What changed
Framing
gated by a second model call, which halves the model calls in a plan run.
meant to be invisible.
CLI coverage — found by diffing the command surface, config keys and CLI flags against
v0.14.3rather than from memory
New & changed slash commandstable, matching the one this file used at 0.11.0, so thewhole surface is scannable in one place.
/compactis now named. It was described only as a capability — "conversations can becompacted on demand" — never as a command. It also now says how it differs from
/clear, sincethe two are easy to confuse and one of them is destructive.
planner/plannerEnginesettings./configrefuses them now, because theworkflow planner is the only execution path. Anyone who set them would have met that with no
warning in the notes.
release it was cut from.
Structure
source-generator exclusion joins the dependency entries it belongs with.
matching every released section here and what
RELEASING.mdspecifies.Scope and risk
Low. One markdown file under
docs/. Nothing compiles from it.The risk is editorial: this text becomes the GitHub release notes, so errors propagate. Claims worth
checking against your own understanding:
second model call per step.
Say the word and I will soften it.
One thing I deliberately did not touch: several pre-existing bullets in the plain-language
summary are third person ("The user stays in charge…") while the new ones use "you". Consistent
second person would read better in a section aimed at non-engineering readers, but rewriting entries
I did not author felt like scope to take openly rather than silently. Happy to follow up.
Verification
dotnet test tests/MandoCode.Tests— 733 passed, 0 failed on bothnet8.0andnet10.0,re-run on this branch so the Test coverage figure is measured, not carried over.
three additions are the retired settings, the banner label, and the plain-language lead bullet;
the compaction and migration entries were reworded in place.
v0.14.3: four commands added (/plan,/plan-resume,/plan-discard,/compact), none removed; no CLI flags changed; two config keys added, both asrefusals. All four commands now appear in the notes.
plannerare notan error — config reads do not set
UnmappedMemberHandling, so unknown keys are ignored. Alsoconfirmed
strictPlanVerificationis gone fromsrc/entirely, not merely undocumented.[Unreleased]heading remains, the heading matches the## [X.Y.Z] - YYYY-MM-DDformat of every prior release, and
<Version>is already0.15.0.Not covered: whether each pre-existing entry still describes its feature accurately — those were
verified when written (see #96) and are unchanged here. This PR moved, reframed, and added text; it
did not re-audit what was already correct.
What happens after this merges
Remaining
RELEASING.mdsteps, none of which I can run:dotnet pack, then install the exact nupkg to a temp tool-path and confirm--doctorreports0.15.0 on a .NET 10 runtime (8.x there means the net10.0 asset missed the package)
v0.15.0on the merge commit and create the GitHub release, body adapted from theplain-language section
dotnet nuget push— the release is not real until this happens; GitHub does not distribute thepackage