Skip to content

v1.4.54

Choose a tag to compare

@github-actions github-actions released this 15 Sep 02:51
· 83 commits to main since this release

This release consolidates v1.4.52 and v1.4.53 — same reason as last time: most of this landed as direct commits rather than merged PRs, so GitHub's auto-generated notes for those tags were nearly empty.

Highlights

  • Multi-root REPL workspaces (--include) — fuseraft repl --include <dir> (repeatable) lets a session span more than one project tree, shown in the banner and given to the model in its system prompt. Reaching outside every allowed root triggers an on-demand HITL escalation (Allow? (y/N)) that grants the containing directory for the rest of the session — no re-prompt for a sibling file once approved.

Fixes

  • Closed two real sandbox gaps surfaced while building --include: FileSystemManagementOps was constructed in the REPL with no sandbox root at all (list_files, grep_file, get_file_info, get_file_summary, directory copy/move/create/delete were completely unsandboxed regardless of --yolo), and SearchPlugin had zero path containment anywhere (search_content/search_callers/search_symbol never checked the sandbox)
  • search_content/grep_file no longer read binary files as text — a compiled DLL under a legacy packages\ folder could decode into a single ~215KB "line" that rode along unbounded for the rest of a REPL session (one real session: $3.45, 2.3M tokens, for a routine build fix). Added a shared binary sniffer, a 500-char cap per matched line, packages to the default directory exclusions, and a real in-turn char budget so one oversized tool result gets truncated instead of resent on every subsequent call
  • Extended the same binary guard to patch_file and get_file_summary/large-file preview, which had the identical gap
  • Fixed a false positive in the binary sniffer: legitimate UTF-16/UTF-32 text (Notepad "Save As," PowerShell ISE, some VS templates) was being rejected as binary by every tool above — now checks for a text byte-order mark before the NUL-byte scan

Testing

  • JsonPlugin public methods now have test coverage (#106 — thanks @Mehrad44 for their first contribution!)

Full Changelog: v1.4.51...v1.4.54