26.7.0
26.7.0 — Structured changes in Compare + new AnalyzeChanges tool
What changed
Comparenow returns a structured JSON list of the detected changes alongside the marked-up result file, in aChanges:section appended after the saved-file line. Each change carriesid,type,componentType,changedText(the specific inserted/deleted fragment), surroundingsourceText/targetText, tabularrow/column/columnHeader, andstyleChanges(per-property old/new values). Empty fields are omitted to keep the payload compact.- New
AnalyzeChangestool returns the same structured change list without rendering or saving a result file. It calls the engine's parameterlessCompare(), 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:Comparefor "save the marked-up file",AnalyzeChangesfor "what changed?" analysis. - Bumped the
GroupDocs.Comparisonengine dependency to26.5.0, which exposes the CellsRow/Column/ColumnHeaderfields 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