<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unlisted NuGet versions still returned by ProGet V3 flatcontainer index — restore tries to download unavailable version]]></title><description><![CDATA[<p dir="auto">Hi all — looking for advice/workarounds.</p>
<p dir="auto">We’re using ProGet as our NuGet V3 feed. If we unlist a package version in ProGet UI, it disappears from Visual Studio Manage NuGet Packages browsing (expected), but restore still treats it as available.</p>
<p dir="auto">The version is still returned from:<br />
/v3/flatcontainer/&lt;package-id&gt;/index.json</p>
<p dir="auto">In our case:<br />
•	OpenTelemetry.Api 1.13.1 is unlisted/deprecated<br />
•	restore still attempts: /v3/flatcontainer/opentelemetry.api/1.13.1/opentelemetry.api.1.13.1.nupkg<br />
•	download returns HTTP 400<br />
•	restore/build fails</p>
<p dir="auto">So metadata appears inconsistent: version is advertised in flatcontainer index but package blob is not retrievable.</p>
<p dir="auto">Questions:</p>
<ol>
<li>Is this expected behavior for ProGet “unlist”, or a feed inconsistency?</li>
<li>Is there a ProGet setting to exclude unlisted versions from restore metadata?</li>
<li>Is there a recommended reindex/cleanup task to remove stale versions from flatcontainer index?</li>
</ol>
<p dir="auto">Thanks for any guidance.</p>
]]></description><link>https://forums.inedo.com/topic/5798/unlisted-nuget-versions-still-returned-by-proget-v3-flatcontainer-index-restore-tries-to-download-unavailable-version</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 22:18:05 GMT</lastBuildDate><atom:link href="https://forums.inedo.com/topic/5798.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Jul 2026 14:51:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unlisted NuGet versions still returned by ProGet V3 flatcontainer index — restore tries to download unavailable version on Mon, 20 Jul 2026 04:08:57 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/daniel.mccoy_4395" aria-label="Profile: daniel.mccoy_4395">@<bdi>daniel.mccoy_4395</bdi></a> ,</p>
<p dir="auto">Actually, developer experience is a big reason we don't recommend using Download Blocking. A <code>400</code> error  provides no real context. Developers can see something is wrong, but not how serious it is or what to do next.</p>
<p dir="auto">First and foremost, an unlisted package should not be noncompliant. An author may decide to unlist their package for any number of reasons, including simply not wanting too many versions to show up in a list.</p>
<p dir="auto">This would mean that, all of a sudden, a build deployed to production can suddenly be considered as noncompliant just because an open source author arbitrarily flipped a switch on <a href="http://NuGet.org" rel="nofollow ugc">NuGet.org</a>. That's not to say you should ignore the unlisted flag, but you should definitely not put it at the same categorization as a GPL3 license or severe vulnerability.</p>
<p dir="auto">"Compliant with Warning" could be a more appropriate status here, but keep in mind that developers swill naturally upgrade dependencies as they do platform updates, so it may not even be worth worrying about. Especially if it leads to constant warnings -- in that case, warnings become meaningless.</p>
<p dir="auto">Noncompliant packages should be rare for the same reason. If noncompliant can be determined by an OSS author's whims, then it really caries no meaning and no one (especially your developers) will understand/appreciate what it means.</p>
<p dir="auto">As for the workflow to use, we recommend running <code>pgutil builds scan</code> when that pull request is run. That will not only put the build in ProGet, but it will produce a text report with warnings or noncompliant packages. A ProGet login is not required.</p>
<p dir="auto">If there are Noncomplaint packages or warnings, the developer can then comment on the PR why it's nothing to worry about. If it's always the same package/issue ("we cannot upgrade from this 5-year old library and replacing it would be a substantial effort"), then you can formalize that as an exemption.</p>
<p dir="auto">The advantage to this workflow is that, if a deployed build later becomes noncomplaint (typically due to a vulnerability), then you can decide how and when to address it. The wrong time to address noncomplaint packages is "the next time a developer happens to open this project".</p>
<p dir="auto">Overall, what you want to avoid is having developers load a project for what should be a trivial change and then have to upgrade dependencies because it produces pointless warnings/errors. That will just create a "constant upgrade" mentality. That leads to constant regressions and constant headaches for testers or end-users, who have to deal with strange and unexpected errors from library upgrades.</p>
<p dir="auto">Hope that helps,</p>
<p dir="auto">Alana</p>
]]></description><link>https://forums.inedo.com/post/19877</link><guid isPermaLink="true">https://forums.inedo.com/post/19877</guid><dc:creator><![CDATA[atripp]]></dc:creator><pubDate>Mon, 20 Jul 2026 04:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Unlisted NuGet versions still returned by ProGet V3 flatcontainer index — restore tries to download unavailable version on Fri, 17 Jul 2026 08:31:22 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/stevedennis" aria-label="Profile: stevedennis">@<bdi>stevedennis</bdi></a> ,</p>
<p dir="auto">Thanks for the clarification.</p>
<p dir="auto">Yes, we do have download blocking configured, and we're also performing build scanning in our CI/CD pipelines.</p>
<p dir="auto">We're a little hesitant to disable download blocking because our concern is developer experience. If the first time a developer discovers they've introduced a noncompliant package is when they raise a pull request (or when the build pipeline runs), that can result in wasted effort and rework late in the development cycle.</p>
<p dir="auto">What would Inedo recommend as the preferred approach for identifying noncompliant packages earlier in the process?</p>
<p dir="auto">I had a look at pgutil builds scan, but unless I'm misunderstanding how it works, it appears to upload the SBOM to ProGet for analysis. We don't currently provision every developer with a ProGet account, so I'm struggling to see how we'd integrate that into a local developer workflow.</p>
<p dir="auto">Is there a recommended way for developers to get feedback on package compliance before committing code, without relying on download blocking in the feed?</p>
<p dir="auto">Thanks,<br />
Dan</p>
]]></description><link>https://forums.inedo.com/post/19876</link><guid isPermaLink="true">https://forums.inedo.com/post/19876</guid><dc:creator><![CDATA[daniel.mccoy_4395]]></dc:creator><pubDate>Fri, 17 Jul 2026 08:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Unlisted NuGet versions still returned by ProGet V3 flatcontainer index — restore tries to download unavailable version on Thu, 16 Jul 2026 15:11:41 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/daniel.mccoy_4395" aria-label="Profile: daniel.mccoy_4395">@<bdi>daniel.mccoy_4395</bdi></a> ,</p>
<p dir="auto">This is how unlisted packages are designed to work; it's just a flag in the metadata, and clients will treat it however they'd like. Visual Studio hides them but lets you download them, ProGet shows them with a little "unlisted" icon.</p>
<p dir="auto">As for the download error, the <code>400</code> sounds like you've configured "download blocking" perhaps? Check the feed's policy settings.</p>
<p dir="auto">We generally don't recommend configuring download blocking, but using <code>pgutil builds scan</code> instead; see <a href="https://guides.inedo.com/vulnerability-management/containment/" rel="nofollow ugc">https://guides.inedo.com/vulnerability-management/containment/</a></p>
<p dir="auto">Hope that helps,</p>
<p dir="auto">Steve</p>
]]></description><link>https://forums.inedo.com/post/19875</link><guid isPermaLink="true">https://forums.inedo.com/post/19875</guid><dc:creator><![CDATA[stevedennis]]></dc:creator><pubDate>Thu, 16 Jul 2026 15:11:41 GMT</pubDate></item></channel></rss>