{"id":22873718,"url":"https://github.com/nullean/assembly-differ","last_synced_at":"2025-04-07T07:00:23.042Z","repository":{"id":44553136,"uuid":"159230598","full_name":"nullean/assembly-differ","owner":"nullean","description":"Compare and Diff assemblies from different sources. Useful for determining what changes are introduced across versions, and if any are breaking.","archived":false,"fork":false,"pushed_at":"2025-02-27T09:22:55.000Z","size":2196,"stargazers_count":62,"open_issues_count":6,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T06:00:54.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nullean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-26T20:46:59.000Z","updated_at":"2025-02-27T15:07:56.000Z","dependencies_parsed_at":"2024-06-21T03:53:54.430Z","dependency_job_id":"b72567ac-f1b8-4969-99e7-947bc8278b81","html_url":"https://github.com/nullean/assembly-differ","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullean%2Fassembly-differ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullean%2Fassembly-differ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullean%2Fassembly-differ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullean%2Fassembly-differ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nullean","download_url":"https://codeload.github.com/nullean/assembly-differ/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608150,"owners_count":20965952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T14:29:58.401Z","updated_at":"2025-04-07T07:00:22.944Z","avatar_url":"https://github.com/nullean.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp\u003e\n\u003cimg align=\"right\" src=\"nuget-icon.png\"\u003e  \n\n# assembly-differ\n\u003c/p\u003e\n\nCompare and Diff assemblies from different sources.\nUseful for determining what changes are introduced across versions, and if any are _breaking_.\n\nOutputs differences in XML, Markdown or AsciiDoc. \n\nDiffer builds on the amazing work done by [JustAssembly, licensed under Apache 2.0](https://github.com/telerik/JustAssembly)\n\n## Installation\n\n\nDistributed as a .NET tool so install using the following\n\n```\ndotnet tool install assembly-differ\n```\n\n## Run \n\n```bat\ndotnet assembly-differ\n```\n\nYou can omit `dotnet` if you install this as a global tool\n\n\nto see the supported Assembly Providers and outputs:\n\n```bat\nassembly-differ \u003cOld Assembly Provider\u003e \u003cNew Assembly Provider\u003e [Options]\n\nSupported Assembly Providers:\n\n  assembly|\u003cassembly path\u003e\n  directory|\u003cdirectory path\u003e\n  nuget|\u003cpackage id\u003e|\u003cversion\u003e|[framework version]\n  previous-nuget|\u003cpackage id\u003e|\u003cversion\u003e|[framework version]\n  github|\u003cowner\u003e/\u003crepo\u003e|\u003ccommit\u003e|\u003cbuild command\u003e|\u003crelative output path\u003e\n\nOptions:\n  -t, --target=VALUE         the assembly targets. Defaults to *all* assemblies\n                               located by the provider\n  -f, --format=VALUE         the format of the diff output. Supported formats\n                               are xml, markdown, asciidoc. Defaults to xml\n  -o, --output=VALUE         the output directory. Defaults to current directory\n  -h, -?, --help             show this message and exit\n```\n\n#### Examples:\n\nDiff between two local assemblies:\n\n```bat\ndotnet assembly-differ \"assembly|C:\\6.1.0\\Nest.dll\" \"assembly|C:\\6.2.0\\Nest.dll\"\n```\n\nDiff between all assemblies in directories, matched by name:\n\n```bat\ndotnet assembly-differ \"directory|C:\\6.1.0\" \"directory|C:\\6.2.0\"\n```\n\nDiff NuGet packages:\n\n```bat\ndotnet assembly-differ \"nuget|NEST|6.1.0|net46\" \"nuget|NEST|6.2.0|net46\"\n```\n\nDiff Previous NuGet packages:\n\nImagine you want to release `6.2.0` and want to diff with whatever is the latest nuget package before `6.2.0`\n`previous-nuget` will do the heavy lifting of finding that previous release\n\n```bat\ndotnet assembly-differ \"previous-nuget|NEST|6.2.0|net46\" \"directory|C:\\6.2.0\" \n```\n\nDiff GitHub commits:\n\n```bat\ndotnet assembly-differ \"github|elastic/elasticsearch-net|6.1.0|cmd /C call build.bat skiptests skipdocs|build\\output\\Nest\\net46\" \"github|elastic/elasticsearch-net|6.2.0|cmd /C call build.bat skiptests skipdocs|build\\output\\Nest\\net46\"\n```\n\nAny of the above can be mixed. For example, to compare GitHub HEAD against last NuGet package, and output in Markdown\n\n```bat\ndotnet assembly-differ --format markdown \"nuget|NEST|6.2.0|net46\" \"github|elastic/elasticsearch-net|HEAD|cmd /C call build.bat skiptests skipdocs|build\\output\\Nest\\net46\"\n```\n\n## Development\n\nYou can run the tool locally against itself using the following during development\n\n```bat\ndotnet build -c Release\ndotnet run --framework netcoreapp3.1 -- \"previous-nuget|assembly-differ|0.9.1|netcoreapp3.1\" \"directory|bin/Release/netcoreapp3.1\" --target=assembly-differ\n```\n\n# FUTURE PLANS\n\n* Instruct the tool to emit errors if breaking changes exists\n* Pass the tool with the version you intend to release and have the tool report the version it thinks it should be based on the differences between the assemblies\n* Wrap all of this in Github Actions\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullean%2Fassembly-differ","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnullean%2Fassembly-differ","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullean%2Fassembly-differ/lists"}