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