Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Upgrading from ProGet v4

view on GitHub
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 ProGet v5.2.

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.

Change Summary

The following table summarizes all of the changes introduced throughout v4, and the details can be found below.

ProGet 4.0
  • .NET 4.5 is Required
  • Web Interface Overhaul
  • Built-in Task/Role Resets
  • Connector Consolidation
  • Legacy NuGet Feeds Removed
  • Breaking SDK Changes Introduced
ProGet 4.1
  • New Feature: Feed Replication
  • New Feature: PowerShell Feed Type
ProGet 4.2
  • New Feature: Cloud Storage (Amazon S3 & Azure Blob)
ProGet 4.3
  • New Feature: Docker Feed Type
  • New Feature: Package Filters
ProGet 4.4
  • New Feature: Package Promotion & Deployment
ProGet 4.5
  • New Feature: Ruby Gems Feed Type
ProGet 4.6
  • New Feature: Vulnerability Scanning & Blocking
  • Installer Changes
ProGet 4.7
  • New Feature: License Scanning and Blocking
  • New Feature: Visual Studio Extension (VSIX) Feed Type
  • Removed URL-based license filtering on NuGet feeds
ProGet 4.8
  • New Feature: Asset Directory
  • New Feature: Enhanced LDAP Support
  • Feed cleanup task will no longer attempt to reindex packages
    if they have been deleted/edited outside of ProGet

Upgrade Process

Please upgrade directly to v5.2.

 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.

Risk Mitigation

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

Rollback

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)

Administrator

Administer

Developer

Publish Packages

View Only

View & Download Packages

-

Manage Feed

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.

Connector Consolidation

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.

Installer Changes

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.