1 Version 1.19.0
════════════════

  • Add an evaluation harness for comparing agent tool designs with
    local models.  The new suite covers numbered read output, line-range
    editing, trace collection, JSONL export, profile comparisons,
    summaries, and interactive nonblocking runs.
  • Improve evaluation reliability by stabilizing JSONL output paths,
    avoiding active buffer overwrites, serializing nested result data
    correctly, counting worker steps consistently, and relaxing
    docstring checks so valid implementation edits are not rejected for
    harmless wording changes.
  • Improve tool output for local models by rendering single-entry
    `directory_tree' results without misleading branch prefixes and by
    formatting tool-result alists as readable named blocks instead of
    raw S-expressions.
  • Fix search and project tools by returning `default-directory' from
    `project_root' when no project is detected, explaining empty `grep'
    results, supporting string tool result names, and resolving relative
    grep directories against the current buffer directory.
  • Fix subagent buffer insertion so continuation turns append to the
    worker buffer, leave a blank line before each `Main agent:' prompt,
    and render `<think>' blocks as Org quote blocks in Org buffers.
  • Prefer newer Elisp source files during batch jobs to prevent stale
    bytecode from shadowing local edits in build, test, documentation,
    formatting, and refill targets.


2 Version 1.18.0
════════════════

  • Add optional Pandoc-backed Markdown to Org conversion.  Users can
    configure `ellama-markdown-to-org-converter' to use the builtin
    converter, Pandoc, or automatic Pandoc detection while Ellama keeps
    the builtin converter as the default fallback when Pandoc is
    unavailable or conversion fails.


3 Version 1.17.2
════════════════

  • Fix JSON request sanitization for dotted pairs in provider
    non-standard parameters.  OpenAI-compatible providers can now pass
    options such as `:search_options ((search_strategy . "agent"))'
    without triggering a `wrong-type-argument listp' error.


4 Version 1.17.1
════════════════

  • Hide provider values in transient provider selection.  Provider
    completion candidates now show safe labels based on provider
    variable names instead of printed provider values, so secret-bearing
    provider structs are not exposed.
  • Keep transient provider updates compatible with callable provider
    keys from `llm'.  Regression tests now cover hidden provider values,
    callable keys and selected-provider updates.
  • Keep saved sessions loadable without persisting plaintext provider
    keys.  Session persistence now strips provider keys and unreadable
    tool functions before writing session files, restores keys from
    configured providers by default and can restore keys from
    `auth-source' when `ellama-session-persist-provider-keys' is set to
    `auth-source'.


5 Version 1.17.0
════════════════

  • Add maximum output token support.  Ellama now exposes
    `ellama-max-tokens' and passes per-request `:max-tokens' values
    through `llm-make-chat-prompt', so providers can cap generated
    responses using their standard token limit support.  The model
    transient menu can set or reset the max-token override, and
    documentation and tests cover the new behavior.


6 Version 1.16.3
════════════════

  • Sort saved session candidates newest first in `ellama-load-session'.
    Ellama now orders session files by modification time and exposes
    standard completion metadata so completion UIs can preserve that
    order.


7 Version 1.16.2
════════════════

  • Fix GNU ELPA tarball manual generation from `README.org'. Add Org
    export metadata so ELPA writes `ellama.texi' with a valid title, and
    keep the local manual exporter from inheriting those README-only
    export keywords.


8 Version 1.16.1
════════════════

  • Remove false statement from documentation.


9 Version 1.16.0
════════════════

  • Add image input support for prompts and context.  Ellama can now
    attach image files to chat requests, queue image context
    ephemerally, and build multipart prompts for providers that support
    image media.
  • Add image-aware tool handling.  The `read_file' tool can run in
    auto, text, or
  …  …
