Fixed
- apply_patch no longer counts one extra line for each file it adds or deletes, so the timeline summary, permission prompt, /usage and exit summary show the real line counts
copilot confignow warns when a value of the wrong type makes settings.json ignored, instead of reading every setting as unset and reporting writes into that file as if they took effect- Deleting text in front of Chinese, Japanese or Korean characters in the prompt no longer leaves the line garbled until the next edit.
- Markdown output no longer turns colon-delimited text such as file.ts:100:5 or crate::id::Id into emoji.
- A top-level SKILL.md in a skills directory now produces a warning in /skills explaining that subdirectories are resources, not separate skills, and how to load them.
- A message sent while the agent is working that mentions a file or directory (
@path) is no longer rejected with "Submission failed" when an earlier one is still waiting. - /keep-alive busy releases sleep prevention once all tracked sessions finish working, including background turns and standalone local-shell commands
- Git URL caches use short paths and diagnose path-length failures. Old caches are copied, not moved, and kept for older CLIs; delete the originals manually when no longer needed.
- ACP session/prompt and session/cancel stop only the active turn, keeping background tasks and shell commands running
- Long conversations now recover from oversized requests by trimming historical reasoning and retrying.
- Prompt before out-of-workspace access through dangling symlinks
- Rewinding and resubmitting a prompt now keeps image and file attachments.
- Sessions recover from unavailable program endpoints and continue answering prompts
- Skill calls explain when model invocation is disabled instead of reporting the skill as not found
- /memory now reports when Memory is disabled for the session by an experiment and clarifies /memory on behavior.