gitextensions / gitextensions.pluginmanager

Package manager for downloading and installing Git Extensions plugins.
MIT License
13 stars 10 forks source link

Show package release notes #11

Open maraf opened 5 years ago

maraf commented 5 years ago

Most important is it on the updates tab.

mast-eu commented 5 years ago

Good idea. Not strictly needed for getting a minimum viable product published, but should be kept in mind for one of the first (the first?) feature release.

ghost commented 4 years ago

Where could I get the release notes?

maraf commented 4 years ago

Where could I get the release notes?

Release notes are part of nuget package metadata.

maraf commented 4 years ago

Unfortunatelly it is not part of the search results IPackageSearchMetadata. So we whould need to execute a separate query for getting release notes for every single package.

ghost commented 4 years ago

Thx. Do you have a rough layout for the interface?

maraf commented 4 years ago

I think we can extend the IPackage.cs with a method Task<string> GetReleaseNotesAsync(CancelationToken cancelationToken).

In search UI, we can move package details into a tab and place release notes on a second tab. But I have no idea where place it on Updates tab.

ghost commented 4 years ago

Seems to have to download a package for this. https://docs.microsoft.com/en-us/nuget/reference/nuget-client-sdk#download-a-package https://github.com/NuGet/NuGet.Client/blob/fa9fbcb87b8ce717d7f78d494cd16cf174be48e9/src/NuGet.Core/NuGet.Packaging/NuspecReader.cs#L370

From .nuspec file.

maraf commented 4 years ago

I can confirm that, unfortunatelly. The implementation is exactly what NuGetPackage.GetContentAsync does, but I would still like to have these separated on interface level (as IPackage should be an abstraction of package for PM).

mast-eu commented 4 years ago

Please help me to understand: Where exactly are the "release notes" of a NuGet package? The package metadata contains a description, but I fail to see releaseNotes or anything similar.

Could you provide an example? E.g. for https://www.nuget.org/packages/newtonsoft.json/ the description is "Json.NET is a popular high-performance JSON framework for .NET", but where are it's release notes? What would the PM show if newtonsoft.json were a plugin for Git Extensions?

ghost commented 4 years ago

https://docs.microsoft.com/en-us/nuget/reference/nuspec#releasenotes The client API does not provide this field as part of metadate.

ghost commented 4 years ago

image image

Try to change version there.

mast-eu commented 4 years ago

Got it, thank you. You want to get release notes (if available) from the .nuspec.

Seems to have to download a package for this.

Maybe that's not necessary. Seems like you can request only the manifest file. E.g. GET https://api.nuget.org/v3-flatcontainer/AdysTech.CredentialManager/1.7.0/AdysTech.CredentialManager.nuspec should return you this.

maraf commented 3 years ago

@RussKie @mast-eu I'm moving this to the release so we can publish v1.2.