You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
All notable changes to this project are documented here.
4
4
5
+
## 1.15.0 - 2026-06-29
6
+
7
+
- Added `changedLineSummary` to module/file comparison results so callers do not need to parse summary text for changed and returned line counts.
8
+
- Added first-body-difference next actions that point directly to the database and local file lines to inspect.
9
+
- Added `compare.repoExcludePatterns` config defaults, merged with per-call `excludePatterns`, for routinely ignoring historical or backup SQL folders during repository module discovery.
10
+
5
11
## 1.14.0 - 2026-06-29
6
12
7
13
- Added `firstBodyDifference` to module/file comparison results, mapping the first SQL-normalized body difference back to database and file line numbers.
@@ -120,7 +121,7 @@ Relative `logs`, `cache`, and `tmp` directories are created beside the config fi
120
121
121
122
Search, definition-slice, configuration-text, usage, and read-only query tools expose `resultInfo` for consistent returned-count, limit, truncation, reason, and hint metadata.
122
123
123
-
Module/file comparison returns a readable top-level summary, `differenceKind`, `firstBodyDifference`, ignored wrapper-difference labels, and multi-hunk diffs with truncation metadata. Use `diffMode=summary` for ranges only, `compact` for the default focused diff, or `full` with larger `maxHunks` / `maxDiffLinesPerSide` caps. Repository comparison also accepts `excludePatterns`such as `backup/**` and returns `suggestedPatterns` for ambiguous candidates. It reports `sqlNormalizedMatch` and SQL-normalized hashes to ignore common deployment-script wrapper differences such as `CREATE OR ALTER`, leading `SET ANSI_NULLS` / `SET QUOTED_IDENTIFIER`, and trailing `GO`, while `firstBodyDifference` maps the first SQL-normalized body change back to database and file line numbers.
124
+
Module/file comparison returns a readable top-level summary, `changedLineSummary`, `differenceKind`, `firstBodyDifference`, ignored wrapper-difference labels, and multi-hunk diffs with truncation metadata. Use `diffMode=summary` for ranges only, `compact` for the default focused diff, or `full` with larger `maxHunks` / `maxDiffLinesPerSide` caps. Repository comparison accepts per-call `excludePatterns`, merges them with `compare.repoExcludePatterns` defaults such as `backup/**`, and returns `suggestedPatterns` for ambiguous candidates. It reports `sqlNormalizedMatch` and SQL-normalized hashes to ignore common deployment-script wrapper differences such as `CREATE OR ALTER`, leading `SET ANSI_NULLS` / `SET QUOTED_IDENTIFIER`, and trailing `GO`, while `firstBodyDifference` maps the first SQL-normalized body change back to database and file line numbers. When a body difference exists, `nextActions` points directly to the database and local file lines to inspect.
124
125
125
126
`describe_query_result` accepts optional `templateValues` for UI SQL placeholders, for example `{ "0": "1=1" }` replaces `{0}` before describing columns. Replacements are raw SQL fragments, and the final SQL is still parsed by the read-only guard.
$"Inspect first SQL body difference at database line {FormatNullableInt(firstBodyDifference.DatabaseLine)} and local file line {FormatNullableInt(firstBodyDifference.FileLine)}.");
2678
+
}
2679
+
2680
+
nextActions.AddRange(ModuleCompareNextActions);
2681
+
if(!diff.Equal&&diff.Mode=="summary")
2682
+
{
2683
+
nextActions.Add("Use diffMode=compact to include surrounding line text for changed hunks.");
Copy file name to clipboardExpand all lines: src/SqlServerMcp/Tools/SqlServerMcpTools.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -164,7 +164,7 @@ public static Task<string> CompareModuleToRepo(
164
164
[Description("Module name.")]stringname,
165
165
[Description("Optional repository/folder root. Defaults to the MCP process current directory.")]string?root=null,
166
166
[Description("Optional path glob patterns such as **/*.sql, procedures/*.sql, or *proc*.sql. Defaults to **/*.sql.")]string[]?patterns=null,
167
-
[Description("Optional path glob patterns to exclude from candidate discovery, such as backup/** or domain2/**.")]string[]?excludePatterns=null,
167
+
[Description("Optional path glob patterns to exclude from candidate discovery, such as backup/** or domain2/**. Merged with compare.repoExcludePatterns from config.")]string[]?excludePatterns=null,
168
168
[Description("Maximum ranked candidates to return when discovery is empty or ambiguous. Defaults to 10 and is capped.")]int?maxCandidates=null,
169
169
[Description("Context lines around the changed block after a file is selected. Defaults to 5 and is capped.")]int?contextLines=null,
170
170
[Description("Diff output mode: summary, compact, or full. Defaults to compact.")]string?diffMode=null,
0 commit comments