Skip to main content

Nexus Repository Upgrade Paths

Find the version threshold your upgrade crosses in the left column. If you are upgrading from a version below the listed version to a version at or above it, follow the procedure in the right column.

Nexus Repository

Required Upgrade Procedure

Upgrading to 3.87.0 or later

Nexus Repository 3.87.x and later use a bundled Java 21 runtime. The default Java truststore from previous installations is not reused. If you rely on certificates added to the previous Java truststore (for example, for proxy repositories, LDAP, or SAML), those certificates must be reconfigured or made available to the new runtime.

Upgrading to 3.85.0 or later

After upgrading to a later version, you must manually run the “Repair – Rebuild repository search” task. Due to changes implemented in the product, repository search results may be incomplete or incorrect until this task has completed.

Upgrading to 3.83.0 or later

Support for Firewall for Docker was added in this release. When Repository Firewall is enabled on existing Docker repositories prior to the upgrade there is a performance impact when pulling docker images after the upgrade. We recommend temporarily removing the "Audit and Quarantine" capabilities for Docker repositories prior to the upgrade, as they did not analysis docker repositories in those earlier versions. Once the upgrade is complete socialize the expectations for your development teams before enabling the configuration.

Upgrading to 3.81.0 or later

In Sonatype Nexus Repository version 3.81.0, we upgraded from Jetty 9 to Jetty 12. If your Sonatype Nexus Repository instance uses a customized Jetty configuration, serves HTTPS directly through Sonatype Nexus Repository, or has a customized request log, plan to update your configurations accordingly.

Note that Dropwizard metrics are impacted by this upgrade. Specifically, there is no org_eclipse_jetty_webapp_WebAppContext_2xx_responses_total in the newer version. The replacement for these metric keys is as follows:

org_eclipse_jetty_ee8_nested_ContextHandler_CoreContextHandler_2xx_responses_total
org_eclipse_jetty_ee8_nested_ContextHandler_CoreContextHandler_requests_count

Upgrading to 3.78.0 or later

The jetty-rewrite module has been removed from 3.78.0 during the upgrade to Jetty 12. As this functionality was not officially supported by Nexus Repository, customers should verify any customizations in their jetty config files before upgrading.

Upgrading to 3.70.0 or later (H2 or PostgreSQL)

Please see Upgrading to Nexus Repository 3.71.0 and Beyond

Release 3.71.0 includes multiple breaking changes, including dropping support for OrientDB, Java 8, and Java 11.

Upgrading from 3.70.x or earlier (OrientDB only)

Upgrade the source instance to 3.70.5. You must change your database as 3.70.x is the last supported version for OrientDB. Refer to What to Choose - Instance Migrator or Database Migrator page. Keep the source on Java 8 or 11 until the migration is complete. After migration, upgrade the Java version if necessary. Check Upgrade Java Version

Upgrading from earlier than 3.69 (embedded H2 only)

If your instance uses embedded H2 database, first upgrade to 3.69 and export the database using the Export SQL database to script task. Then upgrade to versions 3.70.0–3.87.1 and import the database.Upgrade the Java version. See Upgrade Java Version

Note

Import of the upgraded H2 database is supported only on versions 3.70.0–3.87.1, and this import must be completed before upgrading beyond that range.

Upgrading to 3.48.0 or later (H2 or PostgreSQL)

When using an H2 or PostgreSQL database, after upgrading to version 3.48.0+

Run a task for each APT, Helm, and Yum repository to rebuild their metadata:

Apt - Rebuild Apt metadata for each Apt repository
Helm - Rebuild Helm metadata for each Helm repository
Repair - Rebuild Yum rebuild metadata (repodata) for each Yum repository

Upgrading to 3.41.0 or later

You will need to run a task to rebuild metadata for existing Pypi repositories after upgrading:

PyPI Delete Index Asset Task

Upgrading to 3.26.0 or later

Is your jetty-https.xml file outside of the install directory? If so, you will need to make some changes to it as we updated the Jetty version in 3.26.0 and older jetty-https.xml files will not work.

Find the line below in your jetty-https.xml file:

<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">

Add "$Server" so that it looks like the following:

<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory$Server">

Upgrading from 3.1.0 or later

1. Upgrade to the latest available 3.x version

Upgrading from 3.0.0–3.0.2

3 milestone 7

3 milestone 1 to milestone 6

Upgrading these versions is not supported.

Latest 2.x version

Upgrade to the latest available 3.x version

2.0 or any later 2.x version

Upgrade to the latest available 3.x version

1.x

  1. Upgrade to any 2.x version up to 2.7.2

    Versions after 2.7.2 do not include support for upgrading 1.x versions

  2. Upgrade to the latest available 2.x version

  3. Upgrade to the latest available 3.x version