Changelog

What's new

Recent user-facing changes to pm7Code. Newest first.

  1. Files pane in the right sidebar

    The right sidebar header now has three panes — Assistant, Browser, and Files. Files shows a lazy folder tree of the active project's directory (not the topic worktree), reads via the project engine, and opens files in the preview overlay. Without an active topic, files are not clickable.

    Read in the docs →

  2. Push syncs when behind and offers Resolve with agent on conflict

    When the worktree is behind the base, Push syncs first (snapshotting and restoring uncommitted work on conflict) and only stops on a real merge conflict that names the files. That stop offers Resolve with agent: a task to the topic's own agent to merge the base, resolve by hand, keep your intent, and not push — you push afterwards. While a CORE build runs on the checkout, Push waits for it to finish.

    Read in the docs →

  3. Start new session here blocked on unmerged worktree work

    Replacing a topic in place with Start new session here is refused while the worktree still has work Push would take, or while the engine cannot judge or is unreachable. The dialog title is Unmerged work in this topic; only OK — no Continue anyway. Use Push to master from the worktree menu, or Fork Topic / New topic to start beside it.

    Read in the docs →

  4. Push indicator replaces the agent icon on the topic row

    The orange Push dot now takes the place of the agent icon on the left of the topic row (not a corner badge). The row also gets an orange border — solid when work is pending, dotted when the engine could not judge. Filled dot means Push would take work; hollow ring means unknown, never treated as clean.

    Read in the docs →

  5. Path claims only show up when they overlap

    The permanent Claims in dit project panel is gone from the message area. Claims from other sessions now appear only in the overlap warning strip, which gets a Release button per row. Your own claim can be released from the worktree status menu. Claims are looked up by project, so worktree topics see the same overlap as the base checkout.

    Read in the docs →

  6. Visualise Worktrees from the server menu

    Open Visualise Worktrees from the server menu to see every registered worktree on that engine — one block per base checkout, with workspace project names on that base and a project name on each card. From the project menu the view is scoped to that workspace project; worktrees from other projects in the same folder or without a known topic are counted separately, not silently dropped.

    Read in the docs →

  7. Orange Push dots and Push filter in the Projects sidebar

    Topics with work Push would take show a filled orange dot at the top-left of the row; a hollow ring means the engine could not judge — never treated as clean. The Show menu and filter bar add Push to master as an AND squeeze (Push + 🔔 = waiting topics that also need push). Enabling Push auto-reveals parked topics that still need push.

    Read in the docs →

  8. Active Tab Background colour

    Theme settings now include Active Tab Background — a theme-scoped colour for every window tab. Set it under Settings → Appearance in the colour theme cards.

    Read in the docs →

  9. Title bar picks up tab status when the tab bar is hidden

    When the window tab bar is off, the build and agent-version status pill moves into the title bar so a running build stays visible. The tab switcher there shows the current window-tab title with a chevron instead of the static label TABS.

    Read in the docs →

  10. Unified git-dot colours (project + topic worktree)

    Project and topic worktree status now share one colour scheme: gray while loading, blue spinner during an action, red on git error, brown when behind the reference (pull or sync first), orange for own work not shared yet, green when clean and even. Own work (orange) wins over behind (brown).

    Read in the docs →

  11. Worktree menu redesign

    The worktree status menu header shows the branch plus up to two file-count pills — orange N for own files not in the live base, brown ↓N for files the base has that this worktree lacks. Actions are Sync with {base}, Preview changes, Push to {base}, and Clean up…. When behind-only, Preview shows incoming via Sync. Preview is disabled when the list is empty; Push only when there is own work; Sync and Push are disabled while an agent turn is active.

    Read in the docs →

  12. Push to base: local base is source of truth

    Push treats the local base checkout as source of truth: it pulls/merges origin into the local base first (plain merge, no stash; conflict aborts), then merges the worktree, then best-effort push to origin. A failed push keeps the local merge.

    Read in the docs →

  13. Automatic worktree release on park or archive

    Parked topics, 48h idle sleep, archive, and delete release the worktree automatically only when nothing would be lost — no dirty or untracked files, no commits the base lacks, no differing seeded ignored file such as .env. Otherwise the worktree stays as sleeping and appears under Clean up…. Resuming a released parked topic gets a fresh worktree.

    Read in the docs →

  14. Visualise Worktrees hides equal worktrees by default

    The Worktrees dialog hides live worktrees that are equal to the base by default. Checkbox Ook worktrees gelijk aan de basis tonen reveals them; when some are hidden the UI shows how many. Worktrees without usable git status stay visible.

    Read in the docs →

  15. Worktree status dot + Preview changes

    Isolated sessions show a coloured status dot in the title bar (and CView header) instead of the old ⎇ pill — gray while loading, green when clean and even with the base, orange when dirty or ahead/behind. Click the dot for Sync met the live base branch, Preview changes (git-diff overlay vs merge-base), Mergen naar that base branch, and Opruimen… (Colours and menu labels were refined later the same day — brown/orange scheme; Sync with / Push to / Clean up.)

    Read in the docs →

  16. Click a worktree card to open its topic

    In Visualise Worktrees, live and history cards are clickable when this client knows the session: click jumps to that topic and closes the dialog. Archived topics open as a read-only preview instead of restoring silently. Unknown sessions stay inert.

    Read in the docs →

  17. Hotfix on new topic (every agent)

    When a project's Worktree-isolatie is always, the new topic form offers Hotfix direct in basis so you can skip a worktree from the start — not only when starting a New Session. Hotfix, worktree, claim paths, and intent choices are applied for every agent (Claude, Codex, Pi, and the others).

    Read in the docs →

  18. Visualise Worktrees in the project menu

    Open the project menu (project name in the CView header or title bar) and choose Visualise Worktrees — next to Project Settings, not in the worktree status menu. The Worktrees dialog shows the base checkout, live worktrees as cards (current session highlighted), and landed or discarded entries under Historiek. Works even when the current session has no worktree.

    Read in the docs →

  19. Worktree merge keeps the branch

    After a successful merge the worktree and branch stay: the checkout resets to the new base HEAD so you can land again. Only Opruimen removes a worktree. (Status display later moved to a title-bar dot — see 10 September 2026.)

    Read in the docs →

  20. New Session waits for worktree setting

    Start a New Session stays disabled while the project's worktree isolation setting is still loading, so the Hotfix direct in basis checkbox cannot be missed when it appears a moment later. The Hotfix row is a plain checkbox without a plus icon.

    Read in the docs →

  21. Worktree isolation for writing sessions

    Project settings now include Worktree-isolatie (off, opt-in, or always — default always). Writing sessions get their own git worktree on a pm7/s- branch. New Session can set Hotfix direct in basis or Geïsoleerd werken, plus optional intent and claim paths. Session actions (sync, preview, merge, prune) live in the worktree status control — see docs for current UI.

    Read in the docs →

  22. Path claims across parallel sessions

    Sessions register edit paths with a pm7_claim block so overlapping work is visible early. CView shows an overlap warning strip and a Claims in dit project panel with Release. Optional intent text appears as a coordination banner.

    Read in the docs →

  23. Agents can propose publishing a skill

    When an agent creates or edits a skill, it can propose a publish. CView shows a Skill Publish card with Publish and Reject. pm7Code snapshots the skill at proposal time, so approval publishes that version even if the local cache was rematerialized later. Your account stays the source of truth; if the account copy changed after the proposal, publish is refused until the agent proposes again. The outcome survives a reload — published, rejected, or failed.

    Read in the docs →

  24. Language Directive keeps English technical terms

    Settings → Agents → Prompts → Language Directive still defaults to Dutch on every turn, but established IT terms now stay in English instead of being translated into Dutch calques. Accounts that pinned the older default via Reset to default are upgraded automatically.

    Read in the docs →

  25. Sessions (was Parley)

    The user-facing conversation is now called a Session, with its own PM7 Session ID. Start a new Session replaces Start a new Parley. The technical provider connection behind it is an Agent session.

    Read in the docs →

  26. Settings Backup

    Settings has a Settings Backup section. Set a private Git remote URL; Export Now saves settings to your account first, then commits and pushes every setting, prompt, memory, skill, and theme to that repo. Automatic Backup (on by default when a URL is set) exports shortly after every settings save. Secret findings always block automatic exports — only Export Now can override them with Export anyway. The last automatic backup status is shown on the device.

    Read in the docs →

  27. Prompt files use the project Folder

    Project settings no longer have a separate Home folder. Prompt files live in pm7-Code/ inside the project's Folder — the same directory as the project.

    Read in the docs →

  28. General Assistant can talk about Settings

    The General Assistant now gets a compact per-turn context block for pm7-Code as a product — prompts, protocols, skills, slash commands, themes, colors, and other Settings — as a source map, without shipping secrets. Topic and Project assistants still take priority.

    Read in the docs →

  29. Default agent renamed to pm7

    The built-in pm7Code agent is now labeled pm7 in the UI (previously shown as pm7-Code). Behavior is unchanged — only the display name.

    Read in the docs →

  30. App Themes on the WebApp

    Named look-and-layout profiles let you switch color theme, fonts, panel visibility, and sidebar or Assistant width from Settings → Appearance. Preview a theme with ?theme=<id-or-name> in the URL. The desktop macOS app does not use App Themes.

    Read in the docs →

  31. Assistant column in the right sidebar

    The right sidebar can show an Assistant (General, Project, or Topic scope) or a Browser view. Right-click a topic and choose Use as Assistant to pin it. This is a workspace panel, not a seventh native agent.

    Read in the docs →