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
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,13 +17,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
17
17
#### Changed
18
18
19
19
- **Build-variant IL values are normalized instead of discarded** — MVID, method RVA, code-size, and WinForms `AxHost.TypeLibraryTimeStampAttribute` values are replaced with rule-specific stable markers in every mode. Each matching line prefix is preserved while the build-variant portion that follows it is replaced. For ILSpy's multiline type-library timestamp form, the complete byte blob through its closing `)` is collapsed into one marker. Built-in rules cover the actual comment and custom-attribute forms emitted by both supported disassemblers, including ILSpy's custom-attribute syntax without dotnet-ildasm's `class ` token, and are applied to every IL text regardless of which disassembler produced it; the disassembler recorded in reports identifies pattern provenance only. Normalization still occurs after IL cache retrieval, with no cache format or key change, so compatible existing cache entries remain reusable.
20
-
- **Creator ignore defaults preserve more meaningful differences** — Removed the built-in RVA, code-size, WinForms `AxHost.TypeLibraryTimeStampAttribute`, and `.publickeytoken = (` entries from the `buildserver-winforms` ignore profile. The first three are now handled by built-in normalization in every mode. Public key token changes are no longer suppressed, so AssemblyRef token differences remain visible in creator mode.
20
+
- **Creator ignore defaults preserve more meaningful differences** — Renamed the built-in ignore profile from `buildserver-winforms` to `creator-default` and removed its RVA, code-size, WinForms `AxHost.TypeLibraryTimeStampAttribute`, and `.publickeytoken = (` entries. Its path entries now enumerate `A:\temp\develop\` through `Z:\temp\develop\` in drive-letter order; the five drive-less yen-sign, backslash, doubled-separator, and forward-slash variants were removed. The first three removed IL entries are now handled by built-in normalization in every mode. Public key token changes are no longer suppressed, so AssemblyRef token differences remain visible in creator mode.
21
21
- **Normalization reporting and tool guidance are more explicit** — Markdown and HTML reports show built-in normalization rules, configured normalization substrings, and configured ignore substrings in that order. Built-in and configured-normalization tables state that their row order is the application order. The tables distinguish `Line Prefix Pattern`, `Substring to Normalize`, and `Substring to Ignore`; configured values are displayed without decorative quotes, while an enabled setting with no effective values is reported without rendering an empty table. The built-in table also shows each pattern's replacement marker and observed disassembler. Duplicate and containment-related normalization values now produce console/report warnings. Guidance clarifies sequential raw-text matching order and inserted-marker protection, why the current built-in rules are order-independent, that `nildiff` itself targets `net8.0`, and that `ilspycmd 9.1.0.7988` is pinned as the fallback baseline for inspecting assemblies targeting .NET 8/9/10. English/Japanese configuration documentation, schema, guides, and report samples are aligned with the new behavior.
22
22
- **Normalization configuration and report output are bounded and unambiguous** — The configured normalization list is limited to 256 entries of at most 4096 Unicode characters each. Per line, all configured rules together are limited to 65,536 non-overlapping replacements and a normalized result of at most 4,194,304 UTF-16 code units; either excess throws `InvalidDataException` before the expanded result is allocated. Relationship diagnostics emit at most 100 details plus a suppressed-count summary and are skipped when configured normalization is disabled. Configured substring values embedded in safety warnings use a single-line visible escape form for line breaks, other whitespace, control/format characters, combining marks, lone UTF-16 surrogates, and backslashes while keeping CommonMark punctuation inert, preventing configuration text from altering console/log or report structure. Markdown report tables use reversible escaped values so backslashes, invisible characters, and CommonMark punctuation remain distinguishable without becoming inline syntax; HTML reports keep their ordinary pre-wrapped display.
23
23
24
24
#### Removed
25
25
26
26
- **`ShouldIgnoreMVID` configuration setting and API** — Removed as a breaking change; MVID values are now always normalized to `<nildiff:normalized:mvid>`. Supplying the former JSON key or `FOLDERDIFF_SHOULDIGNOREMVID` environment variable fails with an explicit migration error instead of being accepted and ignored.
27
+
- **`buildserver-winforms` creator profile name** — Removed as a breaking change. Use `creator-default`; the former name follows the normal unknown-profile path and exits with invalid arguments.
27
28
28
29
### [1.24.0] - 2026-07-29
29
30
@@ -1743,13 +1744,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
0 commit comments