Unreleased

v0.2.0 (2026-04-06)

Added

  • Session recovery helpers and a shared runtime support layer for examples, making resume/list flows consistent with the core-backed session lane.

Changed

  • Gemini streaming, one-shot execution, and session orchestration now run on cli_subprocess_core, while gemini_cli_sdk keeps Gemini-specific command shaping and event projection.
  • Model normalization, execution-surface handling, and SSH routing now follow the shared core contract instead of provider-local fallback logic.
  • Runtime ownership and release docs now describe the final Phase 4 boundary: cli_subprocess_core owns Gemini subprocess lifecycle and built-in transport, gemini_cli_sdk owns Gemini-specific invocation and projection logic, and ASM composition remains common-surface-only with namespaces: [].

Fixed

  • Error wrapping and context preservation are more consistent across stream and synchronous paths, especially for remote/SSH-backed execution failures.
  • Guest-path and nonlocal CWD handling now align with the shared execution surface contract.

v0.1.0 (2026-02-11)

Initial release.

  • Streaming execution via GeminiCliSdk.execute/2 with lazy Stream.resource/3
  • Synchronous execution via GeminiCliSdk.run/2
  • Session management: list, resume, delete
  • 6 typed event structs: init, message, tool_use, tool_result, error, result
  • Full CLI options support: model, yolo, approval_mode, sandbox, extensions, etc.
  • Subprocess management via built-in transport with process groups and signal delivery
  • Structured error handling with exit code mapping
  • OTP application with TaskSupervisor