{"id":28612793,"url":"https://github.com/unoplatform/uno.packagediff","last_synced_at":"2026-03-17T05:57:15.866Z","repository":{"id":42124220,"uuid":"172434442","full_name":"unoplatform/Uno.PackageDiff","owner":"unoplatform","description":"A command line tool that compares two versions of a NuGet package and provides public API differences","archived":false,"fork":false,"pushed_at":"2025-02-24T15:09:51.000Z","size":79,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-06-05T22:10:03.188Z","etag":null,"topics":["cecil","compare","csharp","dotnet","nuget","roslyn"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unoplatform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-02-25T04:31:12.000Z","updated_at":"2025-02-24T15:09:56.000Z","dependencies_parsed_at":"2024-02-27T03:20:23.630Z","dependency_job_id":"26ae800f-2ba0-429d-a0fe-f24183ac1ec3","html_url":"https://github.com/unoplatform/Uno.PackageDiff","commit_stats":null,"previous_names":["nventive/uno.packagediff"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/unoplatform/Uno.PackageDiff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.PackageDiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.PackageDiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.PackageDiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.PackageDiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unoplatform","download_url":"https://codeload.github.com/unoplatform/Uno.PackageDiff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.PackageDiff/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259372669,"owners_count":22847792,"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":["cecil","compare","csharp","dotnet","nuget","roslyn"],"created_at":"2025-06-12T00:39:48.694Z","updated_at":"2025-10-10T18:07:16.763Z","avatar_url":"https://github.com/unoplatform.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NuGet Package Diffing Tool\n\nA command line tool that compares two versions of a NuGet package and provides public API differences.\n\nThis tool has originally been built to fail a build when a breaking change is detected, using a\npublished nuget package (in nuget.org) and a local NuGet package.\n\n## Installing\n\nRun the following command from command line (requires .NET Core 2.1 installed):\n\n```\ndotnet tool install --global Uno.PackageDiff\n```\n\n## Diffing packages\n\n```\ngeneratepkgdiff --base=Uno.UI --other=C:\\temp\\Uno.UI.1.43.0-PullRequest0621.917.nupkg --outfile=diff.md\n```\n\nThe tool returns a non-zero value when differences are found, otherwise zero.\n\n## How to provide an ignore set\n\nThe diff tool accepts a \"ignore set\" file which gives the ability to ignore specific differences. Those differences appear strike-out in the resulting markdown file.\n\nHere's the format:\n\n```xml\n\u003cDiffIgnore\u003e\n  \u003cIgnoreSets\u003e\n    \u003cIgnoreSet baseVersion=\"1.0.0\"\u003e\n      \u003cTypes\u003e\n        \u003cMember fullName=\"MyNamespace.MyMissingClass\" /\u003e\n      \u003c/Types\u003e\n      \u003cProperties\u003e\n        \u003cMember fullName=\"MyNamespace.MyClass.MyProperty\" /\u003e\n      \u003c/Properties\u003e\n      \u003cFields\u003e\n        \u003cMember fullName=\"MyNamespace.MyClass.myField\" /\u003e\n      \u003c/Fields\u003e\n      \u003cEvents\u003e\n        \u003cMember fullName=\"MyNamespace.MyClass.MyEvent\" /\u003e\n      \u003c/Events\u003e\n      \u003cMethods\u003e\n        \u003cMember fullName=\"MyNamespace.MyClass.MyMethod\" /\u003e\n      \u003c/Methods\u003e\n      \u003cMethods\u003e\n        \u003cMember fullName=\"MyNamespace.MyClass.MyMethod\" /\u003e\n      \u003c/Methods\u003e\n      \u003cAssemblies\u003e\n        \u003cMember fullName=\"MyMissingAssemblyName\" /\u003e\n      \u003c/Assemblies\u003e\n    \u003c/IgnoreSet\u003e\n  \u003c/IgnoreSets\u003e\n\u003c/DiffIgnore\u003e\n```\n\nThe `baseVersion` attribute denotes the version for which the Ignore Set has been authored. This enables for the automatic discarding of existing sets when a new package version is published in nuget.org.\n\nThe `fullname` of members should be the exact string provided in the markdown file when a difference is identified.\n\nYou can also specifiy `isRegex=\"true\"` to a `Member`, and the `fullName` will be treated as a Regex pattern to match against.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funoplatform%2Funo.packagediff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funoplatform%2Funo.packagediff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funoplatform%2Funo.packagediff/lists"}