What's Changed
- fix(docs): update theme screenshots and add missing themes by @ashmod in #20689
- refactor(cli): rename 'return' key to 'enter' internally by @scidomino in #21796
- build(release): restrict npm bundling to non-stable tags by @sehoon38 in #21821
- fix(core): override toolRegistry property for sub-agent schedulers by @gsquared94 in #21766
- fix(cli): make footer items equally spaced by @jacob314 in #21843
- docs: clarify global policy rules application in plan mode by @jerop in #21864
- fix(core): ensure correct flash model steering in plan mode implementation phase by @jerop in #21871
- fix(core): update @a2a-js/sdk to 0.3.11 by @adamfweidman in #21875
- refactor(core): improve API response error logging when retry by @yunaseoul in #21784
- fix(ui): handle headless execution in credits and upgrade dialogs by @gsquared94 in #21850
- fix(core): treat retryable errors with >5 min delay as terminal quota errors by @gsquared94 in #21881
- feat(telemetry): add specific PR, issue, and custom tracking IDs for GitHub Actions by @cocosheng-g in #21129
- feat(core): add OAuth2 Authorization Code auth provider for A2A agents by @SandyTao520 in #21496
- feat(cli): give visibility to /tools list command in the TUI and follow the subcommand pattern of other commands by @JayadityaGit in #21213
- Handle dirty worktrees better and warn about running scripts/review.sh on untrusted code. by @jacob314 in #21791
- feat(policy): support auto-add to policy by default and scoped persistence by @spencer426 in #20361
- fix(core): handle AbortError when ESC cancels tool execution by @PrasannaPal21 in #20863
- fix(release): Improve Patch Release Workflow Comments: Clearer Approval Guidance by @jerop in #21894
- docs: clarify telemetry setup and comprehensive data map by @jerop in #21879
- feat(core): add per-model token usage to stream-json output by @yongruilin in #21839
- docs: remove experimental badge from plan mode in sidebar by @jerop in #21906
- fix(cli): prevent race condition in loop detection retry by @skyvanguard in #17916
- Add behavioral evals for tracker by @anj-s in #20069
- fix(auth): update terminology to 'sign in' and 'sign out' by @clocky in #20892
- docs(mcp): standardize mcp tool fqn documentation by @abhipatel12 in #21664
- fix(ui): prevent empty tool-group border stubs after filtering by @Aaxhirrr in #21852
- make command names consistent by @scidomino in #21907
- refactor: remove agent_card_requires_auth config flag by @adamfweidman in #21914
- feat(a2a): implement standardized normalization and streaming reassembly by @alisa-alisa in #21402
- feat(cli): enable skill activation via slash commands by @NTaylorMullen in #21758
- docs(cli): mention per-model token usage in stream-json result event by @yongruilin in #21908
- fix(plan): prevent plan truncation in approval dialog by supporting unconstrained heights by @Adib234 in #21037
- feat(a2a): switch from callback-based to event-driven tool scheduler by @cocosheng-g in #21467
- feat(voice): implement speech-friendly response formatter by @Solventerritory in #20989
- feat: add pulsating blue border automation overlay to browser agent by @kunal-10-cloud in #21173
- Add extensionRegistryURI setting to change where the registry is read from by @kevinjwang1 in #20463
- fix: patch gaxios v7 Array.toString() stream corruption by @gsquared94 in #21884
- fix: prevent hangs in non-interactive mode and improve agent guidance by @cocosheng-g in #20893
- Add ExtensionDetails dialog and support install by @chrstnb in #20845
- chore/release: bump version to 0.34.0-nightly.20260310.4653b126f by @gemini-cli-robot in #21816
- Changelog for v0.33.0-preview.13 by @gemini-cli-robot in #21927
- fix(cli): stabilize prompt layout to prevent jumping when typing by @NTaylorMullen in #21081
- fix: preserve prompt text when cancelling streaming by @Nixxx19 in #21103
- fix: robust UX for remote agent errors by @Shyam-Raghuwanshi in #20307
- feat: implement background process logging and cleanup by @galz10 in #21189
- Changelog for v0.33.0-preview.14 by @gemini-cli-robot in #21938
- feat(cli): customizable keyboard shortcuts by @scidomino in #21945
- feat(core): Thread
AgentLoopContextthrough core. by @joshualitt in #21944 - chore(release): bump version to 0.35.0-nightly.20260311.657f19c1f by @gemini-cli-robot in #21966
- refactor(a2a): remove legacy CoreToolScheduler by @adamfweidman in #21955
- feat(ui): add missing vim mode motions (X, ~, r, f/F/t/T, df/dt and friends) by @aanari in #21932
- Feat/retry fetch notifications by @aishaneeshah in #21813
- fix(core): remove OAuth check from handleFallback and clean up stray file by @sehoon38 in #21962
- feat(cli): support literal character keybindings and extended Kitty protocol keys by @scidomino in #21972
- fix(ui): clamp cursor to last char after all NORMAL mode deletes by @aanari in #21973
- test(core): add missing tests for prompts/utils.ts by @krrishverma1805-web in #19941
- fix(cli): allow scrolling keys in copy mode (Ctrl+S selection mode) by @nsalerni in #19933
- docs(cli): add custom keybinding documentation by @scidomino in #21980
- docs: fix misleading YOLO mode description in defaultApprovalMode by @Gyanranjan-Priyam in #21878
- fix: clean up /clear and /resume by @jackwotherspoon in #22007
- fix(core)#20941: reap orphaned descendant processes on PTY abort by @manavmax in #21124
- fix(core): update language detection to use LSP 3.18 identifiers by @yunaseoul in #21931
- feat(cli): support removing keybindings via '-' prefix by @scidomino in #22042
- feat(policy): add --admin-policy flag for supplemental admin policies by @galz10 in #20360
- merge duplicate imports packages/cli/src subtask1 by @Nixxx19 in #22040
- perf(core): parallelize user quota and experiments fetching in refreshAuth by @sehoon38 in #21648
- Changelog for v0.34.0-preview.0 by @gemini-cli-robot in #21965
- Changelog for v0.33.0 by @gemini-cli-robot in #21967
- fix(core): handle EISDIR in robustRealpath on Windows by @sehoon38 in #21984
- feat(core): include initiationMethod in conversation interaction telemetry by @yunaseoul in #22054
- feat(ui): add vim yank/paste (y/p/P) with unnamed register by @aanari in #22026
- fix(core): enable numerical routing for api key users by @sehoon38 in #21977
- feat(telemetry): implement retry attempt telemetry for network related retries by @aishaneeshah in #22027
- fix(policy): remove unnecessary escapeRegex from pattern builders by @spencer426 in #21921
- fix(core): preserve dynamic tool descriptions on session resume by @sehoon38 in #18835
- chore: allow 'gemini-3.1' in sensitive keyword linter by @scidomino in #22065
- feat(core): support custom base URL via env vars by @junaiddshaukat in #21561
- merge duplicate imports packages/cli/src subtask2 by @Nixxx19 in #22051
- fix(core): silently retry API errors up to 3 times before halting session by @spencer426 in #21989
- feat(core): simplify subagent success UI and improve early termination display by @abhipatel12 in #21917
- merge duplicate imports packages/cli/src subtask3 by @Nixxx19 in #22056
- fix(hooks): fix BeforeAgent/AfterAgent inconsistencies (#18514) by @krishdef7 in #21383
- feat(core): implement SandboxManager interface and config schema by @galz10 in #21774
- docs: document npm deprecation warnings as safe to ignore by @h30s in #20692
- fix: remove status/need-triage from maintainer-only issues by @SandyTao520 in #22044
- fix(core): propagate subagent context to policy engine by @NTaylorMullen in #22086
- fix(cli): resolve skill uninstall failure when skill name is updated by @NTaylorMullen in #22085
- docs(plan): clarify interactive plan editing with Ctrl+X by @Adib234 in #22076
- fix(policy): ensure user policies are loaded when policyPaths is empty by @NTaylorMullen in #22090
- Docs: Add documentation for model steering (experimental). by @jkcinouye in #21154
- Add issue for automated changelogs by @g-samroberts in #21912
- fix(core): secure argsPattern and revert WEB_FETCH_TOOL_NAME escalation by @spencer426 in #22104
- feat(core): differentiate User-Agent for a2a-server and ACP clients by @bdmorgan in #22059
- refactor(core): extract ExecutionLifecycleService for tool backgrounding by @adamfweidman in #21717
- feat: Display pending and confirming tool calls by @sripasg in #22106
- feat(browser): implement input blocker overlay during automation by @kunal-10-cloud in #21132
- fix: register themes on extension load not start by @jackwotherspoon in #22148
- feat(ui): Do not show Ultra users /upgrade hint (#22154) by @sehoon38 in #22156
- chore: remove unnecessary log for themes by @jackwotherspoon in #22165
- fix(core): resolve MCP tool FQN validation, schema export, and wildcards in subagents by @abhipatel12 in #22069
- fix(cli): validate --model argument at startup by @JaisalJain in #21393
- fix(core): handle policy ALLOW for exit_plan_mode by @backnotprop in #21802
- feat(telemetry): add Clearcut instrumentation for AI credits billing events by @gsquared94 in #22153
- feat(core): add google credentials provider for remote agents by @adamfweidman in #21024
- test(cli): add integration test for node deprecation warnings by @Nixxx19 in #20215
- feat(cli): allow safe tools to execute concurrently while agent is busy by @spencer426 in #21988
- feat(core): implement model-driven parallel tool scheduler by @abhipatel12 in #21933
- update vulnerable deps by @scidomino in #22180
- fix(core): fix startup stats to use int values for timestamps and durations by @yunaseoul in #22201
- fix(core): prevent duplicate tool schemas for instantiated tools by @abhipatel12 in #22204
- fix(core): add proxy routing support for remote A2A subagents by @adamfweidman in #22199
- fix(core/ide): add Antigravity CLI fallbacks by @apfine in #22030
- fix(browser): fix duplicate function declaration error in browser agent by @gsquared94 in #22207
- feat(core): implement Stage 1 improvements for webfetch tool by @aishaneeshah in #21313
- Changelog for v0.34.0-preview.1 by @gemini-cli-robot in #22194
- perf(cli): enable code splitting and deferred UI loading by @sehoon38 in #22117
- fix: remove unused img.png from project root by @SandyTao520 in #22222
- docs(local model routing): add docs on how to use Gemma for local model routing by @douglas-reid in #21365
- feat(a2a): enable native gRPC support and protocol routing by @alisa-alisa in #21403
- fix(cli): escape @ symbols on paste to prevent unintended file expansion by @krishdef7 in #21239
- feat(core): add trajectoryId to ConversationOffered telemetry by @yunaseoul in #22214
- docs: clarify that tools.core is an allowlist for ALL built-in tools by @hobostay in #18813
- docs(plan): document hooks with plan mode by @ruomengz in #22197
New Contributors
- @PrasannaPal21 made their first contribution in #20863
- @yongruilin made their first contribution in #21839
- @Aaxhirrr made their first contribution in #21852
- @Solventerritory made their first contribution in #20989
- @Shyam-Raghuwanshi made their first contribution in #20307
- @aanari made their first contribution in #21932
- @krrishverma1805-web made their first contribution in #19941
- @manavmax made their first contribution in #21124
- @junaiddshaukat made their first contribution in #21561
- @JaisalJain made their first contribution in #21393
- @backnotprop made their first contribution in #21802
- @apfine made their first contribution in #22030
- @douglas-reid made their first contribution in #21365
- @hobostay made their first contribution in #18813
Full Changelog: v0.34.0-nightly.20260310.4653b126f...v0.35.0-nightly.20260313.bb060d7a9