assembly-differ 1.1.0

dotnet tool install --global assembly-differ --version 1.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local assembly-differ --version 1.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=assembly-differ&version=1.1.0
                    
nuke :add-package assembly-differ --version 1.1.0
                    

assembly-differ

nullean

A .NET tool that diffs the public API of two versions of your assemblies, from disk, NuGet or a git commit, and suggests the version change the difference needs.

NuGet

Install

dotnet tool install --global assembly-differ

On Linux (x64, arm64), Windows (x64, arm64) and macOS (arm64) this installs a native-AOT executable from the assembly-differ.<rid> package; everywhere else it falls back to the framework-dependent assembly-differ.any. Install the assembly-differ package itself, not those.

Quick start

In a repository, build it, then run the tool without a command to compare every library project with its latest release:

dotnet build -c Release && assembly-differ

Compare the package you just packed with its last release on nuget.org, and fail on a breaking change:

assembly-differ release build/output/MyLib.1.3.0.nupkg --fail-on major

assembly-differ nuget Proc 0.13.0 0.14.0 -f xml, a diff of two versions where 0.14.0 replaced the Start* overloads, ends with:

      <Method Name="Start(StartArguments, CancellationToken)" DiffType="New" />
      <Method Name="Start(StartArguments)" DiffType="Deleted" />
...
[diff] Suggested version change: Major
Command Compares
release <path> a .nupkg, .dll or directory with the release before it on your NuGet.config feeds; a first release succeeds
files <old> <new> two local builds: .dlls, directories or .nupkgs
nuget <id> [<version>] [<new-version>] in a solution, what updating a package would change; anywhere, two published versions
projects every library project in the directory against its latest release; what runs without a command
Option What
-t, --target only compare these assemblies (repeatable); defaults to every assembly both sides have
-f, --format markdown (default), xml, asciidoc, github-comment or json
-o, --output a directory or file to write the report to, besides the console
--fail-on exit with 4 when the suggested change is at least patch, minor or major

diff with provider specs, such as "nuget|Proc|0.13.0", still works as before for the builds that call it.

Coding agents can use it instead of decompiling assemblies: in a solution, assembly-differ nuget X 2.0.0 shows what updating X would break in the code it builds. The assembly-differ.skills package carries an agent skill for it.

It also runs as a GitHub Action (uses: nullean/assembly-differ@v1), which comments on and labels pull requests, and as a container (ghcr.io/nullean/assembly-differ) that needs no .NET SDK.

Learn more

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.0 0 11/14/2026
1.0.0 9 11/14/2026
0.18.2 420 11/12/2026
0.18.1 64 11/11/2026
0.18.0 379 9/2/2026
0.17.0 7,361 11/12/2025
0.16.0 5,801 2/27/2025
0.15.0 11,454 1/5/2024
0.14.0 36,514 2/8/2022
0.13.0 66,673 11/16/2020
0.12.5 1,231 5/28/2020
0.12.4 742 5/28/2020
0.12.3 763 5/27/2020
0.12.2 767 5/27/2020
0.12.1 804 5/27/2020
0.12.0 4,156 5/20/2020
0.11.2 848 5/15/2020
0.11.1 872 5/15/2020
0.11.0 750 5/15/2020
0.10.1 740 5/14/2020
Loading failed