Skip to content

Release v0.5.0

Choose a tag to compare

@github-actions github-actions released this 18 Nov 17:04

Release v0.5.0

The main thing in this release is that we support subagents. Try them by creating one with /subagent and telling the agent to use it.

Installation

Install or upgrade LLxprt Code using npm:

npm install -g @vybestack/llxprt-code

Or use directly with npx:

npx @vybestack/llxprt-code

Release Video

What's New

  • Subagents - create and use subagents with different profiles (model/provider configs)
  • Provider Aliases - Supports providers like Synthetic.new out of the box without configuration, create your own custom ones.
  • Fuzz Match and Range edit tool call - improved edits from reasoning and non-reasoning models.
  • Added configurable history retention limits to control command history storage (memory leak prevention)
  • TUI links for OAuth
  • Fixed keyboard input hangs when waiting for keyboard input
  • Added support for function keys in Kitty terminal protocol
  • Fixed Shift+Tab keybinding when not in Kitty mode
  • Added Ctrl+R shortcut to show currently running command
  • Fixed IME interference with Ctrl shortcuts
  • Enhanced streaming error handling with compression retry
  • Fixed AbortSignal handling and improved error resilience in pipeline
  • Fixed tool output limits on stored responses
  • Fixed profile keyfile authentication leak
  • Added three new line-based file editing tools
  • Added clickable OAuth links and clipboard support
  • Fixed /set schema completions
  • Improved escape sequence handling in fuzzy replacement
  • Fixed cross-platform ripgrep path resolution
  • Enhanced subagent error messages with actionable guidance
  • Implemented improved tool call processing with pipeline mode
  • Fixed OpenAI tool payload serialization
  • Fixed CLI authentication arguments to work with --provider flag
  • Fixed context limit override honoring in profiles
  • Improved client disposal and memory management
  • Fixed orphaned tool responses after compression
  • Fixed ReDoS vulnerability in number parsing regex
  • Added multi-model/multi-profile subagent support
  • Preserved user memory context when switching profiles
  • Fixed OAuth runtime cache handling for Qwen provider
  • Enhanced complexity analyzer task parsing
  • Added OAuth safety by default with includeOAuth

Thanks

Huge thanks to the following contributors for their pull requests in this release:

All Changes

  • chore(release): v0.5.0 (no version changes) (669264b)
  • fix: handle release when version is already applied and format YAML to CI standards (805a2ff)
  • Merge pull request #593 from e2720pjk/issue518 (81797ce)
  • fix: consolidate CodeRabbit review fixes and documentation improvements (8497ce8)
  • Merge pull request #592 from e2720pjk/issue565 (70d9b1e)
  • feat: enhance streaming error handling with compression retry (06b85ba)
  • fix: enhance AbortSignal handling and error resilience in pipeline (f475b10)
  • docs: correct pipeline documentation to reflect actual 75% implementation status (c0eeaf3)
  • feat: complete Pipeline ToolCall Fixes implementation (ec76714)
  • docs: update pipeline toolcall fixes implementation status (1ab0fa4)
  • Merge pull request #591 from vybestack/issue589 (25b9065)
  • Merge pull request #577 from MinWooPark-dotcom/feat/show-full-command (a9ad588)
  • refactor: apply CodeRabbit review feedback for KeypressContext (71745c5)
  • fix: enforce tool output limits on stored responses (#589) (6d1b42b)
  • Merge branch 'main' into feat/show-full-command (e6c0737)
  • fix: normalize uppercase ASCII codes in CSI-u sequences (0e0eb9a)
  • fix: add IME interference handling for Ctrl shortcuts (b776c8c)
  • Delete .github/workflows/pr-review.yml (1362242)
  • Merge pull request #590 from e2720pjk/20251116-kitty-cherry-pick-fixes (8d0bbf7)
  • feat: complete Kitty protocol implementation with comprehensive fixes (525aac4)
  • Merge pull request #588 from vybestack/issue587 (4a5967b)
  • Merge branch 'main' into feat/show-full-command (3e6ccd4)
  • Fix /set schema completions (#587) (c273970)
  • Merge pull request #586 from vybestack/issue585 fixes #585 (6a5d39b)
  • fix(core): add validation guard to skip instrumentation for complex syntax (1995f64)
  • refactor(core): export stripShellMarkers utility (a01f2fc)
  • refactor(cli): use shared stripShellMarkers; document heuristic fallback (ab96e56)
  • refactor(core): use shared stripShellMarkers; document parsing limitations (1e82743)
  • refactor(core): extract shell marker stripping to shared utility (6760d79)
  • Add configurable history retention limits #585 (35c58d3)
  • Merge pull request #583 from e2720pjk/fix/tool-message-sequence-validation (944ccc6)
  • Fix multi-tool sequence validation in OpenAIProvider (d30f2d1)
  • Fix tool message sequence validation to prevent API errors (10da7ba)
  • Merge pull request #581 from vybestack/issue579 (e36fbaf)
  • Fix profile keyfile auth leak (#579) (0c893c5)
  • Merge pull request #578 from vybestack/issue572_573_574 (d586cde)
  • Clean up auth lookups and model fallback after review (82e0cca)
  • Fix profile load GCP env lookup after upstream merge (#572 #573 #574) (74a90b6)
  • Merge branch 'main' into issue572_573_574 (c304961)
  • Include runtime + prompt updates for alias-aware profiles (#572 #573 #574) (2663634)
  • Fix Synthetic alias auth + subagent profile loading (#572 #573 #574) (15deb94)
  • chore(cli): minor type alignment for running-command UI (eb8e160)
  • feat(cli): add ctrl+r to show running command (f6307c6)
  • feat(core): add POSIX markers and strip before summarize (ec48387)
  • Merge pull request #575 from vybestack/issue568_570 (0bd0142)
  • Fix shift+tab keybinding when not in kitty mode (#12552) (428f3d5)
  • Add kitty support for function keys. (#12415) (e71e6b4)
  • fix(ux) keyboard input hangs while waiting for keyboard input. (#10121) (5b9662a)
  • Fix Gemini subagent auto prompt + profile env handling (#568 #570) (b1a3fc2)
  • Merge pull request #571 from e2720pjk/fix/provider-aliases (a0f8630)
  • refactor: simplify alias directory resolution logic (632d65a)
  • fix: handle different directory structures for provider aliases in bundle vs development (4968bef)
  • Merge pull request #567 from vybestack/security/linter-formatter (e887a8d)
  • fix: enforce patched js-yaml and prompt parsing (8039b78)
  • Merge pull request #566 from e2720pjk/issue518 #518 (cf6b109)
  • Provide GH_TOKEN to doc-only filter (8439c9e)
  • Merge branch 'main' into issue518 (426c318)
  • Treat missing PR file list as non-doc change (02b620a)
  • Merge branch 'main' into issue518 (c7e6605)
  • Let PR review finish without failing CI (a2e9107)
  • Merge branch 'main' into issue518 (c3c21f0)
  • Make PR review CI poll non-blocking (32c2668)
  • test: add comprehensive integration tests for ToolCallPipeline (8a7af94)
  • refactor(openai): Simplify ToolCallPipeline to focus on normalization (fa08ea7)
  • coderabbit badge (bc5f571)
  • Merge pull request #564 from vybestack/luther-issue560 (89268a0)
  • Luther: address #560 (3c9e833)
  • Merge pull request #562 from e2720pjk/issue518 (5a75514)
  • Fetch remediation PR branch correctly (5cde5bb)
  • Fix LLxprt CLI package name (8225975)
  • Merge branch 'main' into issue518 (b8baf26)
  • Use nightly llxprt CLI in Luther (0b7fcb6)
  • Include issue/PR comments in Luther prompt (13a0606)
  • Resolve actionlint shellcheck findings (8a0e712)
  • Fix actionlint warnings in pr-review workflow (fa46727)
  • Fix actionlint findings in CI reviewer and e2e workflow (cdb7842)
  • Slow PR reviewer CI polling to 5-minute intervals (533ede6)
  • fix(openai): Correct tool call pipeline fragment accumulation and validation (d84e18b6)
    
  • Force doc + test awareness in LLxprt review prompt (a844a5a)
  • Bias LLxprt reviewer toward Needs Work when tests unclear (a4f9ff0)
  • Detect Ready/Needs Work text in verdict parser (fdb69b5)
  • Use nightly LLxprt CLI for PR reviews (80da120)
  • Install dependencies before running LLxprt review (c7f4855)
  • Use GET when querying CI runs (99cc7d6)
  • Allow PR reviewer to query workflow runs (8eb11a5)
  • Stabilize CI run lookup in PR reviewer (71ff865)
  • Fix PR review workspace init order (4218868)
  • Add LLxprt PR review automation and CI doc-only skips (189364b)
  • chore: keep Luther from touching package-lock (85fd8a7)
  • Merge pull request #557 from vybestack/issue556 (9f39f50)
  • fix: default to legacy tool pipeline (9b88a49)
  • chore: harden e2e defaults and Luther commits (fc4f828)
  • chore: uniquify luther branches (4977cc8)
  • Merge pull request #550 from vybestack/luther-issue463 (9a070b5)
  • chore: restore package-lock (d6e8237)
  • Merge remote-tracking branch 'origin/main' into luther-issue463 (3945d64)
  • fix: sanitize peer flags in lockfile (2565876)
  • Delete package-lock.json (ed35a52)
  • Luther: address #463 (158c201)
  • fix: repair lockfile syntax (91bc79b)
  • fix: remove stray peer flags (cea3027)
  • Luther: address #468 (#548) (0e26e8c)
  • Delete luther directory (f7a40c5)
  • Luther: update https://github.com/vybestack/llxprt-code/blob/main/docs/sandbox.md (#546) (110b549)
  • Dont commit Luther logs (cd8a6bc)
  • Stabilize Luther CI tests (#544) (67ca51b)
  • Run CI test suite in Luther workflow #542 (#543) (b9bf318)
  • Add --yolo to Luther agent run #539 (#540) (560d3f4)
  • Luther workflow refinements (#538) (7eaef8c)
  • Use LLXPRT_DEBUG for Luther logging #514 (#536) (6933628)
  • Ensure Luther clears OK label (#535) (664bb7b)
  • Add Luther workflow (#534) (7e00772)
  • fix: rip out Gemini loop detector (#530) (#531) (39d4e43)
  • fix: honor profile context-limit overrides (#522) (#524) (281144e)
  • Fix idle memory churn and dispose Gemini client (#517) (#523) (52ba91e)
  • Fix server tools base URL leak (#513) (#515) (b436736)
  • Fix orphaned tool responses after compression (#511) (dac4fbe)
  • fix(core): Resolve ReDoS vulnerability in number parsing regex (#512) (8ff41f6)
  • Fix /clear to reset foreground agent context #509 (#510) (c011640)
  • Fix OpenAI tool payload serialization (#501) (#507) (a3f0b62)
  • Issue305:Implement improved tool call processing with pipeline mode and fix undefined tool names (#505) (d110df6)
  • Fix HistoryService token double counting (#499) (#506) (758b391)
  • Fix #492: CLI auth args (--key/--keyfile/--baseurl) now work with --provider flag (#494) (557a0fe)
  • feat: implement robust cross-platform ripgrep path resolution (fixes #483) (#498) (404f6e0)
  • fix: enhance SubagentOrchestrator error messages with actionable guidance (fixes #487) (#496) (313455a)
  • fix: update subagent tool name to self_emitvalue for CLI tool generation (#482) (#495) (5732d19)
  • fix: add missing prompt files for range editor tools (#477) (#493) (d1d6d48)
  • feat: add clickable OAuth links and clipboard support (#481) (#484) (1a9e5d2)
  • fix: restore --profile-load functionality and OAuth URL display (#479, #478) (#480) (83c0fb6)
  • feat: enforce hidden todo reminders (#475) (#476) (2c6eee1)
  • fix: improve escape sequence handling in fuzzy replacement (#473) (#474) (5a92587)
  • feat: add three new line-based file editing tools (#446) (c2b44a7)
  • Fix OAuth timing: Make includeOAuth safe by default (#472) (95fc225)
  • Honor profile ephemerals in CLI bootstrap (#458) (#461) (e148f3d)
  • fix badges to one line (f05f0fb)
  • docs: update provider messaging and replace screenshot (#460) (4b3853c)
  • Preserve CLI/profile base URL and model overrides after provider switch (#459) (b1b6362)
  • Fix provider switching to clear ephemerals for #453 (#457) (319bfef)
  • fix(gemini): preserve userMemory context when switching profiles (#409) (#454) (b4c9296)
  • Fix OAuth runtime cache handling for Qwen (#436) (#451) (27a7080)
  • chore(ci): log workflow dispatch PR resolution (8a02946)
  • fix(ci): allow dispatch runs without pr input (f44786c)
  • fix(ci): guard workflow dispatch PR input (ce72881)
  • chore: update edit-fuzzy test copyright (7bd38b0)
  • feat(ci): allow e2e dispatch to target PR (#448) (9aa0442)
  • Verify PRs #434 and #440 are present and working (#442 investigation) (#447) (d1fa6e2)
  • feat(edit): Add fuzzy matching to edit tool (#439) (e8177e8)
  • refactor(tools): centralize MCP tool name generation (#444) (272ea29)
  • Test: Revert to e5d98ae to diagnose test failures (#442) (cfbbdf7)
  • test: update expected tool call name with server prefix in MCP integration test (#440) (73e0b79)
  • Migrate stream validation error logic from gemini-cli (#434) (3ce7cbe)
  • Guard e2e workflow for fork PRs (#435) (e5d98ae)
  • Revise README for LLxprt Code to include subagent de-emphasize gemini-cli fork (44e635d)
  • 202511021650security address codeql (#432) (26bce31)
  • ci: drop windows build tool prerequisites (#433) (48f4649)
  • Fix complexity analyzer regex backtracking (#430) (c825fa5)
  • test: stabilize GEMINI_CLI env assertion (#425) (25584d0)
  • fix: normalize complexity analyzer task parsing (#428) (0b84ac6)
  • Delete .completed/PLAN-20251029-STATELESS7 directory (1db0dc8)
  • Delete 20251031subagentic2 directory (8901bf1)
  • fix: harden complexity analyzer task parsing (#427) (b43b6be)
  • fix: expand profile auth keyfile for subagents (#426) (e5b51aa)
  • Fix subagent auto prompt and diagnostics info (#419-#422) (#423) (6bb3db7)
  • Harden tool parsing and sandbox execution (#418) (4e10f9e)
  • test: bootstrap runtime in token tracking integration suites (31ae8fd)
  • test: ensure runtime config stub matches BaseProvider guard (f115237)
  • fix: bootstrap provider runtime in integration tests (#417) (61b21fe)
  • Add multi-model / multi-profile subagents. This inital version is in-process synchronous subagents (#416) (c9895f4)
  • fix: Temporarily apply incremental-rendering patch to reduce flicker (#412) (bdc5d29)

Full Changelog: v0.4.8...v0.5.0