What's Changed
- feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var by @skeshive in #14843
- feat: display quota stats for unused models in /stats by @sehoon38 in #14764
- feat: ensure codebase investigator uses preview model when main agent does by @abhipatel12 in #14412
- chore: add closing reason to stale bug workflow by @galz10 in #14861
- Send the model and CLI version with the user agent by @gundermanc in #14865
- refactor(sessions): move session summary generation to startup by @jackwotherspoon in #14691
- Limit search depth in path corrector by @scidomino in #14869
- Fix: Correct typo in code comment by @kuishou68 in #14671
- feat(core): Plumbing for late resolution of model configs. by @joshualitt in #14597
- feat: attempt more error parsing by @adamfweidman in #14899
- Add missing await. by @gundermanc in #14910
- feat(core): Add support for transcript_path in hooks for git-ai/Gemini extension by @svarlamov in #14663
- refactor: implement DelegateToAgentTool with discriminated union by @abhipatel12 in #14769
- feat: reset availabilityService on /auth by @adamfweidman in #14911
- chore/release: bump version to 0.21.0-nightly.20251211.8c83e1ea9 by @gemini-cli-robot in #14924
- Fix: Correctly detect MCP tool errors by @kevin-ramdass in #14937
- increase labeler timeout by @scidomino in #14922
- tool(cli): tweak the frontend tool to be aware of more core files from the cli by @jacob314 in #14962
- feat(cli): polish cached token stats and simplify stats display when quota is present. by @jacob314 in #14961
- feat(settings-validation): add validation for settings schema by @lifefloating in #12929
- fix(ide): Update IDE extension to write auth token in env var by @skeshive in #14999
- Revert "chore(deps): bump express from 5.1.0 to 5.2.0" by @skeshive in #14998
- feat(a2a): Introduce /init command for a2a server by @cocosheng-g in #13419
- feat: support multi-file drag and drop of images by @jackwotherspoon in #14832
- fix(policy): allow codebase_investigator by default in read-only policy by @abhipatel12 in #15000
- refactor(ide ext): Update port file name + switch to 1-based index for characters + remove truncation text by @skeshive in #10501
- fix(vscode-ide-companion): correct license generation for workspace dependencies by @skeshive in #15004
- fix: temp fix for subagent invocation until subagent delegation is merged to stable by @abhipatel12 in #15007
- test: update ide detection tests to make them more robust when run in an ide by @kevin-ramdass in #15008
- Remove flex from stats display. See snapshots for diffs. by @jacob314 in #14983
- Add license field into package.json by @jb-perez in #14473
- feat: Persistent "Always Allow" policies with granular shell & MCP support by @allenhutchison in #14737
- chore/release: bump version to 0.21.0-nightly.20251212.54de67536 by @gemini-cli-robot in #14969
- fix(core): commandPrefix word boundary and compound command safety by @allenhutchison in #15006
- chore(docs): add 'Maintainers only' label info to CONTRIBUTING.md by @jacob314 in #14914
- Refresh hooks when refreshing extensions. by @scidomino in #14918
- Add clarity to error messages by @gsehgal in #14879
- chore : remove a redundant tip by @JayadityaGit in #14947
- chore/release: bump version to 0.21.0-nightly.20251213.977248e09 by @gemini-cli-robot in #15029
- Disallow redundant typecasts. by @gundermanc in #15030
- fix(auth): prioritize GEMINI_API_KEY env var and skip unnecessary key… by @galz10 in #14745
- fix: use zod for safety check result validation by @allenhutchison in #15026
- update(telemetry): add hashed_extension_name to field to extension events by @kiranani in #15025
- fix: similar to policy-engine, throw error in case of requiring tool execution confirmation for non-interactive mode by @MayV in #14702
- Clean up processes in integration tests by @scidomino in #15102
- docs: update policy engine getting started and defaults by @NTaylorMullen in #15105
- Fix tool output fragmentation by encapsulating content in functionResponse by @abhipatel12 in #13082
- Simplify method signature. by @scidomino in #15114
- Show raw input token counts in json output. by @jacob314 in #15021
- fix: Mark A2A requests as interactive by @MayV in #15108
- use previewFeatures to determine which pro model to use for A2A by @sehoon38 in #15131
- refactor(cli): fix settings merging so that settings using the new json format take priority over ones using the old format by @jacob314 in #15116
New Contributors
- @kuishou68 made their first contribution in #14671
- @svarlamov made their first contribution in #14663
- @jb-perez made their first contribution in #14473
Full Changelog: v0.21.0-preview.6...v0.22.0-preview.0