Back
AI summary
Written by AI from the official notes. Check them for exact details.Gemini CLI 0.3.0 introduces 28 new features and 43 bug fixes, enhancing functionality and user experience.
- Improved IDE installation UX and feedback.
- Added support for editing string settings.
- Introduced initial screen reader mode handling.
- Enhanced error handling for Git issues.
- Added option to disable fuzzy search.
Why it matters: Users of Gemini CLI should update to benefit from improved features and bug fixes.
Full release notes191 changes
What's Changed
- feat: update.gitignore in /setup-github
- Refac: Centralize storage file management
- Update README.md
- feat: add dependabot configuration
- Ignore workspace settings for untrusted folders
- Add permissions specs to token generation.
- docs: Update keyboard shortcuts for input clearing functionality
- chore(deps)(deps): bump google-github-actions/run-gemini-cli from 0.1.10 to 0.1.11 by @dependabot[bot] in https://github.com/google-gemini/gemini-cli/pull/6614
- Changes to add MCP tool count, and MCP tool name as dimension
- test(logging): Add tests for default log fields
- Fix formatting in README.md
- feat(release): update release process for nightly and preview builds
- Add enterprise settings docs
- fix: typo in readme
- fix: copy command gets stuck
- Revert "Ignore workspace settings for untrusted folders"
- Fixing at command race condition
- return the JSON stringified parameters from getDescription for MCP tools and Discovered tools
- fix: typos/grammar in roadmap
- feat(core): Handle special characters in file search paths
- feat(ide ext): Write workspace path to port file
- feat(ide): improve IDE installation UX and feedback
- Limit dependabot PRs to security updates
- Remove unnecessary FileErrorType.
- Remove unused attribute
- test(integration): add failing test for stdin context with prompt
- Add integration test to confirm environment variable propagation.
- (fix): Change broken emojis
- feat(mcp-client): Handle 401 error for httpUrl
- fix(core): avoid error handling on cancelled requests to prevent crash
- fix(metrics): Do not convert numerical metrics to strings
- Force restart on trust level change to reload settings
- feat(cli): prompt completion
- Quick fix for enterprise docs
- Fix stats display layout
- chore(lint config): add test-utils to eslint config
- perf(core): parallelize memory discovery file operations performance gain
- At Command Race Condition Bugfix For Non-Interactive Mode
- fix: handle extra text in gemini output for dedup workflow
- feat(core): Annotate remaining error paths in tools with type.
- Support IDE connections via stdio MCP
- fix(docs): path of chat checkpoints in manual
- Introduce initial screen reader mode handling and flag
- feat(settings) support editing string settings.
- Reuse CoreToolScheduler for nonInteractiveToolExecutor
- test(integration-tests): isolate user memory from test runs
- fix(ide): preserve focus when showing diff view
- fix(console): fix debug icon rendering in "Debug Console" Box
- fix: Ctrl+E should move to current line end, not buffer end
- Fix(grep): memory overflow in grep search and enhance test coverage
- feat(search): Add option to disable fuzzy search
- feat: Add programming language to CLI events
- fix(tools): Add an end of file list marker to ReadManyFilesTool
- fix(checkpointing): improve error handling and messaging for Git issues
- fix(cli): improve stdin handling and add initial state check
- fix(core): citation markers misplaced in search results containing multibyte characters
- fix invalid json in workflow settings
- fix(copyCommand): provide friendlier error messages for
/copycommand - fix(core): correctly consolidate multi-part text content
- feat(mcp): Improve MCP prompt argument parsing
- bug(core): Fix for "no changes" edits.
- fix(editors): fix neovim closing when using
modify with editor - feat(mcp): log include MCP request with error
- fix(release): fallback to github.sha when ref is not provided
- feat: add explicit license selection and status visibility
- Retry Message Stream on Empty Chunks
- feat(cli): Allow themes to be specified as file paths
- feat(ci): add self-assign workflow for issues
- Log all parts of a streaming response
- Support all content types in prompts from Zed
- Fix crash when encountering an included directory which doesn't exist
- Change the type of ToolResult.responseParts
- fix(cli): Support special characters in sandbox profile path
- Metrics for Retries on Content Errors
- Filter thought parts before passing them to CountToken
- Add support for debug logging of keystrokes to investigate #6227
- fix: slash command completion menu column width and spacing issues
- fix(core): Skip loop check for dividers
- fix(cli): gemini command stuck in git bash
- Update instructions for patching a release
- feat(core): share file list patterns between glob and grep tools
- fix(cli): Improve proxy test isolation and sandbox path resolution
- Support JSON schema formats using ajv-formats
- Add
.prettierignorefile - add(OTel): Add OTel logging for MalformedJsonEvent
- Introduce system defaults (vs system overrides)
- chore(test): install and configure vitest eslint plugin
- [extensions] Add extension management install command
- [extensions] Add extensions uninstall command
- Show error instead of aborting if model fails to call tool
- fix: misaligned right border on tool calls ui and spacing in multiple tool calls ui
- [extensions] Add extensions list command
- refactor(ide): Improve IDE detection discovery
- fix(keyboard): Implement Tab and Backspace handling for Kitty Protocol
- [extensions] Add extensions update command
- Log yolo mode + number of turns
- feat(telemetry): Add email to telemetry prompt
- chore: consistently import node modules with prefix
- feat: Update GitHub workflow configurations
- feat(ide): Enable Firebase Studio install now that FS has updated VsCode
- refactor(cli): Improve Kitty keycode handling and tests
- fix(telemetry): Update logger tests to handle user email field
- feat: add golden snapshot test for ToolGroupMessage and improve success symbol
- Explict imports & exports with
typemodifier - unused deps
- Added session id logging for non-interactive sessions in debug mode
- fix(core): enable thinking explicitly in flash-lite models
- Revert "feat: add explicit license selection and status visibility (#6751)"
- fix(ci): allow release branches to run
- chore: remove CLI flags
all_filesandshow_memory_usage - fix: resolve three flaky tests
- feat: Disable YOLO and AUTO_EDIT modes for untrusted folders
- fix(ide): remove noisy error log
- [extensions] Add an initial set of extension variables
- Treat undefined same as true for isTrustedFolder
- Fix(command): line/block Comments Incorrectly Parsed as Slash Commands
- Do not call nextSpeakerCheck if there was an error processing the stream.
- Standardize exit codes
- Downgrade branch_protection to
log - [extensions] Add disable command
- chore: format & imports
- chore: unused deps
- Add extensions enable command
- feat(mcp): Add ODIC fallback to OAuth metadata look up
- feat(cli): Add --allowed-tools flag to bypass tool confirmation (#2417)
- Make config non optional in ToolConfirmationMessage
- Ensure a Strictly Alternating Message History
- fix(#6392): latest prompt being reloaded when ending a persistent process
- Added usage details to /tools command.
- feat(subagent): Enable incremental output streaming
- Fix cloudbuild step.
- Downgrade version of ripgrep to the version from 7 months ago without a node 22 dependency
- fix(cli) - Add logging for shell errors
- Clearcut Logging of Content Error Metrics
- Add a2a-server package to gemini-cli
- feat(cli) - Define shared interface for storage
- Print error when failing to build sandbox
- Update colors tokens for inputer/footer
- feat(errors): Make errors more informative
- Update build command to set GEMINI_SANDBOX var.
- fix(cli): make Ctrl+C UI test less flaky
- fix(ci): Fix self assign action permissions
- Add prompt to migrate workspace extensions
- chore(release): v0.2.1
- Log Gemini CLI OS / Process platform in the clearcut
- feat(actions): create initial eval workflow
- fix: unset GEMINI_API_KEY env var if empty
- refactor: centralize tool status symbols in constants
- fix: Enable disableFuzzySearch config option propagation
- fix: make test more reliable
- refactor: improve intermediate result parsing in issue dedup workflow
- fix(tests): Fix Firebase Studio IDE detection tests
- feat(cli) - Define base class for token storage
- chore(cleanup): Consolidate MockTool definitions
- fix(bug): correct /about command in bug report template
- Fix shell argument parsing in windows
- Move mockTool into test-utils
- fix(compression): Discard compression result if it results in more token usage
- Fix diff rendering in windows.
- fix(e2e): add missing deps to fix sandbox module not found errors in cli/core
- fix(e2e): skip flaky stdin context test
- refactor: refactor settings to a nested structure
- add(telemetry): Add missing telemetry for UserPromptEvent
- Revert "Move mockTool into test-utils (#7245)"
- feat(commands): Enable @file processing in TOML commands
- Revert "chore(cleanup): Consolidate MockTool definitions (#7228)"
- Fix setting migration nosiness and merging
- Patch 0.3.0 preview.4
Show the rest (23 more changes)Show less
New Contributors
- @aaabramov made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6621
- @bravetux made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6669
- @bonggwan made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6725
- @pwrwpw made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6039
- @3ks made their first contribution in https://github.com/google-gemini/gemini-cli/pull/4691
- @mag123c made their first contribution in https://github.com/google-gemini/gemini-cli/pull/5751
- @rfabbri made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6303
- @mkusaka made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6729
- @nandakishorereddy-chundi made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6071
- @pokutuna made their first contribution in https://github.com/google-gemini/gemini-cli/pull/5956
- @thisisrick25 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6235
- @redoxahmii made their first contribution in https://github.com/google-gemini/gemini-cli/pull/5337
- @JeongJaeSoon made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6751
- @gbbosak made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6497
- @georgesmith46 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/2038
- @dumbbellcode made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6397
- @kookyleo made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6555
- @as-cii made their first contribution in https://github.com/google-gemini/gemini-cli/pull/7005
- @steventohme made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6339
- @yoshi-taka made their first contribution in https://github.com/google-gemini/gemini-cli/pull/4732
- @ei-grad made their first contribution in https://github.com/google-gemini/gemini-cli/pull/3033
- @xiaoheh made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6863
- @psimakov made their first contribution in https://github.com/google-gemini/gemini-cli/pull/6849
Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.2.2...v0.3.0