Skip to main content

Sonatype Nexus Repository 3.78.0 Release Notes

Released March 4, 2025

What’s New and Noteworthy in This Release?

Breaking Change for Custom Plugins: Nexus Repository Migrates to Spring Boot Architecture

This release marks a significant shift in Nexus Repository's architecture, migrating from Apache Karaf and OSGi to the Spring Framework. This transition modernizes the underlying technology stack, aligning with industry best practices and enabling future innovation.

Sonatype Nexus Repository is now packaged as a single "uber-jar," simplifying deployment and dependency management. Nexus Repository installers now include ARM-compatible JREs for Unix and macOS platforms in addition to the x86-64 versions. Windows installers will continue to be x86-64 only.

Impact to OSGi Bundle Deployment

Notably, this change also means that custom OSGi bundle deployment is no longer supported. You can learn more in our sunsetting documentation.

Nexus Repository Installer Update: Check Windows Service Configuration

Known Issue in 3.78.0

There is a known issue in 3.78.0 that is preventing users from overriding the included JVM. We will release a fix for this issue as soon as possible.

With this release, JReleaser replaces Install4J as our tool for building our macOS, Windows, and Unix installers. Initially, JReleaser focuses on bundling a JRE with the application, maintaining the existing recommendation to use the bundled JRE for all deployments. Future iterations will leverage JReleaser's capabilities to further refine the installer experience and integrate more tightly with our uber-jar packaging.

Please note that our Unix archive now comes bundled with a platform-specific JDK and can no longer be used in a Mac environment.

Important Note for Windows Users

If you configure Windows Service Manager to run Nexus Repository, please review the updated instructions in our installation help docs before upgrading for details, including the commands you will need to use for starting, stopping, and uninstalling the service.

Simplified JDK Upgrades with Nexus Repository Source Code Migration to Java

This release completes the conversion of all Groovy source code to Java within Nexus Repository, both in the core and proprietary components. This migration simplifies maintenance and removes a barrier to upgrading to newer JDK versions. Note that you can still execute Groovy scripts via Task. See our Script API help documentation for more information.

Save on Infrastructure: ARM Docker Images Now Available

This release broadens Sonatype Nexus Repository’s architecture compatibility by introducing ARM Docker images alongside the existing x86_64 versions in Docker Hub. This enhancement aligns with our commitment to providing flexible deployment options and supporting a wider range of infrastructure.

You can find ARM images for Nexus Repository version 3.78.0 and later on Docker Hub under sonatype/nexus3.

Improved npm Audit Security with Firewall Integration

This release enhances npm audit command security (for npm version 7 and later) by ensuring full integration with Sonatype Repository Firewall. For deployments using Repository Firewall, all components retrieved during an npm audit using npm version 7 or later are now subject to Firewall checks, providing an added layer of protection.

Sunsetting Log4J Visualizer and Bower Format

The Log4j Visualizer feature has been removed in this release. This early experiment in adding Software Composition Analysis (SCA) capabilities to Nexus Repository is now superseded by more comprehensive features, such as our malware warning banner.

We have also officially sunset Bower format, which was last available in our 3.70.x release line and only supported for OrientDB instances.

For full details on our feature sunsetting process, see our feature sunsetting documentation.

Nexus Repository Core Dependency Updates

This release updates core dependencies, starting with a move from SLF4J 1.7 to SLF4J 2.0 and from Logback 1.2 to Logback 1.5. This upgrade removes a key blocker, paving the way for future updates to other core technologies like Jetty and Keycloak. These upcoming upgrades will unlock new capabilities and performance improvements.

Known Issue

An automatically configured authenticated username and thread name will not be present in the request.log due to removal of a defunct logging library with no immediately available replacement.

We expect to be able to return those fields in the request.log when we migrate to Jetty 12 in a future release.

Breaking Changes with JFrog Artifactory 7.104

JFrog Artifactory 7.104 is the latest and is incompatible with the Repository Firewall plugin. JFrog Artifactory has introduced a newer version of groovy-core that is not backward compatible with the version the Repository Firewall plugin is compiled against.

We recommend not upgrading to Artifactory 7.104 as doing so causes an interruption with the Repository Firewall service and exposes you to malware entering the environment.

Bug Fixes

Note

Performance Tip - Exclude Nexus Repository Directory from Virus Scans

To optimize startup time, particularly on Windows systems, Sonatype recommends excluding the Nexus Repository directory from virus scans. Scanning every file during application startup can significantly increase the time required for the application to become operational.

Issue ID

Description

NEXUS-46087

Improved upload performance by preventing excessive asynchronous event queuing, which eliminates latency spikes and ensures background processing remains efficient.

NEXUS-46004

Improved npm audit security with Firewall integration.

NEXUS-45997

Fixed a NullPointerException that impacted some Helm proxy repositories on Nexus Repository version 3.77.0.

NEXUS-45925

The tarball download URLs in npm group repository metadata now matches those returned by npm proxy repositories as expected.

NEXUS-45855

Made changes to prevent heavy loads from causing browse node event handling to time out.

NEXUS-45773

Ensured correct migration of privileges and roles from Nexus Repository 2 to 3 by aligning privilege names and IDs.

NEXUS-45729

Maven metadata GET requests to a group repository are no longer much slower than direct requests to member repositories.

NEXUS-45673

Corrected P2 proxy repository functionality to allow proxying JAR files that do not have a MANIFEST entry as the first or second JAR entry.

NEXUS-45639

Fixed an error preventing blobstore loading during the Repair - Recalulcate blob store storage task by correcting a method name case mismatch.

NEXUS-45432

Corrected download URLs in npm package metadata for non-scoped, version-specific requests.

NEXUS-45364

Enabled configuration of the Apache Velocity parser pool size to prevent resource exhaustion during high-volume PyPi component index requests.

NEXUS-45139

Corrected repository root URL HEAD request responses to comply with HTTP/1.1 specifications, ensuring they now return the same status as GET requests.

NEXUS-44544

Improved component search results by displaying an empty field instead of the Unix epoch date when the last updated value is null.

NEXUS-44016

Corrected npm latest tag resolution to prevent canary versions from being selected when the true latest version is removed.

NEXUS-44007

Resolved Java XML bind warning messages that occurred in some instances when starting Nexus Repository with Java 17.

NEXUS-43115

Expanded documentation on installing Sonatype Nexus Repository using the OpenShift operator.

NEXUS-40991

Ensured consistent favicon display across all static and dynamic pages in Nexus Repository.

NEXUS-34688

Prevented unnecessary load on IQ Server by ensuring the IQ: Audit and Quarantine capability is only configurable for supported repository formats.

NEXUS-30693

Improved logging for the Repair - Reconcile component database from blob store task to include the settings used during execution.