Skip to main content

Sonatype Nexus Repository 3.65.0 Release Notes

Released February 6, 2024

Highlights in This Release

Cleanup Policy Enhancements: Retain Latest Versions & Improved Performance

Sonatype Nexus Repository Pro deployments using a PostgreSQL database now have the option to configure cleanup policies to retain a given number of recent versions for Maven and Docker cleanup. They also benefit from greatly improved cleanup performance. Read more below

Change Repository Blob Store Task Supports Group Repositories

Sonatype Nexus Repository Pro deployments using a PostgreSQL database can now use the Admin - Change repository blob store task to move metadata assets directly related to a group repository content id. Read more below

Note

Note that we made many improvements to component search in high availability (HA) environments in this release to make searching and tagging more precise. Due to these changes, the same search query should now return fewer but more precise results.

For example, a keyword search for "nexus-core" in a database comprising "nexus-core, nexus-main-core, nexus-snapshot" would now only return the first two items whereas, previously, it would return all three.

Please keep this behavior change in mind when looking at your previously configured search and tagging queries. The bug fixes listed below further explain some changes that we've made. Please also see the HA search differences documentation for full details about how HA search differs from non-HA search.

What’s New and Noteworthy in This Release?

Cleanup Policies for Maven and Docker Include Option to Retain Recent Versions

Note

Only available in Sonatype Nexus Repository Pro. Interested in a free trial? Start here.

Note

This feature is only available for deployments using a PostgreSQL database.

In this release, we introduce more powerful and flexible cleanup policies for Maven and Docker formats by allowing you to retain a certain number of most recent artifact versions regardless of if they meet other cleanup criteria.

327024651.png

When you configure this option as part of a cleanup policy, Sonatype Nexus Repository will use the version number (for Maven) or component age (for Docker) to determine what to keep.

For Maven, this feature is only available for released versions (i.e., you must select Releases as the Release Type).

Learn more about how to use this feature in the cleanup policies help documentation.

This feature was made possible because of your feedback in the Ideas Portal.

Significant Cleanup Performance Improvements for Pro Deployments Using a PostgreSQL Database

Note

Only available in Sonatype Nexus Repository Pro. Interested in a free trial? Start here.

Note

This feature is only available for deployments using a PostgreSQL database.

Running our original cleanup feature often takes significant time, so we have investigated other implementations that could reduce the time it takes to complete cleanup. In this release, we have made fundamental changes to significantly improve cleanup performance for those using a PostgreSQL database. The new cleanup feature takes an average time per component of 10.6 ms versus 17.2 ms for our original cleanup feature.

uuid-c6e36c51-9a51-ca1c-3e9a-f0892cc085e1.png

With this release, all Sonatype Nexus Repository Pro deployments using a PostgreSQL database will use the new cleanup implementation.

Curious about what kind of performance you can expect? Check out the detailed Cleanup Performance Data now available in our help documentation.

Change Repository Blob Store Task Supports Group Repositories

Note

Only available in Sonatype Nexus Repository Pro. Interested in a free trial? Start here.

Note

This feature is only available for deployments using a PostgreSQL database.

We continue to strengthen the Admin - Change repository blob store task, which allows you to change the blob store source of a selected repository. Many customers have asked to use this task to help move content from file-backed blob stores to S3 blob store before implementing one of our high-availability deployment options.

While the Admin - Change repository blob store task originally supported hosted repositories only, we added support for using this task on proxy repositories last year. Now, Sonatype Nexus Repository Pro deployments on PostgreSQL databases can use this task on group repositories as well.

Note that when you use this task on a group repository, it will only move metadata assets directly related to the group repository content id; it does not move or affect data in the repositories that are group members. Using this task on group repositories also requires a PostgreSQL database.

Full details are available in the change repository blob store help documentation.

Bug Fixes

Note

Note that we made many improvements to component search in high availability (HA) environments in this release to make searching and tagging more precise. Due to these changes, the same search query should now return fewer but more precise results.

For example, a keyword search for "nexus-core" in a database comprising "nexus-core, nexus-main-core, nexus-snapshot" would now only return the first two items whereas, previously, it would return all three.

Please keep this behavior change in mind when looking at your previously configured search and tagging queries. The bug fixes listed below further explain some changes that we've made. Please also see the HA search differences documentation for full details about how HA search differs from non-HA search.

Issue ID

Description

NEXUS-34334

If the rebuild index task triggers an ElasticSearchException, one repository failing will no longer prevent task completion or affect the other repositories. Added an error message to alert the user if a repository does fail.

NEXUS-34968

Attempting to download an asset with a missing blob from a proxy repository in a PostgreSQL or H2 deployment no longer results in an immediate 500 error. Sonatype Nexus Repository automatically attempts to re-fetch the asset from remote as expected.

NEXUS-36807

Made changes to improve cleanup policy preview performance.

NEXUS-39665

Resolved an issue that was preventing some installations of a package from a group repository with a certain private proxy repository member.

NEXUS-39881

The package-specific index page for a Python package requested from a proxy repository now displays the non-truncated package name as expected.

NEXUS-40111

Resolved an issue that was causing some Yum assets to be shown as "components" in the Sonatype Nexus Repository UI.

NEXUS-40213

Addressed an issue impacting HA deployments where tokens after a wildcards in component searches were being dropped (e.g. for searches like “nexus*core”).

NEXUS-40378

Searching components by exact tag in an HA environment now returns an exact match as expected.

NEXUS-40680

Associating a tag with a component used to operate on a loose match; it now uses an exact match as expected. For example, associating a tag with a .jar with the version “1.0.0” used to associate that tag with all components that had “1.0.0” in the version number. Now, it will associate with the exact version match only unless you use a wildcard.

NEXUS-40987

Resolved an issue that was causing some PostgreSQL HA deployments to have excessive errors written to logs despite requests working as expected.

NEXUS-40994

In HA environments, performing an exact-match search for components where the group ID or artifact ID contain an underscore now returns exact-match results as expected.

NEXUS-41211

Added clarifying documentation regarding changes in NuGet client compatibility with Sonatype Nexus Repository:

In Sonatype Nexus Repository release 3.43.0, we added compatibility with official NuGet v2 clients. The supported subset of the legacy NuGet v2 protocol is the same as that supported by Microsoft's NuGet Gallery, http://nuget.org . Use cases that rely on the deprecated parts of the v2 API are not supported, including many common Chocolatey use cases and some custom OData queries.