Release v0.5.0
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-codeOr use directly with npx:
npx @vybestack/llxprt-codeWhat'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
/setschema 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:
- @MinWooPark-dotcom
- @e2720pjk
- @renecannao
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