- 24 Aug 2023
- 4 Minutes to read
Upgrading from ProGet v4
- Updated on 24 Aug 2023
- 4 Minutes to read
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 is semi-retired. This means we can only provide very limited product support, and we will not ship any maintenance releases, patches, or other changes (including for security vulnerabilities). This document is for information purposes only, and to summarize the changes throughout ProGet v4.
The following table summarizes all of the changes introduced throughout v4, and the details can be found below.
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 the upgrade
- Make sure that your Encryption Key is backed up prior to the upgrade
- Make sure that the installation's \Extensions directory is backed up prior to the upgrade
- Make sure that your Package Store are backed up prior to the 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 them, then they will be 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 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.