What's Changed
- perf(ui): optimize stripUnsafeCharacters with regex by @gsquared94 in #18413
- feat(context): implement observation masking for tool outputs by @abhipatel12 in #18389
- feat(core,cli): implement session-linked tool output storage and cleanup by @abhipatel12 in #18416
- Shorten temp directory by @joshualitt in #17901
- feat(plan): add behavioral evals for plan mode by @jerop in #18437
- Add extension registry client by @chrstnb in #18396
- Enable extension config by default by @chrstnb in #18447
- Automatically generate change logs on release by @g-samroberts in #18401
- Remove previewFeatures and default to Gemini 3 by @sehoon38 in #18414
- feat(admin): apply MCP allowlist to extensions & gemini mcp list command by @skeshive in #18442
- fix(cli): improve focus navigation for interactive and background shells by @galz10 in #18343
- Add shortcuts hint and panel for discoverability by @LyalinDotCom in #18035
- fix(config): treat system settings as read-only during migration and warn user by @spencer426 in #18277
- feat(plan): add positive test case and update eval stability policy by @jerop in #18457
- fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by @zackoch in #18408
- bug(core): Fix bug when saving plans. by @joshualitt in #18465
- Refactor atCommandProcessor by @scidomino in #18461
- feat(core): implement persistence and resumption for masked tool outputs by @abhipatel12 in #18451
- refactor: simplify tool output truncation to single config by @SandyTao520 in #18446
- bug(core): Ensure storage is initialized early, even if config is not. by @joshualitt in #18471
- chore: Update build-and-start script to support argument forwarding by @Abhijit-2592 in #18241
- fix(core): prevent subagent bypass in plan mode by @jerop in #18484
- feat(cli): add WebSocket-based network logging and streaming chunk support by @SandyTao520 in #18383
- feat(cli): update approval modes UI by @jerop in #18476
- fix(cli): reload skills and agents on extension restart by @NTaylorMullen in #18411
- fix(core): expand excludeTools with legacy aliases for renamed tools by @SandyTao520 in #18498
- feat(core): overhaul system prompt for rigor, integrity, and intent alignment by @NTaylorMullen in #17263
- Patch for generate changelog docs yaml file by @g-samroberts in #18496
- Code review fixes for show question mark pr. by @jacob314 in #18480
- fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in #18187
- chore: remove redundant planning prompt from final shell by @jerop in #18528
- docs: require pr-creator skill for PR generation by @NTaylorMullen in #18536
- chore: update colors for ask_user dialog by @jackwotherspoon in #18543
- feat(core): exempt high-signal tools from output masking by @abhipatel12 in #18545
- refactor(core): remove memory tool instructions from Gemini 3 prompt by @NTaylorMullen in #18559
- chore: remove feedback instruction from system prompt by @NTaylorMullen in #18560
- feat(context): add remote configuration for tool output masking thresholds by @abhipatel12 in #18553
- feat(core): pause agent timeout budget while waiting for tool confirmation by @abhipatel12 in #18415
- refactor(config): remove experimental.enableEventDrivenScheduler setting by @abhipatel12 in #17924
- feat(cli): truncate shell output in UI history and improve active shell display by @jwhelangoog in #17438
- refactor(cli): switch useToolScheduler to event-driven engine by @abhipatel12 in #18565
- fix(core): correct escaped interpolation in system prompt by @NTaylorMullen in #18557
- propagate abortSignal by @scidomino in #18477
- feat(core): conditionally include ctrl+f prompt based on interactive shell setting by @NTaylorMullen in #18561
- fix(core): ensure
enter_plan_modetool registration respectsexperimental.planby @jerop in #18587 - feat(core): transition sub-agents to XML format and improve definitions by @NTaylorMullen in #18555
- docs: Add Plan Mode documentation by @jerop in #18582
- chore: strengthen validation guidance in system prompt by @NTaylorMullen in #18544
- Fix newline insertion bug in replace tool by @werdnum in #18595
- fix(evals): update save_memory evals and simplify tool description by @NTaylorMullen in #18610
- chore(evals): update validation_fidelity_pre_existing_errors to USUALLY_PASSES by @NTaylorMullen in #18617
- fix: shorten tool call IDs and fix duplicate tool name in truncated output filenames by @SandyTao520 in #18600
- feat(cli): implement atomic writes and safety checks for trusted folders by @galz10 in #18406
- Remove relative docs links by @chrstnb in #18650
- docs: add legacy snippets convention to GEMINI.md by @NTaylorMullen in #18597
- fix(chore): Support linting for cjs by @aswinashok44 in #18639
- feat: move shell efficiency guidelines to tool description by @NTaylorMullen in #18614
- Added "" as default value, since getText() used to expect a string only and thus crashed when undefined... Fixes #18076 by @019-Abhi in #18099
- Allow @-includes outside of workspaces (with permission) by @scidomino in #18470
- chore: make
ask_userheader description more clear by @jackwotherspoon in #18657 - refactor(core): model-dependent tool definitions by @aishaneeshah in #18563
- Harded code assist converter. by @jacob314 in #18656
- bug(core): Fix minor bug in migration logic. by @joshualitt in #18661
- feat: enable plan mode experiment in settings by @jerop in #18636
- refactor: push isValidPath() into parsePastedPaths() by @scidomino in #18664
- fix(cli): correct 'esc to cancel' position and restore duration display by @NTaylorMullen in #18534
- feat(cli): add DevTools integration with gemini-cli-devtools by @SandyTao520 in #18648
- chore: remove unused exports and redundant hook files by @SandyTao520 in #18681
- Fix number of lines being reported in rewind confirmation dialog by @Adib234 in #18675
- feat(cli): disable folder trust in headless mode by @galz10 in #18407
- Disallow unsafe type assertions by @gundermanc in #18688
- Change event type for release by @g-samroberts in #18693
- feat: handle multiple dynamic context filenames in system prompt by @NTaylorMullen in #18598
- Properly parse at-commands with narrow non-breaking spaces by @scidomino in #18677
- refactor(core): centralize core tool definitions and support model-specific schemas by @aishaneeshah in #18662
- feat(core): Render memory hierarchically in context. by @joshualitt in #18350
- feat: Ctrl+O to expand paste placeholder by @jackwotherspoon in #18103
- fix(cli): Improve header spacing by @NTaylorMullen in #18531
- Feature/quota visibility 16795 by @spencer426 in #18203
- Inline thinking bubbles with summary/full modes by @LyalinDotCom in #18033
- docs: remove TOC marker from Plan Mode header by @jerop in #18678
- fix(ui): remove redundant newlines in Gemini messages by @NTaylorMullen in #18538
- test(cli): fix AppContainer act() warnings and improve waitFor resilience by @NTaylorMullen in #18676
- refactor(core): refine Security & System Integrity section in system prompt by @NTaylorMullen in #18601
- Fix layout rounding. by @gundermanc in #18667
- docs(skills): enhance pr-creator safety and interactivity by @NTaylorMullen in #18616
- test(core): remove hardcoded model from TestRig by @NTaylorMullen in #18710
- feat(core): optimize sub-agents system prompt intro by @NTaylorMullen in #18608
- feat(cli): update approval mode labels and shortcuts per latest UX spec by @jerop in #18698
- fix(plan): update persistent approval mode setting by @Adib234 in #18638
- fix: move toasts location to left side by @jackwotherspoon in #18705
- feat(routing): restrict numerical routing to Gemini 3 family by @mattKorwel in #18478
- fix(ide): fix ide nudge setting by @skeshive in #18733
- fix(core): standardize tool formatting in system prompts by @NTaylorMullen in #18615
- chore: consolidate to green in ask user dialog by @jackwotherspoon in #18734
- feat: add
extensionsExploresetting to enable extensions explore UI. by @sripasg in #18686 - feat(cli): defer devtools startup and integrate with F12 by @SandyTao520 in #18695
- ui: update & subdue footer colors and animate progress indicator by @keithguerin in #18570
- test: add model-specific snapshots for coreTools by @aishaneeshah in #18707
- ci: shard windows tests and fix event listener leaks by @NTaylorMullen in #18670
- fix: allow
ask_usertool in yolo mode by @jackwotherspoon in #18541 - feat: redact disabled tools from system prompt (#13597) by @NTaylorMullen in #18613
- Update Gemini.md to use the curent year on creating new files by @sehoon38 in #18460
- Code review cleanup for thinking display by @jacob314 in #18720
- fix(cli): hide scrollbars when in alternate buffer copy mode by @werdnum in #18354
- Fix issues with rip grep by @gundermanc in #18756
- fix(cli): fix history navigation regression after prompt autocomplete by @sehoon38 in #18752
- chore: cleanup unused and add unlisted dependencies in packages/cli by @adamfweidman in #18749
- Fix issue where Gemini CLI creates tests in a new file by @gundermanc in #18409
- feat(telemetry): Ensure experiment IDs are included in OpenTelemetry logs by @kevin-ramdass in #18747
- feat(ux): added text wrapping capabilities to markdown tables by @devr0306 in #18240
- Revert "fix(mcp): ensure MCP transport is closed to prevent memory leaks" by @skeshive in #18771
- chore(release): bump version to 0.30.0-nightly.20260210.a2174751d by @gemini-cli-robot in #18772
New Contributors
- @zackoch made their first contribution in #18408
- @ThanhNguyxn made their first contribution in #18187
- @jwhelangoog made their first contribution in #17438
- @019-Abhi made their first contribution in #18099
- @sripasg made their first contribution in #18686
- @keithguerin made their first contribution in #18570
Full Changelog: v0.29.0-nightly.20260206.4ffc349c1...v0.30.0-nightly.20260210.8257ec447