1 Version 1.26.0
════════════════

  • Auto-fix unexpected closing delimiters in file edits. When syntax
    validation fails due to unexpected closing delimiters (like extra
    `)` or `]`), the system automatically removes them and accepts the
    edit if the result is valid. This reduces friction for LLM-generated
    edits that occasionally include spurious closers. Changes include
    new functions `ellama-eval–remove-unexpected-closers-in-buffer` and
    `ellama-tools–remove-unexpected-closers-in-buffer` to scan buffers
    and remove closers without matching openers,
    `ellama-eval–try-fix-unexpected-closers` and
    `ellama-tools–try-fix-unexpected-closers` to attempt auto-fixing in
    file context with safe buffer restoration, and integration of
    auto-fixing into monitored-edit-file-tool and all balanced edit
    tools.
  • Add commit patch fallback for generate-commit-message. New functions
    `ellama–in-commit-buffer` and `ellama–commit-patch` detect git
    commit buffers and retrieve commit patches. Modified
    `ellama-generate-commit-message` to use commit patch as a fallback
    when no staged or unstaged diff is available, enabling proper commit
    message generation in git-commit-mode reword or amend scenarios.
  • Simplify test target in Makefile. Remove the inline test command
    definition and make `test` an alias for `test-detailed`,
    consolidating the test execution into a single target.


2 Version 1.25.0
════════════════

  • Add loop detection to `ellama-eval' harness that identifies
    repetitive tool call patterns indicating agents are stuck in
    evaluation loops. The harness returns recovery guidance on the first
    repeated identical tool call sequence, and falls back to hard loop
    detection for repeated loops after recovery.  Configurable
    defcustoms control the behavior:
    `ellama-eval-loop-detection-enabled' (default: t),
    `ellama-eval-loop-detection-repeated-threshold' (default: 2), and
    `ellama-eval-loop-detection-max-traces' (default: 50).

  • Move loop recovery into task subagents by wrapping role tools with
    session-local repeated-call detection. Repeated identical tool calls
    return recovery guidance at the configured threshold and complete
    the subtask if the same consecutive chain continues. Document the
    new subagent loop-detection settings in README.org.

  • Extend evaluation cancellation with request context tracking. Store
    the active request context on the session for streaming,
    continuation, and compaction requests so that eval timeout
    cancellation can target the correct context directly. Cancel active
    eval worker requests when a run finishes with a non-completed
    status, and register asynchronous session compaction requests in the
    active request context so user cancellation and eval timeout stop
    the compact request itself.

  • Harden evaluation async buffer handling by scheduling timers from a
    stable internal buffer so callbacks do not inherit transient
    subagent buffers. Guard interactive summary rendering against stale
    target-window errors and fall back to display-buffer.

  • Render evaluation progress and final summaries into the selected
    window for interactive runs, keeping the existing display-buffer
    behavior as a fallback for noninteractive or stale-window calls.

  • Preserve triggering tool calls in public traces and final
    loop-detection results when loop detection triggers, and record
    recovery metadata in tool traces so recovered passing runs remain
    visible. Avoid false loop detection on later repeated reads by
    treating the repeated-call threshold as the recovery point for the
    current consecutive chain.


3 Version 1.24.1
════════════════

  • Added literal string matching support to `ellama-tools-grep-tool'
    and `ellama-tools-grep-in-file-tool' using `-F' (fixed-strings) and
    `-e' flags, treating the search string literally rather than as a
    regular expression.  Added helper function
    `ellama-tools--grep-search-args' and corresponding unit tests.
  • Fixed `srt' command quoting for shell execution. Added
    `ellama-tools--shell-quote-command' helper and updated
  …  …
