Skip to main content

Nexus Repository 3.39.0 Release Notes

Release May 23, 2022

Highlights in This Release

Improvements to Blob Store Reconcile Task

Database backup tasks will no longer interrupt a long-runningRepair: Reconcile component database from blob storagetask.

View Nexus, Audit, Cluster, and Task Logs in User Interface

You can now view nexus, audit, cluster, and task logs via the log viewer in the Nexus Repository user interface.

Improved Resiliency/Disaster Recovery for File Blob Stores

File blob stores shared between multiple repository instances in an active/passive resilient deployment can now make use of the Only Blobs created since X days ago option. This was previously impossible as the reconciliation log was stored locally in the active instance, but this has now been moved into the blob store to make it accessible to the passive instance after failover. This improvement decreases failover times by reducing the time it takes for the reconciliation task to complete.

Note that, on a fresh run (i.e., no existing sonatype-work directory), the reconciliation log for newly uploaded blobs is placed in a <blob store root dir>/reconciliation folder. When launched with an existing sonatype-work directory, the upgrade job migrates the reconciliation logs from ${}/log/blobstore/${blobstore}/ to <blob store root dir>/reconciliation.

To use this improvement, you must have the Repair - Reconcile component database from blobstore task configured and run the task when the passive instance starts up using the v1/tasks/{id}/run REST endpoint as part of your failover automation.

This improvement only applies to file blob stores; the reconciliation log is not implemented for S3. This also means that this improvement does not apply to our newer resiliency model that relies on S3.

Prevent Blob Store Reconcile Task Interruption

We have made changes to prevent a database backup task from interupting a long-running Repair - Reconcile component database from blobstore task . Interruptions previously caused administrators to need to run the reconcile task again. The database backup task will no longer run if a reoncile task is in progress. If needed, you can stop the reconcile task in order to run a database backup.

View Audit, Cluster, and Task Logs in User Interface

We have extended the log viewer to allow users with with the nx-all privilege to view audit, cluster, and task logs along with the nexus log through the user interface. You can access logs at AdministrationSupportLogs.

For more information, see our newly revamped logging documentation.

Bug Fixes



The POST /v1/security/content-selectors REST API now returns an appropriate error message when a user attempts to create a duplicate selector.


The Repository Import task to import npm packages from Nexus Repository 2 to Nexus Repository 3 now retains dist-tags.


Fixed a bug that was causing "All format" cleanup policies to disappear from the repository assignments list in the user interface after editing.


Group repositories no longer display in the Repository Export screen as users cannot export a group repository.


Fixed an issue with staging move operations for Maven that was impacting performance.


Added logic to Docker - Delete unused manifests and images task to prevent accidental asset deletion.


You can now delete an npm package's root metadata without error.


Fixed an issue that was causing benign and unnecessary error messages to spam the logs for Nexus Repository when using PostgreSQL.


Fixed a bug that caused tasks to fail because of a missing dataStoreName attribute in repository configuration.


Fixed a bug that was preventing some components ending in certain characters from displaying in search results and causing errors when running the Repair - Rebuild repository search task.


Fixed an issue that was preventing the Log4j Visualizer from matching request paths containing non-default webapp context or legacy Nexus Repository 2 content paths.


Default realm users that differ only by character case no longer cause errors in PostgreSQL and H2.


Fixed an issue that was causing the Repair - Reconcile component database from blob store task to fail unexpectedly.


Fix an issue with Asset IDs on the REST API when using PostgreSQL or H2.


The lastDownloaded field is no longer missing from component/asset REST APIs when running on PostgreSQL.


Fixed an issue with Docker proxy exhausting the connection pool in some cases.


Fixed issues with date handling in the Database Migrator and with return of incorrect data in the REST API.


Improved concurrency for Docker uploads.


Improved performance of maven metadata rebuilds on PostgreSQL.


Improved search API performance by excluding unused content selectors and duplicate permissions from the permission check.


The index.json files for NuGet v3 proxies now refresh periodically.


The Database Migrator now correctly migrates tags from Orient to PostgreSQL.


Search now works as expected in Conan repositories when the package name contains a hyphen.


Fixed an issue with the Docker - Delete unused manifests and images task.


Content selectors now migrate as expected from Nexus Repository 2 to Nexus Repository 3.


The Docker GC task query now works in a more efficient way to clean up orphaned Docker layers.