## What's Changed
* chore(release): bump version to 0.12.0-nightly.20251022.0542de95 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/11672
* fix(test): unskip and fix useToolScheduler tests by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11671
* Add extension alias for extensions command by @kevinjwang1 in https://github.com/google-gemini/gemini-cli/pull/11622
* feat(infra) - Create a workflow for deflake by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11535
* Add setting to disable YOLO mode by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/11609
* feat(infra) - Update status for chained e2e by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11651
* extract console error to util func by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/11675
* Document todo tool by @scidomino in https://github.com/google-gemini/gemini-cli/pull/11695
* feat(infra) - Add logging for when user tries to exit multiple times by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11218
* fix(ui): Fix and unskip InputPrompt tests by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11700
* Docs: adds 2025-10-13 changelog. by @jkcinouye in https://github.com/google-gemini/gemini-cli/pull/11751
* feat(preflight): Use venv for yamllint installation by @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/11694
* fix(a2a-server): Fix and unskip GCS persistence test by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11755
* fix(cli): fix race condition and unskip tests in useGitBranchName by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11759
* refactor: simplify FilterReport and remove unused code by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11681
* refactor(core): Clean up exclude description by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11678
* Refactor KeypressContext by @scidomino in https://github.com/google-gemini/gemini-cli/pull/11677
* fix(ui): resolve race condition in double-escape handler by @Lyonk71 in https://github.com/google-gemini/gemini-cli/pull/8913
* refactor(cli): Parameterize tests in InputPrompt by @MJjainam in https://github.com/google-gemini/gemini-cli/pull/11776
* Docs: Fix broken link in docs/cli/configuration.md by @Smetalo in https://github.com/google-gemini/gemini-cli/pull/11655
* Adds executeCommand endpoint with support for /extensions list by @jdgarrido1105 in https://github.com/google-gemini/gemini-cli/pull/11515
* Fix broken links in documentation by @Smetalo in https://github.com/google-gemini/gemini-cli/pull/11789
* Re-enable test. by @cornmander in https://github.com/google-gemini/gemini-cli/pull/11628
* Add extension settings to be requested on install by @chrstnb in https://github.com/google-gemini/gemini-cli/pull/9802
* feat: Add lychee-action to check for broken links by @Smetalo in https://github.com/google-gemini/gemini-cli/pull/11781
* fix(infra) - Remove context input for setting status by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11734
* Fix bug where tool scheduler was repeatedly created. by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/11767
* feat(infra) - Make merge group and pushes run chained e2e by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11796
* feat(ux): Surface internal errors via unified event system by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/11803
* Create ExtensionManager class which manages all high level extension tasks by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11667
* fix(infra) - Fix merge queue skipper issues for chain e2e by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11810
* fix: align shell allowlist handling (#11510) by @cornmander in https://github.com/google-gemini/gemini-cli/pull/11813
* Use raw writes to stdin where possible in tests by @scidomino in https://github.com/google-gemini/gemini-cli/pull/11837
* Added parameterization to base-storage-token.test and prompts.test.ts by @IamRiddhi in https://github.com/google-gemini/gemini-cli/pull/11821
* feat(core) Bump get-ripgrep version. by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/11698
* First take at mocking out gemini cli responses in integration tests by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11156
* Use raw writes to stdin in test by @scidomino in https://github.com/google-gemini/gemini-cli/pull/11871
* fix(cli): re-throw errors in non-interactive mode by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11849
* Adding Parameterised tests by @IamRiddhi in https://github.com/google-gemini/gemini-cli/pull/11930
* chore(core): add token caching in google auth provider by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/11946
* docs(cli): update telemetry documentation by @jerop in https://github.com/google-gemini/gemini-cli/pull/11806
* run bom test on windows by @luckybug38 in https://github.com/google-gemini/gemini-cli/pull/11828
* Stop logging session ids on extension events by @owenofbrien in https://github.com/google-gemini/gemini-cli/pull/11941
* Fix(cli): Use the correct extensionPath by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11896
* fix(security) - Use emitFeedback by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11961
* fix(security) - Use emitFeedback instead of console error by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11948
* fix: handle request retries and model fallback correctly by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/11624
* fix(infra) - Simplify cancel in progress and add permission to set status step by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/11835
* Add regression tests for shell command parsing by @cornmander in https://github.com/google-gemini/gemini-cli/pull/11962
* Fix(cli): Use cross-platform path separators in extension tests by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11970
* fix linked extension test on windows by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11973
* feat(core): Introduce message bus for tool execution confirmation by @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/11544
* fix(cli): Use correct defaults for file filtering by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11426
* fix(core): use debugLogger.warn for loop detection errors by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11986
* fix(update): replace update-notifier with latest-version by @galz10 in https://github.com/google-gemini/gemini-cli/pull/11989
* use coreEvents.emitFeedback in extension enablement by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11985
* Fix tests by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/11998
* Support redirects in fetchJson, add tests for it by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11993
* fix(tools): ReadFile no longer shows confirmation when message bus is off by @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/12003
* use debugLogger instead of console.error by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11990
* Support paste markers split across writes. by @scidomino in https://github.com/google-gemini/gemini-cli/pull/11977
* refactor: Switch over to unified shouldIgnoreFile by @EricRahm in https://github.com/google-gemini/gemini-cli/pull/11815
* Fix typo in: packages/cli/src/utils/handleAutoUpdate.ts by @Qiyu-Wei in https://github.com/google-gemini/gemini-cli/pull/11809
* docs(contributing): update project structure section with missing packages by @0xlakshan in https://github.com/google-gemini/gemini-cli/pull/11599
* Make PASTE_WORKAROUND the default. by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12008
* refactor(cli): replace custom wait with vi.waitFor in InputPrompt tests by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/12005
* Fix the shortenPath function to correctly insert ellipsis. by @ph-sp in https://github.com/google-gemini/gemini-cli/pull/12004
* fix(core): Prepend user message to loop detection history if it starts with a function call by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/11860
* Remove non-existent parallel flag. by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12018
* First batch of fixing tests to use best practices. by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/11964
* add absolute file path description for windows by @gsehgal in https://github.com/google-gemini/gemini-cli/pull/12007
* fix(cli): Add delimiter before printing tool response in non-interactive mode by @krishna-kb in https://github.com/google-gemini/gemini-cli/pull/11351
* fix: user configured oauth scopes should take precedence over discovered scopes by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/12088
* feat(core, cli): Implement sequential approval. by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/11593
* Refactor vim.test.ts: Use Parameterized Tests by @IamRiddhi in https://github.com/google-gemini/gemini-cli/pull/11969
* docs(github): revamp pull request template by @jerop in https://github.com/google-gemini/gemini-cli/pull/11949
* use debugLogger instead of console by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12095
* Implementing support for recitations events in responses from A2A Server by @alisa-alisa in https://github.com/google-gemini/gemini-cli/pull/12067
* fix(core): update loop detection LLM schema fields by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/12091
* Docs: Contributing guide by @jkcinouye in https://github.com/google-gemini/gemini-cli/pull/12012
* Create BYOID auth client when detecting BYOID credentials by @cocosheng-g in https://github.com/google-gemini/gemini-cli/pull/11592
* feat(ID token support): Add ID token support for authenticating to MC… by @RuchikaGoel in https://github.com/google-gemini/gemini-cli/pull/12031
* fix(telemetry): Prevent duplicate StartSessionEvent logging by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/12090
* refactor(core): extract ChatCompressionService from GeminiClient by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/12001
* fix(ci): tsc build for package/core is idempodent by @mattKorwel in https://github.com/google-gemini/gemini-cli/pull/12112
* (fix): appcontainer should not poll and footer should use currentModel from ui state by @psinha40898 in https://github.com/google-gemini/gemini-cli/pull/11923
* feat: added basic dev otel trace instrumentation by @pavelgj in https://github.com/google-gemini/gemini-cli/pull/11690
* Fix config test so it passes even if the user running the test happens to have set GEMINI_MODEL to flash by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/12114
* Migrate to coreEvents/debugLogger by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12107
* Added a a script to setup and run genkit telemetry and dev ui by @pavelgj in https://github.com/google-gemini/gemini-cli/pull/12120
* refactor(core): Parameterize tests in glob.test.ts by @MJjainam in https://github.com/google-gemini/gemini-cli/pull/12061
* docs: update installation section in README by @Tekrah123 in https://github.com/google-gemini/gemini-cli/pull/12035
* Revert "feat(ID token support): Add ID token support for authenticating to MC…" by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/12162
* chore(console): change console errors in sa-impersontation by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/12165
* revert nightly schedule by @skeshive in https://github.com/google-gemini/gemini-cli/pull/11653
* Add ExtensionLoader interface, use that on Config object by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/12116
* feat(policy): Introduce config-based policy engine with TOML configuration by @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/11992
* refactor: Migrate console.error to debugLogger.warn in atCommandProcessor.ts by @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/12134
* feat: Add message bus setting guard for tool confirmation by @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/12169
* Migrate tests to use avoid jsdom by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/12118
* feat: Add explore subcommand for extension by @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/11846
* fix(infra) - Continue workflow when merge queue skipper fail by @shishu314 in https://github.com/google-gemini/gemini-cli/pull/10509
* Add support for sensitive keychain-stored per-extension settings by @chrstnb in https://github.com/google-gemini/gemini-cli/pull/11953
* chore: migrate console.error in useGeminiStream by @hritan in https://github.com/google-gemini/gemini-cli/pull/12157
* chore: migrate console.error in workspaceContext by @hritan in https://github.com/google-gemini/gemini-cli/pull/12167
* Change debug drawer keybinding to F12 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12171
* Record model responses with --record-responses (for use in testing) by @jakemac53 in https://github.com/google-gemini/gemini-cli/pull/11894
* feat: Add Open Telemetric semantic standard compliant log by @bobcatfish in https://github.com/google-gemini/gemini-cli/pull/11975
* Remove obsolete snapshots by @scidomino in https://github.com/google-gemini/gemini-cli/pull/12180
* Disable model routing for oauth users by @mrcabbage972 in https://github.com/google-gemini/gemini-cli/pull/11889
* feat(docs): Symlink CONTRIBUTING.md in the docs folder so that the site can pick it up. by @richieforeman in https://github.com/google-gemini/gemini-cli/pull/12178
## New Contributors
* @kevinjwang1 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11622
* @Adib234 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11609
* @jdgarrido1105 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11515
* @luckybug38 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11828
* @Qiyu-Wei made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11809
* @0xlakshan made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11599
* @ph-sp made their first contribution in https://github.com/google-gemini/gemini-cli/pull/12004
* @krishna-kb made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11351
* @alisa-alisa made their first contribution in https://github.com/google-gemini/gemini-cli/pull/12067
* @cocosheng-g made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11592
* @RuchikaGoel made their first contribution in https://github.com/google-gemini/gemini-cli/pull/12031
* @pavelgj made their first contribution in https://github.com/google-gemini/gemini-cli/pull/11690
* @Tekrah123 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/12035
**Full Changelog**: https://github.com/google-gemini/gemini-cli/compare/v0.11.0-preview.1...v0.12.0-preview.0