Skip to content

Proxima v1.6.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 18:46
· 7 commits to main since this release

What's changed

Fixed

  • A credential pasted into a prompt was stored verbatim — found by testing the shipped binary. Masking covered tool arguments, so a key typed into a message sat unmasked in ~/.proxima/sessions/*.json. User and assistant content is now masked — with the bare-scheme rule tightened so it needs a credential-shaped token (a digit, base64/URL punctuation, or mid-token case mixing) rather than mere length, which had turned implement basic authentication middleware into implement *** middleware. Tool results are still left alone so --resume replays real file contents rather than making the model re-run tools to recover them. ToolCall.toJson() is masked for the same reason, closing the last unmasked serialisation boundary
  • Invalid --model values reported as internal faults — ⚠ Unexpected error: Invalid argument(s): Unknown provider "gemini". read like a crash for what is a configuration mistake. Now ⚠ Unknown provider "gemini". with a hint about the provider/model form, and the REPL resets the agent loop so the user can switch model and retry
  • The write critic reviewed an empty patch — it read content or a patch argument, but patch_file's schema is old_str/new_str and no tool has ever had a patch argument. Every patch_file review therefore received an empty string and reported "the proposed change is empty or missing" instead of reviewing the edit. The edit is now rendered as a before/after diff
  • git_status failed outside a repository — a freshly scaffolded project has no git repo, and the tool threw a hard error for that ordinary condition. It now reports Not a git repository. so the model can act on it
  • Every Nth message was silently dropped in long sessions — iterationCount is a persisted session field that was reset only after a failed turn, so it accumulated across successful ones. Once it reached the cap the loop guard was already false on entry: the body never ran and the user's message, already appended to history, was never sent to the model. The turn then failed, which reset the counter, so the next message worked — the symptom was an occasional message doing nothing at all. Now reset per turn, matching the documented per-request semantics
  • The iteration cap interrupted normal multi-file work — the default of 10 was tuned for single-file edits, but the system prompt directs the agent to verify every write by reading the file back, so each file costs two iterations. A seven-file scaffold hit the cap four times. Raised to 25, and budget exhaustion is no longer reported as a failure: it returns the new TaskStatus.budgetExhausted and goes through a new AgentCallbacks.onNotice, rendered dim rather than red, so API callers can distinguish a turn that ran out of steps from one that actually failed. The message says how to continue and names both config locations. Runaway loops are still bounded, and the stuck and spinning detectors fire long before this


Installation

macOS / Linux — install script

curl -fsSL https://raw.githubusercontent.com/jizzel/proxima/main/install.sh | sh

macOS (Apple Silicon + Intel via Rosetta 2)

curl -fsSL https://github.com/jizzel/proxima/releases/download/v1.6.1/proxima-macos-arm64 \
  -o /usr/local/bin/proxima && chmod +x /usr/local/bin/proxima

Linux (x86_64)

curl -fsSL https://github.com/jizzel/proxima/releases/download/v1.6.1/proxima-linux-x64 \
  -o /usr/local/bin/proxima && chmod +x /usr/local/bin/proxima

Windows (x86_64) — PowerShell

irm https://raw.githubusercontent.com/jizzel/proxima/main/install.ps1 | iex

Or download proxima-windows-x64.exe below and add it to a directory on your PATH.