diff --git a/changelog.md b/changelog.md index 1797e49c..7f5b0769 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,137 @@ +## 1.0.26 - 2026-04-14 + +- Escape key reliably dismisses ask_user and elicitation prompts without getting stuck +- Spurious directory access prompts no longer appear for arguments inside find -exec blocks +- Agent sessions no longer fail with unrecoverable errors when context compaction splits a tool call across a checkpoint boundary +- Single-segment slash-prefixed tokens (e.g. /help, /start) no longer treated as file paths in bash commands +- Anthropic BYOM correctly includes image data when viewing image files +- Permission prompt notification hook only fires when a prompt is actually shown to the user +- ctrl+o now expands all timeline entries, same as ctrl+e +- Remote tab correctly shows Copilot coding agent tasks and supports steering without requiring a pull request +- Rename "steering" to "remote control" in --remote flag and /remote command help text +- Avoid sending duplicate custom instruction files (e.g. copilot-instructions.md and CLAUDE.md with identical content) to reduce wasted tokens per turn +- Plugin hooks receive PLUGIN_ROOT, COPILOT_PLUGIN_ROOT, and CLAUDE_PLUGIN_ROOT env vars with the plugin's installation directory +- ACP server binds to localhost only, preventing unintended network exposure +- Installing a plugin named 'git' from a marketplace no longer fails due to incorrect URL parsing +- Enterprise login accepts hostnames without a URL scheme (e.g. 'github.example.com') +- LSP language servers correctly initialize on Windows using proper file URI paths +- Relative paths in file edit operations resolve against the session working directory +- Session scope selector in sync prompt is now more prominent and keyboard-navigable with left/right arrow keys +- Instruction files with specific applyTo patterns are consolidated into a table instead of inlining full content, reducing context window usage + +## 1.0.25 - 2026-04-13 + +- Install MCP servers from the registry with guided configuration directly in the CLI +- Esc key works correctly after a failed /resume session lookup +- Persist resolved model in session history and defer model changes during active turns +- ACP clients can now provide MCP servers (stdio, HTTP, SSE) when starting or loading sessions +- The --config-dir flag is now respected when selecting the active model +- Add /env command to show loaded environment details (instructions, MCP servers, skills, agents, plugins) +- /share appends the correct file extension (.md or .html) when a custom output path is given without one +- /add-dir accepts relative paths (e.g. ./src, ../sibling) and resolves them to absolute paths +- Custom instruction files preserve special characters like & and +- Skill picker list scrolls correctly when the list exceeds the terminal height +- MCP client reports the correct CLI version during server handshake +- /logout shows a warning when signed in via gh CLI, PAT, API key, or environment variable, since /logout only manages OAuth sessions +- Alt+D now deletes the word in front of the cursor in text input +- /share html shows a file:// URL and supports Ctrl+X O to open the file directly +- Skill instructions persist correctly across conversation turns +- You can now remote control your CLI sessions using --remote or /remote +- MCP remote server connections automatically retry on transient network failures +- Share Research TOC sidebar anchor links navigate correctly within the page + +## 1.0.24 - 2026-04-10 + +- preToolUse hooks now respect modifiedArgs/updatedInput, and additionalContext fields +- Custom agent model field now accepts display names and vendor suffixes from VS Code (e.g., "Claude Sonnet 4.5", "GPT-5.4 (copilot)") +- Terminal state (alt screen, cursor, raw mode) is restored correctly after CLI crashes like OOM or segfaults +- The --remote flag is respected when the session sync prompt appears on first run in a GitHub repo +- Redesign exit screen with Copilot mascot and cleaner usage summary layout + +## 1.0.23 - 2026-04-10 + +- Add --mode, --autopilot, and --plan flags to start the CLI directly in a specific agent mode +- Agent no longer hangs on the first turn when the memory backend is unavailable +- Bazel/Buck build target labels (e.g. //package:target) no longer misidentified as file paths +- Ctrl+L clears the terminal screen without clearing the conversation session +- Slash command picker shows full skill descriptions and a refined scrollbar +- /diff, /agent, /feedback, /ide, and /tuikit work while the agent is running +- Display reasoning token usage in the per-model token breakdown when nonzero +- Remote tab correctly shows Copilot coding agent tasks and supports steering via the Tasks API +- Shell output with BEL characters no longer causes repeated terminal beeping +- Migration notice for .vscode/mcp.json now includes a jq command to migrate your config to .mcp.json + +## 1.0.22 - 2026-04-09 + +- MCP tools with non-standard JSON schemas are now sanitized for compatibility with all model providers +- Better handling of large images from MCP and extension tools +- Improved rendering performance with a new simplified inline renderer +- Show a clear message to contact your organization administrator when remote sessions are blocked by policy +- Sub-agent activity no longer shows duplicated tool names (e.g. "view view the file...") +- Permission checks and other hooks now work correctly when using Anthropic models via BYOM/BYOK configuration +- Slash command picker appears above the text input for a more stable layout +- Custom agents can now declare a `skills` field to eagerly load skill content into agent context at startup +- Plugins can now display a post-install message with setup instructions after installation +- Remove .vscode/mcp.json and .devcontainer/devcontainer.json as MCP server config sources; CLI now only reads .mcp.json. A migration hint appears when .vscode/mcp.json is detected without .mcp.json. +- Plugins remain enabled across sessions and auto-install on startup based on user config +- Add sub-agent depth and concurrency limits to prevent runaway agent spawning +- Warn when resuming a session that is already in use by another CLI or application +- CLI no longer crashes on systems affected by a V8 engine bug in grapheme segmentation +- sessionStart and sessionEnd hooks fire once per session in interactive mode instead of once per prompt +- Plugin agents respect the model specified in their frontmatter + +## 1.0.21 - 2026-04-07 + +- Add `copilot mcp` command for managing MCP servers +- Spinner no longer appears stuck when a long-running async shell command is active +- Enterprise GitHub URL input in the login flow now accepts keyboard input and submits on Enter +- Slash command picker no longer flickers or shifts the input while filtering +- Timeline no longer goes blank when content shrinks (e.g., after cancelling or tool completion) +- Plan mode timeline display shows user text without a redundant "Plan" prefix +- Reduce memory usage by automatically shutting down shell sessions that are no longer needed +- Hooks configured with PascalCase event names now receive VS Code-compatible snake_case payloads with hook_event_name, session_id, and ISO 8601 timestamps + +## 1.0.20 - 2026-04-07 + +- Add `copilot help monitoring` topic with OpenTelemetry configuration details and examples +- Spinner stays active until background agents and shell commands finish, and user input remains available throughout +- Azure OpenAI BYOK defaults to the GA versionless v1 route when no API version is configured +- Reduce UI sluggishness during live response streaming +- /yolo and --yolo now behave identically and /yolo state persists across /restart + +## 1.0.19 - 2026-04-06 + +- /mcp enable and /mcp disable now persist across sessions +- OpenTelemetry monitoring: subagent spans now use INTERNAL span kind, and chat spans include a `github.copilot.time_to_first_chunk` attribute (streaming only) +- Plugin hook scripts with missing execute permissions now run correctly on macOS +- Custom agent is properly restored when resuming a session where the agent display name differs from its filename +- Skip IDE auto-connect when session is already in use by another client +- Slash command timeline entries now include the command name (e.g., "Review", "Plan") for better context + +## 1.0.18 - 2026-04-04 + +- New Critic agent automatically reviews plans and complex implementations using a complementary model to catch errors early (available in experimental mode for Claude models) +- Session resume picker correctly groups sessions by branch and repository on first use +- preToolUse hook permissionDecision 'allow' now suppresses the tool approval prompt +- Add notification hook event that fires asynchronously on shell completion, permission prompts, elicitation dialogs, and agent completion + +## 1.0.17 - 2026-04-03 + +- Built-in skills are now included with the CLI, starting with a guide for customizing Copilot cloud agent's environment +- MCP OAuth flows now support HTTPS redirect URIs via a self-signed certificate fallback, improving compatibility with OAuth providers that require HTTPS (e.g., Slack) +- /resume session picker loads significantly faster, especially with large session histories + +## 1.0.16 - 2026-04-02 + +- SQL prompt tags no longer appear when sql tool is excluded via excludedTools or availableTools +- MCP tool calls display tool name and parameter summary in the timeline +- MCP server reconnects correctly with valid authentication when the working directory changes +- Add PermissionRequest hook to allow scripts to programmatically approve or deny tool permission requests +- Remove deprecated `marketplaces` repository setting (use `extraKnownMarketplaces` instead) +- MCP servers load correctly after login, user switch, and /mcp reload +- BYOK Anthropic provider now respects the configured maxOutputTokens limit +- Remove deprecated `marketplaces` repository setting (use `extraKnownMarketplaces` instead) + ## 1.0.15 - 2026-04-01 - Remove support for gpt-5.1-codex, gpt-5.1-codex-mini, and gpt-5.1-codex-max models