Files
gemini-cli/docs/changelogs/preview.md
2026-05-13 00:01:24 +00:00

12 KiB

Preview release: v0.43.0-preview.0

Released: May 12, 2026

Our preview release includes the latest, new, and experimental features. This release may not be as stable as our latest weekly release.

To install the preview release:

npm install -g @google/gemini-cli@preview

Highlights

  • Surgical Code Edits: Steer models to use the edit tool for precise code modifications, improving accuracy and reducing context usage.
  • Session Portability: Added ability to export chat sessions to files and import them via a new CLI flag, enabling session persistence and sharing.
  • Enhanced Security: Introduced comprehensive shell command safety evaluations and strengthened model steering to prevent unauthorized changes.
  • Context Management: Implemented a new adaptive token calculator for more accurate content size estimations and optimized context pipelines.
  • UX Improvements: Enhanced tool call visibility with prefixed IDs and improved the UI for session resumption and MCP list management.

What's Changed

  • feat(core): steer model to use edit tool for surgical edits, fix a typo in #26480
  • docs: clarify Auto Memory proposes memory updates and skills in #26527
  • fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (#24695) in #26532
  • fix(core): remove unsafe type assertion suppressions in error utils in #19881
  • fix(core): allow redirection in YOLO and AUTO_EDIT modes without sandboxing in #26542
  • ci(release): build and attach unsigned macOS binaries to releases in #26462
  • fix(core): Fix chat corruption bug in context manager. in #26534
  • fix(cli): provide JSON output for AgentExecutionStopped in non-interactive mode in #26504
  • feat(evals): add shell command safety evals in #26528
  • fix(core): handle invalid custom plans directory gracefully in #26560
  • fix(acp): move tool explanation from thought stream to tool call content in #26554
  • fix(a2a-server): Resolve race condition in tool completion waiting in #26568
  • fix(cli): randomize sandbox container names in #26014
  • fix(core): Fix hysteresis in async context management pipelines. in #26452
  • Tighten private Auto Memory patch allowlist in #26535
  • fix(cli): hide read-only settings scopes in #26249
  • fix(ci): preserve executable bit for mac binaries in #26600
  • fix(cli): improve mcp list UX in untrusted folders in #26457
  • fix(core): prevent silent hang during OAuth auth on headless Linux in #26571
  • Changelog for v0.42.0-preview.0 in #26537
  • ci: fix Argument list too long in triage workflows in #26603
  • refactor(cli): migrate core tools to native ToolDisplay property and fix UI rendering in #25186
  • don't wrap args unnecessarily in #26599
  • fix(core): preserve system PATH in Git environment to fix ENOENT (#25034) in #26587
  • fix(routing): fix resolveClassifierModel argument mismatch in ApprovalModeStrategy in #26658
  • docs: add vi mode shortcuts and clarify MCP/custom sandbox setup in #23853
  • fix(ux): fixed issue with transcribed text not showing after releasing space in #26609
  • ci: fix json parsing in scheduled triage workflow in #26656
  • fix(cli): hide /memory add subcommand when memoryV2 is enabled in #26605
  • fix: prevent false command conflicts when launching from home directory in #23069
  • fix(core): cache model routing decision in LocalAgentExecutor in #26548
  • Changelog for v0.42.0-preview.2 in #26597
  • skip broken test in #26705
  • feat: export session to file and import via flag in #26514
  • Feat: Add Machine Hostname to CLI interface in #25637
  • docs(extensions): refactor releasing guide and add update mechanisms in #26595
  • fix(ci): fix maintainer identification in lifecycle manager in #26706
  • fix(ui): added quotes around session id in resume tip in #26669
  • Changelog for v0.41.0 in #26670
  • refactor(core): agent session protocol changes in #26661
  • fix(context): implement loose boundary policy for gc backstop. in #26594
  • fix(core): throw explicit error on dropped tool responses in #26668
  • fix: resolve "function response turn must come immediately after function call" error in #26691
  • fix(core): resolve parallel tool call streaming ID collision in #26646
  • feat(core): add LocalSubagentProtocol behind AgentProtocol in #25302
  • fix(cli): remove noisy theme registration logs from terminal in #25858
  • ci: implement codebase-aware effort level triage in #26666
  • feat(acp/core): prefix tool call IDs with tool names to support tool rendering in ACP compliant IDEs. in #26676
  • fix(mcp): treat GET 404 as 405 in StreamableHTTPClientTransport in #24847
  • feat(core): add RemoteSubagentProtocol behind AgentProtocol in #25303
  • feat(context): Improvements to the snapshotter. in #26655
  • fix(context): Change snapshotter model config. in #26745
  • fix(cli): allow installing extensions from ssh repo in #26274
  • fix(cli): prevent duplicate SessionStart systemMessage render in #25827
  • fix(cli/acp): prevent infinite thought loop in ACP mode by disablig nextSpeakerCheck in #26874
  • fix(cli): use static tool name in confirmation prompt to avoid parsing errors in #26866
  • fix(routing): Refactor tool turn handling for the conversation history in NumericalClassifierStrategy to prevent 400 Bad Request in #26761
  • fix(core): handle malformed projects.json in ProjectRegistry in #26885
  • fix(ui): added a gutter width to the input prompt width calculation in #26882
  • fix: prevent EISDIR crash when customIgnoreFilePaths contains directories (#19868) in #19898
  • revert 6b9b778d82 in #26893
  • Fix/vscode run current file ts in #22894
  • Allow Enter to select session while in search mode in /resume in #21523
  • fix(core): ignore .pak and .rpa game archive formats by default in #26884
  • fix(cli): enable adk non-interactive session in #26895
  • fix(cli): restore resume for legacy sessions in #26577
  • fix: respect explicit model selection after Flash quota exhaustion (#26759) in #26872
  • feat(context): Introduce adaptive token calculator to more accurately calculate content sizes. in #26888
  • chore: update checkout action configuration in workflows in #26897
  • fix (telemetry): inject quota_project_id to prevent fallback to default oauth client in #26698
  • Exclude extension context from skill extraction agent in #26879
  • Enable NumericalRouter when using dynamic model configs in #26929
  • ci: actively triage missing priority labels and intelligently clean up conflicting labels in #26865
  • refactor(core): introduce SubagentState enum for progress in #26934
  • fix(ci): replace brittle --no-tag with explicit staging-tmp tag in #26940
  • Incremental refactor repo agent towards skills-based composition in #26717
  • fix(ui): fixed line wrap padding for selection lists in #26944
  • fix(core): update read_file schema for v1 compatibility (#22183) in #26922
  • fix(ci): configure git remote with token for authentication in #26949

Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.42.0-preview.2...v0.43.0-preview.0