What's Changed
- refactor: remove modelCheck feature by @allenhutchison in #6185
 - Fix/emoji support by @jacob314 in #6187
 - feat(deps): Update @google/genai to 1.13.0 by @SandyTao520 in #6184
 - docs: update how to use vertex AI auth with ADC by @gsquared94 in #6193
 - chore(release): v0.1.21 by @mattKorwel in #6207
 - Log CLI version and git commit hash (v2) by @owenofbrien in #6176
 - Update versioning script to also bump version for companion extension so they stay in sync by @skeshive in #6075
 - Docs: update overview of Gemini CLI GitHub Actions by @jerop in #6198
 - [ide-mode] Suggest the extension name in the installation messages by @chrstnb in #6182
 - chore(vscode): Add eslint as a recommended extension by @richieforeman in #6196
 - /chat save command saves empty conversations with only system context by @trycatchkamal in #6121
 - bug(cli): Exclude only specific tests. by @joshualitt in #6244
 - [ide-mode] Add docs on running the vscode companion extension locally by @chrstnb in #6145
 - Update IDE integration context toggle shortcut to ctrl+G by @skeshive in #6245
 - feat: Allow combining -p and stdin for prompt input by @wietsevenema in #4406
 - [ide-mode] Write port to file in ide-server by @chrstnb in #5811
 - Fix release notes generation by @skeshive in #6233
 - feat: Show untrusted status in the Footer by @shrutip90 in #6210
 - docs: remove reference to Gemini Code Assist for Workspace by @scidomino in #6247
 - [ide-mode] Support multi-folder workspaces by @chrstnb in #6177
 - feat(core): Migrate web-search, write-file, and discovered-tool. by @joshualitt in #6188
 - feat(core): refactor shell execution to use node-pty by @galz10 in #6088
 - feat(triage): Improve GitHub issue triage workflows by @jerop in #6120
 - bug(mcp): catch errors reported by GitHub MCP by @leehagoodjames in #6194
 - Prevent writing outside of the workspace roots by @scidomino in #6178
 - fix(#5340): unable to load chats with weird characters by @hugomurillomtz in #5969
 - Fix flake due to using wait instead of waitFor by @jacob314 in #6277
 - Fix bug where RadioButtonSelect treated an omitted isFocus parameter by @jacob314 in #6274
 - Fix license notice generation script to include transitive dependencies by @skeshive in #6272
 - IDE integration Gemini command multi-folder support + bump version by @skeshive in #6265
 - Show /ide enable & /ide disable commands based on connection status by @skeshive in #6248
 - update docs by @JayadityaGit in #6204
 - fix: console patcher initialised in main by @hritan in #6252
 - Fix flaky test for SettingsDialog. by @jacob314 in #6294
 - Stylize diff line numbers & characters by @miguelsolorio in #6269
 - fix: update issue dedup workflow by @gsquared94 in #6275
 - feat(shell): Include disallowed commands in block reason by @cornmander in #6278
 - fix: pendingSlashCommandHistoryItems corrected to properly memoize updates by @psinha40898 in #6282
 - Add session id to session summary and /bug template by @owenofbrien in #6313
 - fix(input) ctrl-j support was lost switching to keyBindings.ts by @jacob314 in #6305
 - chore: remove duplicated lockfile by @Brooooooklyn in #6291
 - feat(core): Migrate MockTools to declarative pattern. by @joshualitt in #6197
 - fix(ui): Fix hang in chat save confirmation dialog by @flowernotfound in #6312
 - feat(about): Add the IDE Client's display name to 
/aboutby @evanotero in #6311 - Revert #6088 by @galz10 in #6328
 - fix(input) Resolve cases where escape was broken by @jacob314 in #6304
 - Update quota-and-pricing.md to clarify billing by @blanca-delgado-parra in #6092
 - Fix shell tool description to be os-specific by @scidomino in #6335
 - fixes for oauth spec - adds github oauth support. Resource paramater. by @emeryray2002 in #6281
 - fix(input): Handle numpad enter key in kitty protocol terminals by @deepankarsharma in #6341
 - fix: improve robustness of 
gemini mcp addcommand by @jackwotherspoon in #6332 - use toMatchSnapshot in test by @scidomino in #6344
 - fix: allow user to use responseSchema as well. by @wanlin31 in #6336
 - fix: handle multiline output in issue dedup workflow by @gsquared94 in #6338
 - Check for pending tool calls before appending IDE Context by @evanotero in #6317
 - Update semantic color tokens by @miguelsolorio in #6253
 - [ide-mode] Fix path delimiter for multi-root workspaces on Windows by @sunnyps in #6273
 - Add support for HTTP OpenTelemetry exporters by @bbiggs in #6357
 - Revert "Update semantic color tokens" by @jacob314 in #6365
 - feat(oauth): Make oauth client a singleton to survive cache failures by @mboshernitsan in #6348
 - Fix integration test. by @cornmander in #6403
 - Fix missing import in ide integration tests. by @cornmander in #6407
 - feat(cli): Introduce arguments for shell execution in custom commands by @abhipatel12 in #5966
 - Fix several IDE mode integration tests by @cornmander in #6408
 - chore(compiler): Enable strict property access TS compiler flag. by @richieforeman in #6255
 - Add vi globals to fix integration tests. by @cornmander in #6445
 - Fix URL truncation in CLI display components #5902 by @lifefloating in #5925
 - Sends Gemini CLI Client install id to Vertex and Gemini. by @uttamkanodia14 in #6217
 - fix(commands): Respect YOLO mode in custom slash commands by @abhipatel12 in #6441
 - Revert "Show /ide enable & /ide disable commands based on connection status" by @skeshive in #6486
 - Disable failing IDE tests. by @cornmander in #6481
 - feat(client/compression): Log telemetry when compressing chat context. by @richieforeman in #6195
 - Log start session event through telemetry/loggers by @bbiggs in #6431
 - bug(core): Do not throw validation errors when building tools in 
nonInteractiveToolExecutor. by @joshualitt in #6363 - feat(filesearch): Introduce non-recursive file search strategy by @brychanrobot in #6087
 - Add MCP Root change notifications by @jakemac53 in #6502
 - fix: GCA creds loading order by @gsquared94 in #6498
 - fix(docs): update authentication documentation to reflect available options by @bulkypanda in #6361
 - Read and write files through Zed by @ConradIrwin in #6169
 - fix(tools): Handle special characters in file paths for glob and read_many_files by @galz10 in #6507
 - feat(sessions): Introduce core ChatRecordingService for automatic conversation saving by @bl-ue in #5221
 - feat(settings): enhance settings management with generic setter and display hel… by @ali-aljufairi in #6202
 - fix(settings) : Disable showing statics in the dialog by @ali-aljufairi in #5998
 - Changes to add tool_type as dimension by @agarwalravikant in #6538
 - fix: ensure consistent theme behavior between local and CI test runs by @bulkypanda in #6358
 - feat: add file change tracking to session metrics by @bulkypanda in #6094
 - fix: add privacy settings hook and tests by @bulkypanda in #6360
 - feat(ui): implement message queuing during streaming responses by @akhil29 in #6049
 - feat: Show /ide subcommands based on connection status instead of ideMode boolean by @skeshive in #6496
 - feat: Add IDE client to /bug & /about if IDE mode is enabled by @skeshive in #6567
 - feat: restart MCP servers on /mcp refresh by @rmedranollamas in #5479
 - fix(#5605): .env file loaded after settings are parsed by @hugomurillomtz in #6494
 - Log all session metadata by @owenofbrien in #6423
 - fix(core): harden user account caching by @mboshernitsan in #6501
 - Remove checking for a condition just for logging by @anj-s in #6503
 - Fix locale-specific date formatting issue in environmentContext.ts by @lifefloating in #5889
 - fix(ide): Fix bug where companion extension was not being installed on Windows correctly by @skeshive in #6576
 - fix(paste) incorrect handling of \\n in pastes by @jacob314 in #6532
 - feat(core): Cleanup after migrating tools. by @joshualitt in #6199
 - feat(ui): add 
hideFootersetting to hide footer from UI by @jackwotherspoon in #6505 - docs: Update mcpServers configuration documentation by @yoichiro in #6556
 - Remove unnecessary promiuse usage. by @scidomino in #6585
 - feat(core): refactor shell execution to use node-pty by @galz10 in #6491
 - Get ToolRegistry from config instead of passing it by @scidomino in #6592
 - update(opentelemetry): Upgrade OTel dependencies by @kiranani in #6540
 - feat(core): Add skipNextSpeakerCheck setting by @SandyTao520 in #6589
 - fix: allow re-auth with another google account by @bulkypanda in #6544
 - fix(ide): Correctly identify IDE process when run from terminal by @skeshive in #6566
 - Fix IDE Companion Connection in Proxy Environments by @Blackoutta in #6308
 - feat: auto-approve compatible pending tools when allow always is selected by @bulkypanda in #6519
 - Update shell service integration tests by @galz10 in #6598
 - feat: update .gitignore in /setup-github by @jerop in #6591
 - Refac: Centralize storage file management by @y-okt in #4078
 - Update README.md by @mattKorwel in #6603
 - feat: add dependabot configuration by @cornmander in #6604
 - Ignore workspace settings for untrusted folders by @shrutip90 in #6606
 - Add permissions specs to token generation. by @cornmander in #6595
 - docs: Update keyboard shortcuts for input clearing functionality by @lifefloating in #6627
 - chore(deps)(deps): bump google-github-actions/run-gemini-cli from 0.1.10 to 0.1.11 by @dependabot[bot] in #6614
 - Changes to add MCP tool count, and MCP tool name as dimension by @agarwalravikant in #6631
 - test(logging): Add tests for default log fields by @leehagoodjames in #6583
 - Fix formatting in README.md by @aaabramov in #6621
 - feat(release): update release process for nightly and preview builds by @mattKorwel in #6643
 - Add enterprise settings docs by @chrstnb in #6076
 - fix: typo in readme by @bravetux in #6669
 - fix: copy command gets stuck by @hritan in #6482
 - Revert "Ignore workspace settings for untrusted folders" by @jacob314 in #6672
 - Fixing at command race condition by @mrcabbage972 in #6663
 - return the JSON stringified parameters from getDescription for MCP tools and Discovered tools by @jakemac53 in #6655
 - fix: typos/grammar in roadmap by @bravetux in #6675
 - feat(core): Handle special characters in file search paths by @SandyTao520 in #6680
 - feat(ide ext): Write workspace path to port file by @skeshive in #6659
 - feat(ide): improve IDE installation UX and feedback by @skeshive in #6677
 - Limit dependabot PRs to security updates by @cornmander in #6657
 - Remove unnecessary FileErrorType. by @scidomino in #6697
 - Remove unused attribute by @scidomino in #6661
 
New Contributors
- @trycatchkamal made their first contribution in #6121
 - @wietsevenema made their first contribution in #4406
 - @hugomurillomtz made their first contribution in #5969
 - @hritan made their first contribution in #6252
 - @Brooooooklyn made their first contribution in #6291
 - @evanotero made their first contribution in #6311
 - @blanca-delgado-parra made their first contribution in #6092
 - @sunnyps made their first contribution in #6273
 - @bl-ue made their first contribution in #5221
 - @yoichiro made their first contribution in #6556
 - @kiranani made their first contribution in #6540
 - @Blackoutta made their first contribution in #6308
 - @aaabramov made their first contribution in #6621
 - @bravetux made their first contribution in #6669
 
Full Changelog: v0.1.19-nightly.250814.514e883a...v0.3.0-nightly.20250821.653267a6