Skip to content

Latest commit

 

History

History
244 lines (202 loc) · 14.1 KB

File metadata and controls

244 lines (202 loc) · 14.1 KB

Folder Diff Report

Property Value
App Version nildiff 2.0.1
Computer dev-machine
Timezone +09:00
Elapsed Time 0h 0m 1.2s
Old Folder /Users/UserA/workspace/old
New Folder /Users/UserA/workspace/new

Disassembler Availability

Tool Available Version In Use
dotnet-ildasm Yes 0.12.2 Yes
ilspycmd No N/A No

Configuration Details

Setting Value
Ignored Extensions .cache, .DS_Store, .db, .ilcache, .log, .pdb
Text File Extensions .asax, .ascx, .asmx, .aspx, .bat, .c, .cmd, .config, .cpp, .cs, .cshtml, .csproj, .csx, .css, .csv, .editorconfig, .env, .fs, .fsi, .fsproj, .fsx, .gitattributes, .gitignore, .gitmodules, .go, .gql, .graphql, .h, .hpp, .htm, .html, .http, .ini, .js, .json, .jsx, .less, .manifest, .md, .mod, .nlog, .nuspec, .plist, .props, .ps1, .psd1, .psm1, .py, .razor, .resx, .rst, .sass, .scss, .sh, .sln, .sql, .sqlproj, .sum, .svg, .targets, .toml, .ts, .tsv, .tsx, .txt, .vb, .vbproj, .vue, .xaml, .xml, .yaml, .yml

Built-in IL Normalization — Rules apply in the listed order to all IL text, preserving each matching prefix and replacing only its build-variant value.

Line Prefix Pattern Replacement Observed Output From
.custom instance void [System.Windows.Forms]System.Windows.Forms.AxHost/TypeLibraryTimeStampAttribute::.ctor(string) = ( <nildiff:normalized:type-library-timestamp> ilspycmd
.custom instance void class [System.Windows.Forms]System.Windows.Forms.AxHost/TypeLibraryTimeStampAttribute::.ctor(string) = ( <nildiff:normalized:type-library-timestamp> dotnet-ildasm
// Code size <nildiff:normalized:code-size> dotnet-ildasm
// Code size: <nildiff:normalized:code-size> ilspycmd
// MVID: <nildiff:normalized:mvid> dotnet-ildasm
// Method begins at RVA 0x <nildiff:normalized:rva> ilspycmd
// Method begins at Relative Virtual Address (RVA) 0x <nildiff:normalized:rva> dotnet-ildasm

ILNormalizeContainingStrings — Matches are replaced in the listed order with a comparison-local marker absent from both inputs; all other text remains comparable.

Substring to Normalize (Escaped)
buildserver1_
buildserver2_
A:\\temp\\develop\\
B:\\temp\\develop\\
C:\\temp\\develop\\
D:\\temp\\develop\\
E:\\temp\\develop\\
F:\\temp\\develop\\
G:\\temp\\develop\\
H:\\temp\\develop\\
I:\\temp\\develop\\
J:\\temp\\develop\\
K:\\temp\\develop\\
L:\\temp\\develop\\
M:\\temp\\develop\\
N:\\temp\\develop\\
O:\\temp\\develop\\
P:\\temp\\develop\\
Q:\\temp\\develop\\
R:\\temp\\develop\\
S:\\temp\\develop\\
T:\\temp\\develop\\
U:\\temp\\develop\\
V:\\temp\\develop\\
W:\\temp\\develop\\
X:\\temp\\develop\\
Y:\\temp\\develop\\
Z:\\temp\\develop\\
A:\\\\temp\\\\develop\\\\
B:\\\\temp\\\\develop\\\\
C:\\\\temp\\\\develop\\\\
D:\\\\temp\\\\develop\\\\
E:\\\\temp\\\\develop\\\\
F:\\\\temp\\\\develop\\\\
G:\\\\temp\\\\develop\\\\
H:\\\\temp\\\\develop\\\\
I:\\\\temp\\\\develop\\\\
J:\\\\temp\\\\develop\\\\
K:\\\\temp\\\\develop\\\\
L:\\\\temp\\\\develop\\\\
M:\\\\temp\\\\develop\\\\
N:\\\\temp\\\\develop\\\\
O:\\\\temp\\\\develop\\\\
P:\\\\temp\\\\develop\\\\
Q:\\\\temp\\\\develop\\\\
R:\\\\temp\\\\develop\\\\
S:\\\\temp\\\\develop\\\\
T:\\\\temp\\\\develop\\\\
U:\\\\temp\\\\develop\\\\
V:\\\\temp\\\\develop\\\\
W:\\\\temp\\\\develop\\\\
X:\\\\temp\\\\develop\\\\
Y:\\\\temp\\\\develop\\\\
Z:\\\\temp\\\\develop\\\\
buildserver1_artifact

ILIgnoreLineContainingStrings — When diffing IL, lines containing any of the configured strings are ignored:

Enabled, but no non-empty strings are configured.

Legend — Diff Detail

Label Description
SHA256Match / SHA256Mismatch Byte-for-byte match / mismatch (SHA256)
ILMatch / ILMismatch IL(Intermediate Language) match / mismatch
TextMatch / TextMismatch Text-based match / mismatch

Legend — Change Importance

Label Description
High Breaking change candidate: public/protected API removal, access narrowing, return-type / parameter / member-type change
Medium Notable change: public/protected member addition, modifier change, access widening, internal removal
Low Low-impact change: body-only modification, internal/private member addition

Legend — Estimated Change

Label Description
+Method New method added
-Method Method removed
+Type New type added
-Type Type removed
Possible Extract Possible method body extraction to a new private/internal method
Possible Inline Possible private/internal method inlining into another method
Possible Move Possible method move between types
Possible Rename Possible method rename (same signature and IL body)
Signature Method/property signature changed
Access Access modifier changed
BodyEdit Method body IL changed only
DepUpdate Dependency package version changed only

[ x ] Ignored Files (3)

Status File Path Timestamp
[ x ] /Users/UserA/workspace/old/logs/debug.log (old) 2026-03-15 08:50:00.000
[ x ] /Users/UserA/workspace/new/obj/build.cache (new) 2026-03-15 09:05:00.000
[ x ] bin/App.pdb (old/new) 2026-03-15 08:57:00.000 → 2026-03-15 09:03:00.000

[ = ] Unchanged Files (5)

Status File Path Timestamp Diff Reason Disassembler .NET SDK
[ = ] data/schema.bin 2026-03-15 08:30:00.000 → 2026-03-15 09:00:00.000 SHA256Match
[ = ] vendor/lib.dll 2026-03-15 09:00:00.000 SHA256Match .NET 8.0
[ = ] util/Helper.dll 2026-03-15 08:58:00.000 → 2026-03-15 09:02:00.000 ILMatch dotnet-ildasm (version: 0.12.2) .NET 8.0
[ = ] appsettings.json 2026-03-15 09:00:00.000 TextMatch
[ = ] docs/notes.md 2026-03-15 08:00:00.000 → 2026-03-15 09:00:00.000 TextMatch

[ + ] Added Files (1)

Status File Path Timestamp
[ + ] /Users/UserA/workspace/new/docs/guide.md 2026-03-15 09:01:00.000

[ - ] Removed Files (1)

Status File Path Timestamp
[ - ] /Users/UserA/workspace/old/legacy/old-tool.txt 2026-03-15 08:55:00.000

[ * ] Modified Files (15)

Status File Path Timestamp Diff Reason Estimated Change Disassembler .NET SDK
[ * ] bin/MyApp.deps.json 2026-03-15 08:58:00.000 → 2026-03-15 09:02:00.000 TextMismatch High DepUpdate
[ * ] config/app.config 2026-03-15 08:56:00.000 → 2026-03-15 09:01:00.000 TextMismatch
[ * ] config/settings.ini 2026-03-15 09:08:00.000 → 2026-03-15 09:01:00.000 TextMismatch
[ * ] src/DataModel.edmx 2026-03-15 08:55:00.000 → 2026-03-15 09:04:00.000 TextMismatch
[ * ] src/LargeConfig.xml 2026-03-15 08:54:00.000 → 2026-03-15 09:05:00.000 TextMismatch
[ * ] src/Strings.resx 2026-03-15 08:57:00.000 → 2026-03-15 09:03:00.000 TextMismatch
[ * ] src/Web.config 2026-03-15 08:58:00.000 → 2026-03-15 09:02:00.000 TextMismatch
[ * ] lib/Core.dll 2026-03-15 09:12:00.000 → 2026-03-15 09:03:00.000 ILMismatch High -Method, Signature dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/ApiClient.dll 2026-03-15 08:55:00.000 → 2026-03-15 09:04:00.000 ILMismatch High +Type, +Method dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/App.dll 2026-03-15 08:58:00.000 → 2026-03-15 09:02:00.000 ILMismatch Medium Possible Extract, +Method dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/BigModule.dll 2026-03-15 09:10:00.000 → 2026-03-15 09:02:00.000 ILMismatch Medium Possible Move, Possible Rename dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] lib/Logging.dll 2026-03-15 08:52:00.000 → 2026-03-15 09:03:00.000 ILMismatch Medium Access dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/Service.dll 2026-03-15 09:05:00.000 → 2026-03-15 09:00:00.000 ILMismatch Low BodyEdit dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] util/Legacy.dll 2026-03-15 08:50:00.000 → 2026-03-15 09:01:00.000 ILMismatch Low Possible Inline dotnet-ildasm (version: 0.12.2) .NET 6.0.NET 8.0
[ * ] payload.bin 2026-03-15 08:59:00.000 → 2026-03-15 08:54:00.000 SHA256Mismatch

Dependency Changes: bin/MyApp.deps.json

Package Status Importance Old Version New Version Vulnerabilities Referencing Assemblies
System.Text.Json [ - ] High 7.0.0 MyApp, MyApp.Core
Newtonsoft.Json [ + ] Medium 13.0.3 ⚠ Moderate MyApp.Core
Serilog [ * ] High 3.0.0 4.1.0 High MyApp
Microsoft.Extensions.Logging [ * ] Medium 8.0.0 9.0.0 MyApp, MyApp.Core, MyApp.Data
Microsoft.Extensions.DependencyInjection [ * ] Low 9.0.0 9.0.8 MyApp

Summary

Category Count
Ignored 3
Unchanged 5
Added 1
Removed 1
Modified 15
Compared 24 (Old) vs 24 (New)

IL Cache Stats

Metric Value
Hits 42
Misses 8
Hit Rate 84.0%
Stores 8
Evicted 0
Expired 0

Warnings

[ ! ] IL substring configuration safety warnings (1)

  • ILNormalizeContainingStrings: "buildserver1_" and "buildserver1_artifact" overlap by containment. Configured normalization uses sequential ordinal matching on unreplaced raw text in listed order; inserted markers are not reprocessed, but the result may still depend on rule order. Use non-overlapping values or verify the reported application order.

[ ! ] Modified Files — SHA256Mismatch: binary diff only — not a .NET assembly and not a recognized text file (1)

Status File Path Timestamp Diff Reason Estimated Change Disassembler .NET SDK
[ * ] payload.bin 2026-03-15 08:59:00.000 → 2026-03-15 08:54:00.000 SHA256Mismatch

[ ! ] Modified Files — new file timestamps older than old (5)

Status File Path Timestamp Diff Reason Estimated Change Disassembler .NET SDK
[ * ] config/settings.ini 2026-03-15 09:08:00.000 → 2026-03-15 09:01:00.000 TextMismatch
[ * ] lib/Core.dll 2026-03-15 09:12:00.000 → 2026-03-15 09:03:00.000 ILMismatch High -Method, Signature dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/BigModule.dll 2026-03-15 09:10:00.000 → 2026-03-15 09:02:00.000 ILMismatch Medium Possible Move, Possible Rename dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] src/Service.dll 2026-03-15 09:05:00.000 → 2026-03-15 09:00:00.000 ILMismatch Low BodyEdit dotnet-ildasm (version: 0.12.2) .NET 8.0
[ * ] payload.bin 2026-03-15 08:59:00.000 → 2026-03-15 08:54:00.000 SHA256Mismatch

Review Checklist

Checklist Item Notes
[ ] Confirm version.json and release notes are aligned.
[ ] Verify upgrade guide steps.
Include rollback notes if applicable.