What's Changed
- feat(core): Enable AgentRegistry to track all discovered subagents by @SandyTao520 in #17253
- feat(core): Have subagents use a JSON schema type for input. by @joshualitt in #17152
- feat: replace large text pastes with [Pasted Text: X lines] placeholder by @jackwotherspoon in #16422
- security(hooks): Wrap hook-injected context in distinct XML tags by @yunaseoul in #17237
- Enable the ability to queue specific nightly eval tests by @gundermanc in #17262
- docs(hooks): comprehensive update of hook documentation and specs by @abhipatel12 in #16816
- refactor: improve large text paste placeholder by @jacob314 in #17269
- feat: implement /rewind command by @Adib234 in #15720
- Feature/jetbrains ide detection by @SoLoHiC in #16243
- docs: update typo in mcp-server.md file by @schifferl in #17099
- Sanitize command names and descriptions by @ehedlund in #17228
- fix(auth): don't crash when initial auth fails by @skeshive in #17308
- Added image pasting capabilities for Wayland and X11 on Linux by @devr0306 in #17144
- feat: add AskUser tool schema by @jackwotherspoon in #16988
- fix cli settings: resolve layout jitter in settings bar by @Mag1ck in #16256
- fix: show whitespace changes in edit tool diffs by @Ujjiyara in #17213
- Remove redundant calls setting linuxClipboardTool. getUserLinuxClipboardTool() now handles the caching internally by @jacob314 in #17320
- ci: allow failure in evals-nightly run step by @gundermanc in #17319
- feat(cli): Add state management and plumbing for agent configuration dialog by @SandyTao520 in #17259
- bug: fix ide-client connection to ide-companion when inside docker via ssh/devcontainer by @kapsner in #15049
- Emit correct newline type return by @scidomino in #17331
- New skill: docs-writer by @g-samroberts in #17268
- fix(core): Resolve AbortSignal MaxListenersExceededWarning (#5950) by @spencer426 in #16735
- Disable tips after 10 runs by @Adib234 in #17101
- Fix so rewind starts at the bottom and loadHistory refreshes static content. by @jacob314 in #17335
- feat(core): Remove legacy settings. by @joshualitt in #17244
- feat(plan): add 'communicate' tool kind by @jerop in #17341
- feat(routing): A/B Test Numerical Complexity Scoring for Gemini 3 by @mattKorwel in #16041
- feat(plan): update UI Theme for Plan Mode by @Adib234 in #17243
- fix(ui): stabilize rendering during terminal resize in alternate buffer by @lkk214 in #15783
- feat(cli): add /agents config command and improve agent discovery by @SandyTao520 in #17342
- feat(mcp): add enable/disable commands for MCP servers (#11057) by @jasmeetsb in #16299
- fix(cli)!: Default to interactive mode for positional arguments by @ishaanxgupta in #16329
- Fix issue #17080 by @jacob314 in #17100
- feat(core): Refresh agents after loading an extension. by @joshualitt in #17355
- fix(cli): include source in policy rule display by @allenhutchison in #17358
- fix: remove obsolete CloudCode PerDay quota and 120s terminal threshold by @gsquared94 in #17236
- Refactor subagent delegation to be one tool per agent by @gundermanc in #17346
- fix(core): Include MCP server name in OAuth message by @jerop in #17351
- Fix pr-triage.sh script to update pull requests with tags "help wanted" and "maintainer only" by @jacob314 in #17324
- feat(plan): implement simple workflow for planning in main agent by @jerop in #17326
- fix: exit with non-zero code when esbuild is missing by @yuvrajangadsingh in #16967
- fix: ensure @-command UI message ordering and test by @medic-code in #12038
- fix(core): add alternative command names for Antigravity editor detec… by @BaeSeokJae in #16829
- Refactor: Migrate CLI
appEventsto CorecoreEventsby @Adib234 in #15737 - fix(core): await MCP initialization in non-interactive mode by @Ratish1 in #17390
- Fix modifyOtherKeys enablement on unsupported terminals by @seekskyworld in #16714
- fix(core): gracefully handle disk full errors in chat recording by @godwiniheuwa in #17305
- fix(oauth): update oauth to use 127.0.0.1 instead of localhost by @skeshive in #17388
- fix(core): use RFC 9728 compliant path-based OAuth protected resource discovery by @vrv in #15756
- Update Code Wiki README badge by @PatoBeltran in #15229
- Add conda installation instructions for Gemini CLI by @ishaanxgupta in #16921
- chore(refactor): extract BaseSettingsDialog component by @SandyTao520 in #17369
- fix(cli): preserve input text when declining tool approval (#15624) by @ManojINaik in #15659
- chore: upgrade dep: diff 7.0.0-> 8.0.3 by @scidomino in #17403
- feat: add AskUserDialog for UI component of AskUser tool by @jackwotherspoon in #17344
- feat(ui): display user tier in about command by @sehoon38 in #17400
- feat: add
clearContexttoAfterAgenthooks by @jackwotherspoon in #16574 - fix(cli): change image paste location to global temp directory (#17396) by @devr0306 in #17396
- Fix line endings issue with Notice file by @scidomino in #17417
- feat(plan): implement persistent
approvalModesetting by @Adib234 in #17350 - feat(ui): Move keyboard handling into BaseSettingsDialog by @SandyTao520 in #17404
- Allow prompt queueing during MCP initialization by @Adib234 in #17395
- feat: implement AgentConfigDialog for /agents config command by @SandyTao520 in #17370
- fix(agents): default to all tools when tool list is omitted in subagents by @gundermanc in #17422
- feat(cli): Moves tool confirmations to a queue UX by @abhipatel12 in #17276
- fix(core): hide user tier name by @sehoon38 in #17418
- feat: Enforce unified folder trust for /directory add by @galz10 in #17359
- migrate fireToolNotificationHook to hookSystem by @ved015 in #17398
- Clean up dead code by @scidomino in #17443
- feat(workflow): add stale pull request closer with linked-issue enforcement by @bdmorgan in #17449
- feat(workflow): expand stale-exempt labels to include help wanted and Public Roadmap by @bdmorgan in #17459
- chore(workflow): remove redundant label-enforcer workflow by @bdmorgan in #17460
- Resolves the confusing error message `ripgrep exited with code null that occurs when a search operation is cancelled or aborted by @maximmasiutin in #14267
- fix: detect pnpm/pnpx in ~/.local by @rwakulszowa in #15254
- docs: Add instructions for MacPorts and uninstall instructions for Homebrew by @breun in #17412
- docs(hooks): clarify mandatory 'type' field and update hook schema documentation by @abhipatel12 in #17499
New Contributors
- @yunaseoul made their first contribution in #17237
- @SoLoHiC made their first contribution in #16243
- @schifferl made their first contribution in #17099
- @Mag1ck made their first contribution in #16256
- @Ujjiyara made their first contribution in #17213
- @kapsner made their first contribution in #15049
- @spencer426 made their first contribution in #16735
- @lkk214 made their first contribution in #15783
- @yuvrajangadsingh made their first contribution in #16967
- @BaeSeokJae made their first contribution in #16829
- @Ratish1 made their first contribution in #17390
- @seekskyworld made their first contribution in #16714
- @godwiniheuwa made their first contribution in #17305
- @maximmasiutin made their first contribution in #14267
- @rwakulszowa made their first contribution in #15254
- @breun made their first contribution in #17412
Full Changelog: v0.27.0-nightly.20260122.61040d0eb...v0.27.0-nightly.20260126.cb772a5b7