Skip to content

26.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 12:21

26.7.0 — Structured changes in Compare + new AnalyzeChanges tool

What changed

  • Compare now returns a structured JSON list of the detected changes alongside the marked-up result file, in a Changes: section appended after the saved-file line. Each change carries id, type, componentType, changedText (the specific inserted/deleted fragment), surrounding sourceText/targetText, tabular row/column/columnHeader, and styleChanges (per-property old/new values). Empty fields are omitted to keep the payload compact.
  • New AnalyzeChanges tool returns the same structured change list without rendering or saving a result file. It calls the engine's parameterless Compare(), so it pays only for the diff — no document is written to storage. Use it when the user wants to summarize, explain, or reason about what changed rather than obtain the rendered diff file.
  • Both tools' [Description] text guides the agent's routing: Compare for "save the marked-up file", AnalyzeChanges for "what changed?" analysis.
  • Bumped the GroupDocs.Comparison engine dependency to 26.5.0, which exposes the Cells Row / Column / ColumnHeader fields used by the change projection.

Why

The previous Compare response exposed only a change count and the saved file path. The file is for a human to open; the calling LLM cannot read it. All the semantic detail the engine already computes in GetChanges() (what changed, of what kind, where) was discarded. Surfacing it as structured JSON lets the agent actually answer "what changed?" without a human opening the document. AnalyzeChanges splits out the analysis-only intent so agents can skip the cost of rendering a file when the user only wants the diff explained.

Migration / impact

Additive and backward-compatible. Compare's existing output (summary line + saved-file line) is unchanged; the Changes: JSON block is appended after it, so consumers pattern-matching on the leading summary/path text are unaffected. AnalyzeChanges is a new tool — no impact on existing Compare / GetDocumentInfo callers.

Full Changelog: 26.5.2...26.7.0