Version 1.12.11 of package Ellama has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Ellama describes itself as:

  ==============================
  Tool for interacting with LLMs
  ==============================

More at https://elpa.gnu.org/packages/ellama.html

## Summary:

  [file:https://img.shields.io/badge/license-GPL_3-green.svg]
  [file:https://melpa.org/packages/ellama-badge.svg]
  [file:https://stable.melpa.org/packages/ellama-badge.svg]
  [file:https://elpa.gnu.org/packages/ellama.svg]

  Ellama is a tool for interacting with large language models from
  Emacs. It allows you to ask questions and receive responses from the
  LLMs. Ellama can perform various tasks such as translation, code review,
  summarization, enhancing grammar/spelling or wording and more through
  the Emacs interface. Ellama natively supports streaming output, making
  it effortless to use with your preferred text editor.

  The name "ellama" is derived from "Emacs Large LAnguage Model
  Assistant". Previous sentence was written by Ellama itself.
  <file:imgs/reasoning-models.gif>

## Recent NEWS:

1 Version 1.12.11
═════════════════

  • Fix duplicate system message handling in chat prompts. This change
    removes the redundant `llm-chat-prompt-append-response' call that
    was appending the system message on each interaction, ensuring the
    system message is included only once in the initial prompt context
    setup.
  • Fix bad src block replacement nil match crash that occurred when
    handling certain source code blocks.
  • Warn LLM when reading binary content to prevent potential parsing
    errors and improve robustness of tool integration.
  • Generalize docstring verb-form rule to apply consistently across
    documentation and code.
  • Implement automatic retry for tool call errors. This feature adds
    retry logic to handle transient failures during tool usage by
    appending error messages to the prompt and re-invoking requests,
    improving overall request reliability.


2 Version 1.12.10
═════════════════

  • Fix stack overflow in markdown code fence conversion in
    `ellama--translate-markdown-to-org-filter' by replacing expensive
    regular expressions with linear line parsing for inline fences.
  • Add regression test `test-ellama-md-to-org-inline-fence-long-line'
    to cover long lines with inline code fences and prevent this failure
    from returning.


3 Version 1.12.9
════════════════

  • Fix result delivery for already approved async tools. Ensure results
    are delivered via callback function for both interactive and
    pre‑approved tools.
  • Guard against nil project root tool result. Wrap
    `ellama-tools-project-root-tool' result in an and expression to
    prevent errors when the tool returns nil, protecting
    file-name-directory and expand-file-name calls.


4 Version 1.12.8
════════════════

  • Add fallback for AGENTS.md search when
    `ellama-tools-project-root-tool' returns nil. This ensures reliable
    detection of the AGENTS.md file by falling back to the current
    directory.


5 Version 1.12.7
════════════════

  • Fix bug when only single tool was available. This change fixes a
    duplicate checking issue in the tool list by using `llm-tool-name'
    instead of `plist-get' for proper duplicate detection.
  • Make `shell_command' tool async. The tool now executes commands
    asynchronously using a callback function for better performance.
  • Trim shell command output and return nil for async tools. This
    ensures proper return value handling for async commands to maintain
    compatibility with the llm library.
  • Add –no-pager flag to git commands in changelog generation. This
    prevents output paging and ensures clean command output.


6 Version 1.12.6
════════════════

  • Simplify file writing in `ellama-tools-write-file-tool'. Replaced
    temp buffer-based file writing with write-region to simplify
    implementation and avoid temporary buffer overhead.
  • Refactor file tool parameters. Renamed `path' parameter to
    `file_name' across all file operation tools to follow GNU coding
    convention. Updated function signatures, docstrings, and tool
    definitions accordingly.


7 Version 1.12.5
════════════════

  • Prevent duplicate tools in ellama-tools. Added a test function to
    add-to-list to check if a tool with the same name already exists
    before adding it to ellama-tools-available. This prevents duplicate
    tools from being registered when enabling tools by name.
  • Update changelog skill quoting style. Changed the changelog
    generation skill to use org-mode quoting (`text') instead of
    markdown backticks (`text`). Also use "MUST" instead of "must" to
    pay LLM's attention to the newline requirement.


8 Version 1.12.4
════════════════

  • Normalize file path in write-file function. Added expand-file-name
    to properly handle both absolute and relative paths when writing
    files, preventing potential issues with file path resolution.
  • Filter function objects from function call arguments. This prevents
    display of uncallable function objects in the confirmation prompt.
  • Make task tool unaccessible for general subagents. This change
    improves security and control over tool access.
  • Fix file write tool. Corrected the order of operations in
    ellama-tools-write-file-tool by setting the buffer file name before
    inserting
  …  …

Reply via email to