Upgrade Notes for ProGet 4.0

KB#1111: Last Updated Jan 12, 2018

TLDR; ProGet 4.0 is major release. Please read these notes to see how this will impact you and what you can do to mitigate risks. It is strongly recommended that you first review Upgrading from ProGet v2 and v3 before proceeding.

Feature Change Listing

  • Universal Feed Type
  • Major SDK Improvements
  • Web Interface Overhaul, including:
    • Connector Health Icon and Package Count in UI
    • Improved User/Group Management UI

Upgrade Impact

Although this is a major release, the upgrade represents little risk for most users. Please see the ProGet 3.8 Upgrade Notes if you are upgrading from a version lower than 3.8.

Built-in Task/Role Rests (Minor)

As part of the UX overhaul, "Roles" have been renamed to "Tasks", and the names of the roles have been updated to sound more task-like.

Default Roles (Old) Default Tasks (4.0)
AdministratorAdminister
DeveloperPublish Packages
View OnlyView & Download Packages
-Manage Feed

If you modified any of the default roles but did not rename then, then they will renamed to the new task names. In addition, the role's individually-securable actions (formerly, "tasks") will be reset to the new, default definitions.

If you don't want this to happen upon upgrade, then just rename your role to anything other than the default role or task name.

Connector Consolidation (Minor)

Non-functional changes were made to the connector subsystem to reduce duplicate code and offer a more consistent future user experience across all feed types. This will only impact users who have done custom reports against the connector tables.

.NET 4.5 Required (Minor)

ProGet 4.0 requires that .NET Framework 4.5 or later is installed. This is a highly compatible, in-place update to .NET Framework 4, and is already included with Windows 8 and Windows Server 2012. For older machines, simply download .NET 4.5 from Microsoft and install the update.

Legacy NuGet Feeds Removed (Minor)

ProGet 3.3 introduced a new and much more efficient package storage, but it required migrating old ("legacy") feeds to the new store. If you ignored all the warnings about "legacy feeds will be removed in 4.0", then you will simply get an error when you try to access the feed. Fortunately, it's just as easy migrate your feed; see KB#1092: Migrating Legacy ProGet Feeds.

Web Interface Overhaul (Minor)

In addition to the color, font, and basic layout updates:

  • Privileges have been simplified (there are "Tasks" instead of "Roles"), but they are the exact same model
  • Feeds are now maintained on the "Feeds" page, instead of on the Admin page
  • Connectors and Packages may now be browsed from the main navigation

New SDK (Minor)

The package store bases have changed to support more than just NuGet feeds; the changes to your custom extensions will be very minor. Simply inherit from PackageStore instead, and use the equivalent async methods. See the ProGet SDK Reference for full details.

Even if you don't have a custom package store, you will need to compile your custom extension against the new SDK.

Upgrade Process

ProGet may be upgraded by running the latest installer; make sure the database gets backed up (the installer will prompt for this as well). Note that during upgrade, several schema changes will be applied.

Rollback

Because there may be minor database changes depending on which version you've upgraded from, a rollback will require uninstalling ProGet, and then restoring a backup of your ProGet database.