                        ━━━━━━━━━━━━━━━━━━━━━━━━
                         EMACS-HERMES CHANGELOG
                        ━━━━━━━━━━━━━━━━━━━━━━━━


1 Version 0.7.0 (unreleased)
════════════════════════════

  • Excluded tests and development files from ELPA packages, preventing
    test helper load errors during installation.
  • Added inert output previews for backend-managed files and HTML/SVG
    reply blocks, with source inspection, explicit saving, and image
    zoom.
  • Added a session-owned live task panel that follows backend snapshots
    and preserves pending tasks when a turn ends.
  • Added session pinning and named backend workspaces, with
    profile-scoped management and readback after changes.
  • Added Markdown and code highlighting to editable chat drafts without
    changing submitted text.
  • Added `hermes-request' for asynchronous prompts in fresh,
    profile-qualified sessions without borrowing a chat's history.
    Requests use the selected profile's model and provider and support
    cancellation and timeouts.
  • Accepted clarification replies from the composer as well as the
    minibuffer, preserving free-text answers and handling batched
    questions in order.
  • Preserved full accepted corrections between assistant reply segments
    and contained callback failures without failing unrelated chats.
  • Kept queued input pending until an interrupt settles, including when
    an idle notification arrives before the interrupt response.


2 Version 0.6.0 (2026-09-09)
════════════════════════════

  • Added local image drafts from files and PNG clipboard data.  Images
    can be previewed or removed before submission; selecting them does
    not upload them.  Failed or uncertain submissions retain bytes in an
    in-memory recovery view for explicit inspection and manual recovery.
    Image staging is shared by a backend session, so do not use another
    client to send into that session.
  • Rendered Markdown tables inline with wrapped cells and a copy-source
    action.  Tables reflow to the narrowest displaying window, account
    for line-number gutters, and preserve the transcript, draft, and
    undo history during resize.
  • Added `hermes-chat-quote-region' to append selected transcript text
    as a Markdown quote to the draft.  It preserves existing input and
    never sends or queues the quote, including while a turn is running.
  • Added `M-x hermes-files' to browse backend-managed files and open
    inert text or image previews without file-local variables or
    evaluation.  The viewer can save validated bytes to a new local
    file, never overwrite an existing destination.  Reads are capped at
    4 MiB and listings at 2000 entries.
  • Added native pairing and webhook management, tool-provider setup,
    and agent plugin installation, enablement, update, removal, and
    context-engine choice.  Commands retain their owning instance and
    reject stale confirmations or unprovable mutation targets.
  • Expanded MCP management with server creation and removal, reviewed
    catalog installation, backend-owned OAuth, and progress monitoring.
    Cancelling monitoring does not imply cancellation of a remote
    installation.
  • Added system-log source, level, component, and line-count filters,
    optional auto-refresh, and popup controls.  Worker views can open
    logs when the backend publishes an exact transcript or child-session
    identity.
  • Added optional chat-header and process icons, with text fallbacks.
    Settings menus show reported values and distinguish pending
    create-time choices from active settings.
  • Preserved browser position and instance ownership across refreshes,
    kept asynchronous completion from displacing later window choices,
    and settled failed initial client acquisition so views can be
    retried.
  • Added `M-x hermes-dashboard-restart' in chat buffers.  After
    confirming its shared impact, it restarts the Emacs-owned dashboard
    and eagerly reattaches live chats to their durable sessions without
    replacing buffers or drafts.  Queued and uncertain input is copied
    to editable recovery buffers for manual sending.  The backend may
    recover interrupted turns under its own policy; Emacs never resends
    input.  Remote dashboards are not restarted: use
  …  …
