1 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.


2 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
    `ellama-tools--command-argv' to properly construct shell command
    strings when using `srt' sandbox. Commands are now wrapped with `srt
    -c' using `shell-quote-argument' to safely handle special characters
    in arguments.


3 Version 1.24.0
════════════════

  • Added plan-and-act agent loop for multi-agent code generation
    workflows.
  • Added plan-and-act agent to transient menu for easy access.
  • Added support for resuming plan-and-act after interruption.
  • Formatted plan-and-act tool arguments for better reliability.
  • Fixed plan-and-act test root path for correct test execution.
  • Documented plan-and-act agent loop functionality.


4 Version 1.23.0
════════════════

  • Add optional `timeout' support to `shell_command' with a default of
    five seconds. Long-running async shell commands are terminated when
    the timeout expires and return a timeout message with any collected
    output.
  • Add optional `timeout' support to `grep' with the same five-second
    default.  Directory searches now use timeout-aware command execution
    and return a clear diagnostic when grep exceeds the configured
    limit.
  • Add optional `timeout' support to `directory_tree' with the same
    five-second default. Recursive directory traversal now stops when
    the timeout expires and returns a clear diagnostic with the partial
    tree collected so far.
  • Strengthen project git hook templates for local Elisp
    validation. Staged Elisp
  …  …
