Skip to content

v0.0.8

Choose a tag to compare

@wangxingjun778 wangxingjun778 released this 12 Aug 07:19

Release Notes

Features

  • Cross-platform IPC transport for daemon: Introduced DaemonTransport protocol with UnixSocketTransport (macOS/Linux) and TcpLoopbackTransport (Windows) implementations. Replaced direct asyncio Unix socket calls with transport abstraction in server.py, client.py, and lifecycle.py.

Fixes

  • Fixed various Windows compatibility bugs.
  • Fixed daemon UTF-8 encoding issues on Windows: set PYTHONIOENCODING=utf-8 in spawn environment, added explicit encoding='utf-8' to all read_text/write_text calls in daemon modules, and increased DuckDB connection retries/backoff on Windows to tolerate async handle release after process termination.
  • Fixed Windows process termination: wait for process exit (WaitForSingleObject) after TerminateProcess to ensure file handles are released before restart.
  • Unified process probe in lease.py with lifecycle._process_alive (using kernel32 on Windows).
  • Added Windows creationflags (CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS) to spawn_daemon.
  • Added SIGBREAK handler and CREATE_NEW_PROCESS_GROUP to ObservationDaemon for graceful Windows shutdown.
  • Unified start_new_session handling in shell_tools.py and terminal_session.py.
  • Fixed POSIX ProcessGroup.terminate() to clear _pgid after signal.

Enhancements

  • Refactored tests module: Added comprehensive journey tests (tests/journeys/) that drive a real leapd subprocess over RPC with a local OpenAI-compatible proxy, supporting four modes: replay (offline default), seed, record, and live.
  • Enhanced CI pipeline: Added three-tier CI strategy—PR and main lanes run fully offline (required for fork PRs without secrets), while nightly-live.yaml reaches real providers with cost bounded by max_llm_calls and max_llm_tokens enforcement.
  • Added regression tests (tests/regression/) with always-on guards including hard journey budget, incident ledger, provider-shape drift detection, and meta-tests.
  • Updated AGENTS.md with two-layer contract documentation and tests/README.md with credential setup instructions.

What's Changed

Full Changelog: v0.0.7...v0.0.8