Skip to content

v0.9.14

Choose a tag to compare

@Lyin01 Lyin01 released this 13 Jul 12:21
· 135 commits to main since this release

Highlights

  • CLI startup is ~4× faster for trivial invocations: lm --version dropped from ~650ms to ~150ms (of which ~130ms is the bare Node process floor — actual module init fell from ~520ms to ~20ms).
  • The agent bundle no longer sits on the startup path. Runners (TUI, prompt mode, stream-json, channel setup, plugin entry) load at dispatch time; lm export builds its SDK dependencies inside the action; and the app's constants module no longer imports the entire SDK for a single error-code value — the code is now a pinned literal that is type-checked against the SDK, so a rename in core still breaks the build instead of silently diverging.
  • The bundle now code-splits: the TUI (658KB), the agent SDK (4.2MB), and the bundled TypeScript compiler (7.9MB) are separate chunks that --version, --help, and argument errors never evaluate. Interactive and agent runs load exactly what they always did.

Verification

  • Local suite: 4,947 tests passed, with 41 skipped and 2 todo.
  • Typecheck, lint, package lint, Sherif checks, and the full build passed.
  • Dual-platform CI (Windows + Ubuntu) green on PR #17 and the follow-up PR #18 (export deps stay SDK-free when injected, and #/cli/update/source's transitive SDK import is documented and kept off the startup path).
  • Runtime probes on the built CLI: --version, --help, migrate, __plugin_run_node (end-to-end entry execution), export (SDK chunk loads, session lookup runs), and stream-json all load their lazy chunks correctly.

Full Changelog: v0.9.13...v0.9.14