What's Changed
- Update error codes when process exiting the gemini cli by @megha1188 in #13728
- chore(release): bump version to 0.20.0-nightly.20251126.d2a6cff4d by @gemini-cli-robot in #13835
- feat(core): Improve request token calculation accuracy by @SandyTao520 in #13824
- Changes in system instruction to adapt to gemini 3.0 to ensure that the CLI explains its actions before calling tools by @silviojr in #13810
- feat(hooks): Hook Tool Execution Integration by @Edilmo in #9108
- Add support for MCP server instructions behind config option by @chrstnb in #13432
- Update System Instructions for interactive vs non-interactive mode. by @aishaneeshah in #12315
- Add consent flag to Link command by @kevinjwang1 in #13832
- feat(mcp): Inject GoogleCredentialProvider headers in McpClient by @sai-sunder-s in #13783
- feat(core): implement towards policy-driven model fallback mechanism by @adamfweidman in #13781
- feat(core): Add configurable inactivity timeout for shell commands by @galz10 in #13531
- fix(auth): improve API key authentication flow by @galz10 in #13829
- feat(hooks): Hook LLM Request/Response Integration by @Edilmo in #9110
- feat(ui): Show waiting MCP servers in ConfigInitDisplay by @werdnum in #13721
- Add usage limit remaining in /stats by @sehoon38 in #13843
- feat(shell): Standardize pager to 'cat' for shell execution by model by @galz10 in #13878
- chore/release: bump version to 0.20.0-nightly.20251127.5bed97064 by @gemini-cli-robot in #13877
- Revert to default LICENSE (Revert #13449) by @scidomino in #13876
- update(telemetry): OTel API response event with finish reasons by @kiranani in #13849
- feat(hooks): Hooks Comprehensive Integration Testing by @Edilmo in #9112
- chore: fix session browser test and skip hook system tests by @jackwotherspoon in #14099
- feat(telemetry): Add Semantic logging for to ApiRequestEvents by @kiranani in #13912
- test: Add verification for $schema property in settings schema by @maryamariyan in #13497
- Fixes
/clearcommand to preserve input history for up-arrow navigation while still clearing the context window and screen by @korade-krushna in #14182 - fix(core): handle EPIPE error in hook runner when writing to stdin by @SandyTao520 in #14231
- fix: Exclude web-fetch tool from executing in default non-interactive mode to avoid CLI hang. by @MayV in #14244
- Always use MCP server instructions by @chrstnb in #14297
- feat: auto-execute simple slash commands on Enter by @jackwotherspoon in #13985
- chore/release: bump version to 0.20.0-nightly.20251201.2fe609cb6 by @gemini-cli-robot in #14304
- feat: Add startup profiler to measure and record application initialization phases. by @kevin-ramdass in #13638
- bug(core): Avoid stateful tool use in
executor. by @joshualitt in #14305 - feat(themes): add built-in holiday theme 🎁 by @jackwotherspoon in #14301
- Updated ToC on docs intro; updated title casing to match Google style by @pcoet in #13717
- feat(a2a): Urgent fix - Process modelInfo agent message by @cocosheng-g in #14315
- feat(core): enhance availability routing with wrapped fallback and single-model policies by @adamfweidman in #13874
- chore(logging): log the problematic event for #12122 by @briandealwis in #14092
- fix: remove invalid type key in bug_report.yml by @fancive in #13576
- update screenshot by @Transient-Onlooker in #13976
- docs: Fix grammar error in Release Cadence (Nightly section) by @JuanCS-Dev in #13866
- fix(async): prevent missed async errors from bypassing catch handlers by @amsminn in #13714
- fix(zed-integration): remove extra field from acp auth request by @marcocondrache in #13646
- feat(cli): Documentation for model configs. by @joshualitt in #12967
- fix(ui): misaligned markdown table rendering by @dumbbellcode in #8336
- docs: Update 4 files by @g-samroberts in #13628
- fix: Conditionally add set -eEuo pipefail in setup-github command by @Smetalo in #8550
- fix(cli): fix issue updating a component while rendering a different component by @jacob314 in #14319
- Increase flakey test timeout by @chrstnb in #14377
- Remove references to deleted kind/bug label by @scidomino in #14383
- Don't fail test if we can't cleanup by @scidomino in #14389
- feat(core): Implement JIT context manager and setting by @SandyTao520 in #14324
- Use polling for extensions-reload integration test by @chrstnb in #14391
- Add docs directive to GEMINI.md by @g-samroberts in #14327
- Hide sessions that don't have user messages by @bl-ue in #13994
- chore(ci): mark GitHub release as pre-release if not on "latest" npm channel by @ljxfstorm in #7386
New Contributors
- @aishaneeshah made their first contribution in #12315
- @sai-sunder-s made their first contribution in #13783
- @maryamariyan made their first contribution in #13497
- @korade-krushna made their first contribution in #14182
- @pcoet made their first contribution in #13717
- @Transient-Onlooker made their first contribution in #13976
- @JuanCS-Dev made their first contribution in #13866
- @amsminn made their first contribution in #13714
- @marcocondrache made their first contribution in #13646
- @g-samroberts made their first contribution in #13628
Full Changelog: v0.19.0-preview.1...v0.20.0-preview.0