Upgrade Notes for ProGet v4
Upgrading from a v2 or v3? This document is for informational purposes only, and you should upgrade directly to v5; please see Upgrading from ProGet v2 and v3 first.
Upgrading from a 4.x? You should upgrade to the latest v5.
This article is a rollup of all upgrade notes from ProGet 4.0 through 4.8, and discusses the changes which may impact your installation, configuration, and customizations of ProGet.
ProGet v4 was a major release and introduced several new features through nine different minor releases. However, upgrading represents little risk for most users.
The following table summarizes all of the changes introduced throughout v4, and the details can be found below.
Please upgrade directly to v5. This document is for informational purposes only.
At this point, you really shouldn’t be upgrading to ProGet v4. However, if you absolutely must (preserving old environment, perpetual license without support, etc), you should upgrade to the latest ProGet 4.8 version. You can do this by simply downloading and running the latest ProGet 4.8 installer.
Although the risks vary depending on which version you’ll be upgrading from, you should take the following precautions to prevent downtime:
- Make sure that your ProGet database is backed up prior to upgrade
- Make sure that your Encryption Key is backed up prior to upgrade
- Make sure that the installation’s \Extensions directory is backed up prior to upgrade
- Make sure that your Package Store are backed up prior to upgrade
Because there are database changes, a rollback will require uninstalling ProGet, and then restoring your ProGet instance.
.NET 4.5 Required
ProGet 4.0 introduced a requirement 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.
Web Interface Overhaul
ProGet 4.0 introduced a Web Interface Overhaul. 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
Built-in Task/Role Rests
ProGet 4.0. 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)
View & Download Packages
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.
ProGet 4.0 introduced 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.
Legacy NuGet Feeds Removed
ProGet 4.0 removed “Legacy NuGet Feeds” that were deprecated in ProGet 3.3. If you have such a feed, 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.
ProGet 4.6 introduced two installer changes:
- The ProGet installer now installs two separate services; one is the traditional ProGet service (INEDOPROGETSVC), and the new one (INEDOPROGETWEBSVC) will host the Integrated Web Server if enabled and IIS is not used
- The ProGet installer automatically installs the Amazon, Azure, and VorSecurity extensions. Visit the Extensions page within ProGet or the Inedo Den to download other extensions.
ProGet SDK Changes
ProGet 4.0 shipped a new SDK with breaking changes. Most notable is that 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.
ProGet 4.3, ProGet 4.6, ProGet 4.7, and ProGet 4.8 shipped with a new SDK, but with additive changes to support the new features introduced.