Skip to content

Docs: roll the changelog for the 0.15.0 release - #97

Merged
DevMando merged 1 commit into
mainfrom
docs/release-0.15.0
Sep 11, 2026
Merged

DevMando merged 1 commit into
mainfrom
docs/release-0.15.0

Conversation

@DevMando

@DevMando DevMando commented Sep 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

Rolls docs/CHANGELOG.md for the 0.15.0 release: retitles [Unreleased] to [0.15.0] - 2026-09-10,
restructures it into the house style RELEASING.md describes, 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 the
engine-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

  • The opener leads with the migration, then what it bought — durable plans, and a step no longer
    gated by a second model call, which halves the model calls in a plan run.
  • The plain-language summary gains a lead bullet: the engine was rebuilt underneath you, and that is
    meant to be invisible.
  • The migration entry moves to the top of Changed, rewritten to say why it is load-bearing.

CLI coverage — found by diffing the command surface, config keys and CLI flags against v0.14.3
rather than from memory

  • A New & changed slash commands table, matching the one this file used at 0.11.0, so the
    whole surface is scannable in one place.
  • /compact is now named. It was described only as a capability — "conversations can be
    compacted on demand" — never as a command. It also now says how it differs from /clear, since
    the two are easy to confuse and one of them is destructive.
  • The retired planner / plannerEngine settings. /config refuses them now, because the
    workflow planner is the only execution path. Anyone who set them would have met that with no
    warning in the notes.
  • The startup banner keeps a prerelease tag, so a test build no longer looks identical to the
    release it was cut from.

Structure

  • Internal is dissolved — no released section in this file has ever used one. The OllamaSharp
    source-generator exclusion joins the dependency entries it belongs with.
  • Reordered to Fixed / Changed / Added, and Validation renamed to Test coverage — both
    matching every released section here and what RELEASING.md specifies.

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:

  • "halves the model calls in a plan run" — from removing the per-step verifier, which cost a
    second model call per step.
  • "the largest change to the engine's internals since it was written" — a judgement, stated as one.
    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 both net8.0 and net10.0,
    re-run on this branch so the Test coverage figure is measured, not carried over.
  • Nothing was lost in the restructure: 32 bold entries before, 35 after, machine-compared. The
    three additions are the retired settings, the banner label, and the plain-language lead bullet;
    the compaction and migration entries were reworded in place.
  • Command surface diffed against v0.14.3: four commands added (/plan, /plan-resume,
    /plan-discard, /compact), none removed; no CLI flags changed; two config keys added, both as
    refusals. All four commands now appear in the notes.
  • Verified a stale config still loads. The notes claim existing files carrying planner are not
    an error — config reads do not set UnmappedMemberHandling, so unknown keys are ignored. Also
    confirmed strictPlanVerification is gone from src/ entirely, not merely undocumented.
  • Confirmed no [Unreleased] heading remains, the heading matches the ## [X.Y.Z] - YYYY-MM-DD
    format of every prior release, and <Version> is already 0.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.md steps, none of which I can run:

  1. dotnet pack, then install the exact nupkg to a temp tool-path and confirm --doctor reports
    0.15.0 on a .NET 10 runtime (8.x there means the net10.0 asset missed the package)
  2. Tag v0.15.0 on the merge commit and create the GitHub release, body adapted from the
    plain-language section
  3. dotnet nuget push — the release is not real until this happens; GitHub does not distribute the
    package

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.
@DevMando
DevMando merged commit 58f296c into main Sep 11, 2026
@DevMando
DevMando deleted the docs/release-0.15.0 branch September 11, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant