What's Changed
- feat(cli): add chat resume footer on session quit by @lordshashank in #20667
- Support bold and other styles in svg snapshots by @jacob314 in #20937
- fix(core): increase A2A agent timeout to 30 minutes by @adamfweidman in #21028
- Cleanup old branches. by @jacob314 in #19354
- chore(release): bump version to 0.34.0-nightly.20260303.34f0c1538 by @gemini-cli-robot in #21034
- feat(ui): standardize semantic focus colors and enhance history visibility by @keithguerin in #20745
- fix: merge duplicate imports in packages/core (3/4) by @Nixxx19 in #20928
- Add extra safety checks for proto pollution by @jacob314 in #20396
- feat(core): Add tracker CRUD tools & visualization by @anj-s in #19489
- Revert "fix(ui): persist expansion in AskUser dialog when navigating options" by @jacob314 in #21042
- Changelog for v0.33.0-preview.0 by @gemini-cli-robot in #21030
- fix: model persistence for all scenarios by @sripasg in #21051
- chore/release: bump version to 0.34.0-nightly.20260304.28af4e127 by @gemini-cli-robot in #21054
- Consistently guard restarts against concurrent auto updates by @scidomino in #21016
- Defensive coding to reduce the risk of Maximum update depth errors by @jacob314 in #20940
- fix(cli): Polish shell autocomplete rendering to be a little more shell native feeling. by @jacob314 in #20931
- Docs: Update plan mode docs by @jkcinouye in #19682
- fix(mcp): Notifications/tools/list_changed support not working by @jacob314 in #21050
- fix(cli): register extension lifecycle events in DebugProfiler by @fayerman-source in #20101
- chore(dev): update vscode settings for typescriptreact by @rohit-4321 in #19907
- fix(cli): enable multi-arch docker builds for sandbox by @ru-aish in #19821
- Changelog for v0.32.0 by @gemini-cli-robot in #21033
- Changelog for v0.33.0-preview.1 by @gemini-cli-robot in #21058
- feat(core): improve @file autocomplete to prioritize filenames by @sehoon38 in #21064
- feat(sandbox): add experimental LXC container sandbox support by @h30s in #20735
- feat(evals): add overall pass rate row to eval nightly summary table by @gundermanc in #20905
- feat(telemetry): include language in telemetry and fix accepted lines computation by @gundermanc in #21126
- Changelog for v0.32.1 by @gemini-cli-robot in #21055
- feat(core): add robustness tests, logging, and metrics for CodeAssistServer SSE parsing by @yunaseoul in #21013
- feat: add issue assignee workflow by @kartikangiras in #21003
- fix: improve error message when OAuth succeeds but project ID is required by @Nixxx19 in #21070
- feat(loop-reduction): implement iterative loop detection and model feedback by @aishaneeshah in #20763
- chore(github): require prompt approvers for agent prompt files by @gundermanc in #20896
- Docs: Create tools reference by @jkcinouye in #19470
- fix(core, a2a-server): prevent hang during OAuth in non-interactive sessions by @spencer426 in #21045
- chore(cli): enable deprecated settings removal by default by @yashodipmore in #20682
- feat(core): Disable fast ack helper for hints. by @joshualitt in #21011
- fix(ui): suppress redundant failure note when tool error note is shown by @NTaylorMullen in #21078
- docs: document planning workflows with Conductor example by @jerop in #21166
- feat(release): ship esbuild bundle in npm package by @genneth in #19171
- fix(extensions): preserve symlinks in extension source path while enforcing folder trust by @galz10 in #20867
- fix(cli): defer tool exclusions to policy engine in non-interactive mode by @EricRahm in #20639
- fix(ui): removed double padding on rendered content by @devr0306 in #21029
- fix(core): truncate excessively long lines in grep search output by @gundermanc in #21147
- feat: add custom footer configuration via
/footerby @jackwotherspoon in #19001 - perf(core): fix OOM crash in long-running sessions by @WizardsForgeGames in #19608
- refactor(cli): categorize built-in themes into dark/ and light/ directories by @JayadityaGit in #18634
- fix(core): explicitly allow codebase_investigator and cli_help in read-only mode by @Adib234 in #21157
- test: add browser agent integration tests by @kunal-10-cloud in #21151
- fix(cli): fix enabling kitty codes on Windows Terminal by @scidomino in #21136
- refactor(core): extract shared OAuth flow primitives from MCPOAuthProvider by @SandyTao520 in #20895
- fix(ui): add partial output to cancelled shell UI by @devr0306 in #21178
- fix(cli): replace hardcoded keybinding strings with dynamic formatters by @scidomino in #21159
- DOCS: Update quota and pricing page by @g-samroberts in #21194
- feat(telemetry): implement Clearcut logging for startup statistics by @yunaseoul in #21172
- feat(triage): add area/documentation to issue triage by @g-samroberts in #21222
- Fix so shell calls are formatted by @jacob314 in #21237
- feat(cli): add native gVisor (runsc) sandboxing support by @Zheyuan-Lin in #21062
- docs: use absolute paths for internal links in plan-mode.md by @jerop in #21299
- fix(core): prevent unhandled AbortError crash during stream loop detection by @7hokerz in #21123
- fix:reorder env var redaction checks to scan values first by @kartikangiras in #21059
- fix(acp): rename --experimental-acp to --acp & remove Zed-specific refrences by @skeshive in #21171
- feat(core): fallback to 2.5 models with no access for toolcalls by @sehoon38 in #21283
- test(core): improve testing for API request/response parsing by @sehoon38 in #21227
- docs(links): update docs-writer skill and fix broken link by @g-samroberts in #21314
- Fix code colorizer ansi escape bug. by @jacob314 in #21321
- remove wildcard behavior on keybindings by @scidomino in #21315
- feat(acp): Add support for AI Gateway auth by @skeshive in #21305
- fix(theme): improve theme color contrast for macOS Terminal.app by @clocky in #21175
- feat (core): Implement tracker related SI changes by @anj-s in #19964
- Changelog for v0.33.0-preview.2 by @gemini-cli-robot in #21333
- Changelog for v0.33.0-preview.3 by @gemini-cli-robot in #21347
- docs: format release times as HH:MM UTC by @pavan-sh in #20726
- fix(cli): implement --all flag for extensions uninstall by @sehoon38 in #21319
- docs: fix incorrect relative links to command reference by @kanywst in #20964
- documentiong ensures ripgrep by @Jatin24062005 in #21298
- fix(core): handle AbortError thrown during processTurn by @MumuTW in #21296
- docs(cli): clarify ! command output visibility in shell commands tutorial by @MohammedADev in #21041
- fix: logic for task tracker strategy and remove tracker tools by @anj-s in #21355
- fix(partUtils): display media type and size for inline data parts by @Aboudjem in #21358
- Fix(accessibility): add screen reader support to RewindViewer by @Famous077 in #20750
- fix(hooks): propagate stopHookActive in AfterAgent retry path (#20426) by @Aarchi-07 in #20439
- fix(core): deduplicate GEMINI.md files by device/inode on case-insensitive filesystems (#19904) by @Nixxx19 in #19915
- feat(core): add concurrency safety guidance for subagent delegation (#17753) by @abhipatel12 in #21278
- feat(ui): dynamically generate all keybinding hints by @scidomino in #21346
- feat(core): implement unified KeychainService and migrate token storage by @ehedlund in #21344
- fix(cli): gracefully handle --resume when no sessions exist by @SandyTao520 in #21429
- fix(plan): keep approved plan during chat compression by @ruomengz in #21284
- feat(core): implement generic CacheService and optimize setupUser by @sehoon38 in #21374
- Update quota and pricing documentation with subscription tiers by @srithreepo in #21351
- fix(core): append correct OTLP paths for HTTP exporters by @sebastien-prudhomme in #16836
- Changelog for v0.33.0-preview.4 by @gemini-cli-robot in #21354
- feat(cli): implement dot-prefixing for slash command conflicts by @ehedlund in #20979
- refactor(core): standardize MCP tool naming to mcp_ FQN format by @abhipatel12 in #21425
- feat(cli): hide gemma settings from display and mark as experimental by @abhipatel12 in #21471
- feat(skills): refine string-reviewer guidelines and description by @clocky in #20368
- fix(core): whitelist TERM and COLORTERM in environment sanitization by @deadsmash07 in #20514
- fix(billing): fix overage strategy lifecycle and settings integration by @gsquared94 in #21236
- fix: expand paste placeholders in TextInput on submit by @Jefftree in #19946
- fix(core): add in-memory cache to ChatRecordingService to prevent OOM by @SandyTao520 in #21502
- feat(cli): overhaul thinking UI by @keithguerin in #18725
- fix(ui): unify Ctrl+O expansion hint experience across buffer modes by @jwhelangoog in #21474
- fix(cli): correct shell height reporting by @jacob314 in #21492
- Make test suite pass when the GEMINI_SYSTEM_MD env variable or GEMINI_WRITE_SYSTEM_MD variable happens to be set locally/ by @jacob314 in #21480
- Disallow underspecified types by @gundermanc in #21485
- refactor(cli): standardize on 'reload' verb for all components by @keithguerin in #20654
- feat(cli): Invert quota language to 'percent used' by @keithguerin in #20100
- Docs: Add documentation for notifications (experimental)(macOS) by @jkcinouye in #21163
- Code review comments as a pr by @jacob314 in #21209
- feat(cli): unify /chat and /resume command UX by @LyalinDotCom in #20256
- docs: fix typo 'allowslisted' -> 'allowlisted' in mcp-server.md by @Gyanranjan-Priyam in #21665
- fix(core): display actual graph output in tracker_visualize tool by @anj-s in #21455
- fix(core): sanitize SSE-corrupted JSON and domain strings in error classification by @gsquared94 in #21702
- Docs: Make documentation links relative by @diodesign in #21490
- feat(cli): expose /tools desc as explicit subcommand for discoverability by @aworki in #21241
- feat(cli): add /compact alias for /compress command by @jackwotherspoon in #21711
- feat(plan): enable Plan Mode by default by @jerop in #21713
- feat(core): Introduce
AgentLoopContext. by @joshualitt in #21198 - fix(core): resolve symlinks for non-existent paths during validation by @Adib234 in #21487
- docs: document tool exclusion from memory via deny policy by @Abhijit-2592 in #21428
- perf(core): cache loadApiKey to reduce redundant keychain access by @sehoon38 in #21520
- feat(cli): implement /upgrade command by @sehoon38 in #21511
- Feat/browser agent progress emission by @kunal-10-cloud in #21218
- fix(settings): display objects as JSON instead of [object Object] by @Zheyuan-Lin in #21458
- Unmarshall update by @DavidAPierce in #21721
- Update mcp's list function to check for disablement. by @DavidAPierce in #21148
- robustness(core): static checks to validate history is immutable by @jacob314 in #21228
- refactor(cli): better react patterns for BaseSettingsDialog by @psinha40898 in #21206
- feat(security): implement robust IP validation and safeFetch foundation by @alisa-alisa in #21401
- feat(core): improve subagent result display by @joshualitt in #20378
- docs: fix broken markdown syntax and anchor links in /tools by @campox747 in #20902
- feat(policy): support subagent-specific policies in TOML by @akh64bit in #21431
- Add script to speed up reviewing PRs adding a worktree. by @jacob314 in #21748
- fix(core): prevent infinite recursion in symlink resolution by @Adib234 in #21750
- fix(docs): fix headless mode docs by @ame2en in #21287
- feat/redesign header compact by @jacob314 in #20922
- refactor: migrate to useKeyMatchers hook by @scidomino in #21753
- perf(cli): cache loadSettings to reduce redundant disk I/O at startup by @sehoon38 in #21521
- fix(core): resolve Windows line ending and path separation bugs across CLI by @muhammadusman586 in #21068
- docs: fix heading formatting in commands.md and phrasing in tools-api.md by @campox747 in #20679
- refactor(ui): unify keybinding infrastructure and support string initialization by @scidomino in #21776
- Add support for updating extension sources and names by @chrstnb in #21715
- fix(core): handle GUI editor non-zero exit codes gracefully by @reyyanxahmed in #20376
- fix(core): destroy PTY on kill() and exception to prevent fd leak by @nbardy in #21693
- 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
New Contributors
- @lordshashank made their first contribution in #20667
- @fayerman-source made their first contribution in #20101
- @rohit-4321 made their first contribution in #19907
- @ru-aish made their first contribution in #19821
- @yashodipmore made their first contribution in #20682
- @genneth made their first contribution in #19171
- @WizardsForgeGames made their first contribution in #19608
- @kunal-10-cloud made their first contribution in #21151
- @Zheyuan-Lin made their first contribution in #21062
- @7hokerz made their first contribution in #21123
- @clocky made their first contribution in #21175
- @kanywst made their first contribution in #20964
- @Jatin24062005 made their first contribution in #21298
- @MumuTW made their first contribution in #21296
- @MohammedADev made their first contribution in #21041
- @Aboudjem made their first contribution in #21358
- @Famous077 made their first contribution in #20750
- @Aarchi-07 made their first contribution in #20439
- @sebastien-prudhomme made their first contribution in #16836
- @deadsmash07 made their first contribution in #20514
- @Gyanranjan-Priyam made their first contribution in #21665
- @diodesign made their first contribution in #21490
- @aworki made their first contribution in #21241
- @akh64bit made their first contribution in #21431
- @ame2en made their first contribution in #21287
- @muhammadusman586 made their first contribution in #21068
- @nbardy made their first contribution in #21693
- @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
Full Changelog: v0.33.0-preview.15...v0.34.0-preview.0