Skip to content

LMcode 0.9.25

Latest

Choose a tag to compare

@Lyin01 Lyin01 released this 01 Sep 05:37

LMcode 0.9.25

Security and Windows-behavior hardening. Default permission mode is still auto / full-access; opting into workspace-write is now a hard boundary for Bash.

Fixed

  • FetchURL SSRF false positive and IPv4-mapped bypass. Hostnames such as fda.gov are no longer treated as IPv6 unique-local. [::ffff:127.0.0.1] / [::ffff:169.254.169.254] are rejected as private addresses.
  • Blobref path traversal. blobref: hashes must be a 64-character SHA-256 hex string, so ../ cannot escape the blobs directory.
  • workspace-write now denies unrestricted tools. Bash and WolfPack declare no write paths, so they can no longer write outside the workspace under this sandbox, including in yolo.
  • Windows Glob is case-insensitive. *.ts matches .TS on NTFS.
  • LSP no longer inherits API keys. Language servers spawn with the same env allowlist as MCP stdio (PATH / PATHEXT / USERPROFILE, not *_API_KEY).
  • TUI folded history no longer keeps full tool dumps in RAM, and assistant/user snippets run through replaceTabs.
  • pnpm clean works on Windows. Package clean scripts use node -e rmSync instead of POSIX rm -rf.

Desktop (also in 0.7.15)

  • Conversation virtualization pins to the tail while following the stream, so the latest message stays mounted after 60 rows.
  • Remote sessions install approval/question handlers, drop closed SDK sessions, validate JSON frames, and rate-limit auth per IP.
  • Tool output pruning no longer Array.froms the entire string.