Version 1.12.16 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.16 ═════════════════ • Improve ephemeral context behavior for interactive commands. `ellama-ask-about', `ellama-code-review', `ellama-write', and `ellama-code-add' now explicitly add region/buffer context as ephemeral for one request. • Add safer region replacement flow for editing commands. `ellama-stream' now accepts `:replace-beg' and `:replace-end' to replace text in place, and restore buffer content on request errors. `ellama-change', `ellama-code-edit', `ellama-code-improve', and `ellama-make-format' now use this path. • Improve request cancellation handling across related buffers. Request state is now tracked as a shared request context, so cancellation through `C-g' works consistently from both main and reasoning buffers and does not affect unrelated active requests. • Fix chat session recovery after buffer revert. Session resolution now uses stable runtime UIDs and restores session state after `revert-buffer', improving robustness across renames and legacy session files. • Add development helper targets to the Makefile. New targets: `make format-elisp' for formatting project Elisp files and `make test-detailed' for running tests with detailed ERT failure output. 2 Version 1.12.15 ═════════════════ • Fix compilation warnings. This change resolves compilation warnings found during building. 3 Version 1.12.14 ═════════════════ • Add fake streaming helpers and new stream tests. Introduce `ellama-test--fake-stream-partials' and `ellama-test--run-with-fake-streaming' to simplify test setup for streaming LLM responses. Refactor existing tests to use these helpers. Add tests for `ellama-stream' output to a log buffer and for retry logic when a fake tool‑call error is raised. These changes improve test readability and cover new streaming scenarios. • Add tests for ellama helper functions and error handling. Introduce unit tests covering `ellama-remove-reasoning', mode-derived helpers, tool call error detection, error handler retry logic on tool errors, error handling for non-tool errors, chat-done callback behavior, and setup to use local ellama-tools. These tests validate correct behavior and edge cases. • Correct tool argument handling, enable‑by‑name, and edit‑file logic. Update `ellama-tools-wrap-with-confirm' to use each argument’s plist for type resolution, prevent type removing. Guard `ellama-tools-enable-by-name-tool' against adding a nil tool when the name is missing. Simplify `ellama-tools-edit-file-tool' to use replace-match for robust replacement. Add extensive ERT tests covering argument type preservation, enable‑by‑name nil‑check, edit‑file replacement at file start, confirmation caching, reply, and denial flows, file read/write/append/prepend/directory tree/move/line range/patch application validations, role and provider resolution logic, subagent loop step limits, task tool role fallback and priority handling. • Add test for context prompt clearing ephemerals. Introduce a new ERT test `test-ellama-context-prompt-with-context-clears-ephemeral' that verifies `ellama-context-prompt-with-context' returns the combined prompt string and clears the ellama-context-ephemeral list. The test also ensures that `ellama-context-global' remains intact after the prompt is generated, confirming that ephemerals are not persisted across prompts. • Add comprehensive tests for ellama skill handling. Implemented a suite of unit tests covering skill frontmatter parsing, directory scanning with filtering of invalid or hidden skills, project directory resolution, ordering of global and local skills, and prompt generation for both empty and populated skill lists. • Add blueprint tests. Updated the Makefile test target to run the new ellama‑blueprint tests and added tests/test-ellama-blueprint.el which exercises blueprint loading, variable handling, selection, and command execution. • Add community prompts tests and refactor download logic. Implemented comprehensive unit tests for community prompts, updated Makefile to run the … …
