Skip to main content

Sonatype Nexus Repository 3.88.0 Release Notes

The Sonatype Nexus Repository 3.88.x release line includes exciting new features, enhancements, and bug fixes. Learn more in the sections below!

Released January 13, 2026

Ready to Upgrade?

Before upgrading, see the Known Issues & Upgrade Guidance section at the end of these release notes to determine whether any known issues or upgrade recommendations apply to your environment.

What’s New and Noteworthy in This Release?

Support for Proxy Terraform Repositories

Sonatype Nexus Repository now supports proxy repositories for Terraform, enabling users to cache Terraform providers and modules from registry.terraform.io for improved performance, reliability, and governance.

This allows organizations to streamline infrastructure-as-code workflows by hosting provider binaries, checksums, signatures, and module archives directly within Nexus Repository. By rewriting upstream metadata, all download URLs point to your Nexus Repository instance, ensuring consistent access and control over Terraform content across all environments.

Terraform currently requires user token-based authentication, which requires a paid Nexus Repository Pro or Nexus Repository Cloud license. This means that, at the moment, Community Edition users are unable to authenticate for Terraform repositories. Anonymous access is not currently available for Terraform proxy repositories, though that will be enabled shortly.

Nexus Repository is compatible with the Terraform CLI version 0.13 and later, including all 1.x releases. To get started, see our Terraform repository help documentation.

Search Now Powered by SQL Instead of Elasticsearch

Starting in Nexus Repository 3.88.0, all search operations are now executed directly against the underlying SQL database, replacing Elasticsearch across all repository formats and editions.

This change improves consistency and simplifies deployment by using your configured database (i.e., PostgreSQL or H2) for search indexing and queries. While search functionality, API endpoints, and query syntax remain unchanged, some behavior may differ slightly, particularly around wildcard support, fuzzy matching, and relevance ranking.

PostgreSQL is recommended for production environments and supports relevance-based search; H2 is intended for development and may yield reduced performance on large datasets.

For full details, see our SQL Search help documentation.

Trigram Module Required for PostgreSQL

Reminder that it is required to have the pg_trgm (trigram) module installed when using a PostgreSQL database. This module may not be installed with PostgreSQL by default on all Linux distributions, which will result in an exception when attempting to upgrade.

See our installing the trigram module documentation.

New API to Retrieve Capability Types and Metadata

This releaseadds a new GET /v1/capabilities/types API endpoint that allows you to programmatically retrieve all available capability types along with their metadata, such as form fields, descriptions, and configuration requirements. This is useful for automating or dynamically generating capability-related configurations in external tools or custom UIs.

For full details, see the Capabilities API help documentation.

New Capability and Task for Managing Browse Tree Cleanup

Sonatype Nexus Repository 3.88.0 introduces a new Repository: Browse Trim capability and a Repair - Repository trim browse tree task to give administrators more control over cleaning up empty browse nodes (folders) after component deletion.

Automatic trimming is always enabled for H2 databases but disabled by default for PostgreSQL. For PostgreSQL users who prefer to keep automatic trimming disabled, the new repair task offers a manual alternative to clean up empty nodes on demand.

Learn more in the capability and task documentation.

Configurable Interation Settings for Password and Secret Encryption

Sonatype Nexus Repository 3.88.0 adds support for two new properties (nexus.security.password.iterations and nexus.security.secrets.iterations) that allow administrators to configure the number of PBKDF2 iterations used when encrypting user passwords and sensitive secrets like API keys and tokens.

These properties, set in the nexus.properties file, provide greater control over encryption strength and support seamless migration to updated security configurations.

See our Re-encryption in Nexus Repository help documentation for full details.

New URL Validation to Protect Against Private Network Access

Sonatype Nexus Repository 3.88.0 introduces optional URL validation to help protect against Server-Side Request Forgery (SSRF) by blocking outbound connections to private network addresses, localhost, or cloud metadata endpoints.

This validation applies to Remote Storage URLs for proxy repositories and Endpoint URLs for Amazon S3 blob stores. By default, private network access remains allowed, but administrators can restrict it by setting nexus.proxy.allowPrivateNetworks=false in the nexus.properties file or using environment variables.

For full details, see Securing Nexus Repository.

Important Change Coming in 3.90.0

Starting in version 3.90.0, private network access will be blocked by default.

Updated SAML Library for Improved Security and Compatibility

Sonatype Nexus Repository now uses a new library for handling SAML authentication. This update aligns with our ongoing efforts to improve security and maintain compatibility with modern identity providers (IdPs). We have tested this change internally with a range of IdPs, but we recommend validating your SAML configuration in a test environment before deploying to production.

Note

If your IdP includes an entityId in its SAML response, it must match the entityId configured in Nexus Repository for authentication to succeed. This behavior may differ from previous versions.

Repair - Execute Data Repair Plan Task Disabled by Default

To prevent potential data loss caused by a known issue impacting Sonatype Nexus Repository 3.83.0 and later, the Repair - Execute Data Repair Plan task is now disabled by default starting in version 3.88.0.

Attempting to run this task in 3.88.0 will result in a failure and an error in the logs. The task remains visible in the UI, and any existing instances of this task will not be removed. However, execution is blocked by default.

While it is possible to manually re-enable this task by setting the nexus.reconcile.task.enabled property to true, it is important that you not do so until you are using a release that restores support.

Bug Fixes

This release delivers a wide range of fixes and improvements focused on stability, accuracy, and operational reliability. For better readability, we’ve organized these improvements into logical sections below.

Note

Common Vulnerabilities and Exposures Fix

Sonatype Nexus Repository 3.88.0 fixes a reflected cross-site scripting (XSS) vulnerability (CVE-2026-0601) that impacts Sonatype Nexus Repository versions 3.82.0 through 3.87.1.

The vulnerability allows unauthenticated attackers to execute arbitrary JavaScript in a victim’s browser, which could lead to privilege escalation or unauthorized configuration changes.

See our CVE-2026-0601 Knowledge Base article for details.

Repository Formats and Package Management

This release includes a broad set of improvements across supported repository formats. Updates improve how package metadata is generated, cached, rebuilt, and displayed. These changes help ensure packages are indexed accurately, metadata stays up to date, and clients interact reliably with repositories even in edge cases involving redeployments, caching behavior, or format-specific nuances.

Issue ID

Description

NEXUS-49893

Cargo group repositories now correctly generate and serve package metadata, allowing cargo build commands to succeed when resolving dependencies through a group instead of requiring direct access to individual proxy repositories.

NEXUS-49789

Importing a previously exported Raw hosted repository on Windows now correctly preserves the original directory structure instead of merging it into the asset name.

NEXUS-49331

Export assets tasks now correctly export npm packages from hosted and proxy repositories by properly registering the required filter component, ensuring assets are written without directory structure errors.

NEXUS-49225

Helm chart uploads now correctly extract the chart name and version from the Chart.yaml file inside the .tgz package, ensuring charts are indexed and retrievable even when the uploaded filename does not match the metadata.

NEXUS-49134

License information is now correctly extracted from the License-Expression field in PyPI packages using Metadata-Version 2.4, ensuring accurate license display for Python components retrieved through proxy repositories.

NEXUS-49114

R proxy repositories now correctly respect the metadataMaxAge setting by using the appropriate cache controller for metadata assets, ensuring timely refresh of files like PACKAGES without requiring manual cache invalidation.

NEXUS-48893 & NEXUS-49913

Yum repositories with a deploy-once policy now correctly treat RPMs with the same name and version but different architectures as separate components, allowing uploads of multiple architecture variants without conflict.

NEXUS-48245

YUM group repositories now support .zst-compressed metadata files.

NEXUS-48163

The index.yaml file in hosted Helm repositories now consistently appears as a file instead of a folder in the UI.

NEXUS-48088

Cargo proxy repositories now correctly honor all specified settings when created via API.

NEXUS-47508

Conan package versions that include pre-release tags now display correctly in the browse tree.

NEXUS-44812

Hosted R repositories now correctly generate the required PACKAGES index file, ensuring full compatibility with tools like Azur.

NEXUS-46876

Group npm repositories now support a configurable TTL for metadata caching, ensuring package metadata stays up to date and preventing stale data from blocking access to valid package versions.

NEXUS-48739

npm proxy repositories now correctly update package metadata when a cached package is deleted locally.

NEXUS-49127

The Repair - Rebuild npm metadata task now fully regenerates metadata from existing package versions, removing references to deleted packages.

NEXUS-47646

The Repair - Rebuild Maven repository metadata task is properly triggered when necessary, even if the initial move operation encounters errors.

NEXUS-40005

Improved npm search index handling to prevent creation of excessive and redundant assets.

NEXUS-39468

npm audit requests made to group repositories now correctly track and associate the responding proxy repository.

NEXUS-39514

Pagination using the from parameter in the npm /v1/search endpoint works correctly.

NEXUS-36868

Helm proxy repositories now correctly preserve string values like appVersion from index.yaml.

Search, Indexing, and Metadata Accuracy

This release refines search and indexing behavior to improve result accuracy, consistency, and resilience. Fixes address incorrect matches, case-sensitivity issues, pagination limits, and failures caused by orphaned or inconsistent data. Together, these changes make search results more predictable across APIs and the UI, improve cleanup and rebuild operations, and reduce the likelihood of errors caused by stale or malformed index data.

Issue ID

Description

NEXUS-49742

Staging move operations on PostgreSQL now perform faster and clean up empty browse nodes more efficiently.

NEXUS-48260

Content selector expressions using negative patterns now correctly enforce permissions during download and browse actions.

NEXUS-49502 & NEXUS-49606

Component search and the /v1/search/assets API now return results correctly for group IDs containing uppercase letters in non-HA environments.

NEXUS-49613

Component searches in High Availability environments now return only exact matches when no wildcards are used.

NEXUS-48992

Search results from the /rest/v1/search/assets API are no longer silently truncated at 10,000 items, as the removal of Elasticsearch eliminates the underlying limitation that caused incomplete responses without indication.

NEXUS-48393

Cleanup policies using regex patterns with quantifiers now produce consistent and accurate results between preview and execution.

NEXUS-44316

Search API requests that previously failed with a 500 error due to orphaned records in the search_components table are now handled gracefully. An upgrade task removes these invalid entries to restore search functionality without manual intervention.

NEXUS-40516

UI searches performed by non-admin users now correctly display and navigate to the expected components and assets within group repositories.

NEXUS-48504

The Search API now correctly returns blobCreated and blobStoreName values for assets.

NEXUS-43451

The /rest/v1/search/assets API consistently returns results based solely on asset-level content selector permissions.

NEXUS-34513

Asset paths in the Browse and Search views now display with a leading slash.

High Availability, Clustering, and Concurrency

Several fixes in this release target stability and accuracy in high availability deployments, particularly under concurrent load. Improvements address race conditions, deadlocks, case-handling inconsistencies, and startup issues related to shared resources such as blob stores. These changes help ensure reliable behavior across nodes during searches, downloads, background processing, and upgrades in clustered environments.

Issue ID

Description

NEXUS-48982

Concurrent requests to the same asset across High Availability nodes no longer result in errors.

NEXUS-49714

Tag-based searches and staging move operations in High Availability environments now correctly handle tag names in a case-insensitive manner.

NEXUS-49651

Resolved a deadlock condition that was sometimes occurring during remote event processing in high-availability deployments.

NEXUS-49901

Group blob stores in a high-availability deployment now start correctly after an upgrade.

NEXUS-49902

The Verify and Repair Data Consistency tasks now correctly handle group blob stores.

Blob Stores, Storage, and Data Integrity

This release improves the accuracy, reliability, and observability of blob store operations. Fixes address incorrect size reporting, upgrade edge cases, concurrency handling, and data repair behavior across different storage backends. Additional improvements ensure diagnostic artifacts and logs more accurately reflect the state of stored data, helping administrators better understand and maintain storage health.

Issue ID

Description

NEXUS-50152

The blob attribute loading process no longer deletes properties files on transient I/O errors or unhandled exceptions.

NEXUS-49991

Updating an S3 blob store's Access Key no longer triggers an invalid state error when the blob store is already running, preventing it from entering a failed state and avoiding unnecessary instance restarts.

NEXUS-48329

The Total Size reported for Azure blob stores now accurately reflects actual storage usage.

NEXUS-48851

S3 blob store secrets containing special characters are now correctly handled during upgrade.

NEXUS-47174

Compact Blob Store tasks can now run concurrently across different blob stores.

NEXUS-35061

Support zips generated on PostgreSQL and H2 now correctly include the key_store_data table.

NEXUS-49883

Regenerated .properties files during data repair now correctly restore the original @BlobStore.blob-name value instead of using the internal blob path.

NEXUS-49424

The Verify and Repair Data Consistency task now accurately reports elapsed time in logs.

Cleanup, Maintenance, and Background Tasks

Cleanup and maintenance tasks are now more reliable, predictable, and easier to troubleshoot. Enhancements improve how cleanup policies are evaluated and executed, how background tasks handle large datasets, and how errors and warnings are logged. These changes reduce operational friction and help ensure long-running or automated maintenance tasks complete successfully without unnecessary failures or noise.

Issue ID

Description

NEXUS-40930 & NEXUS-48460

Cleanup Policy Preview now correctly handles regular expressions containing special characters.

NEXUS-45399

Modifying a Docker cleanup policy using the REST API no longer causes the UI to hang when editing the policy.

NEXUS-49536

Cleanup policies using both Retain criteria and Asset Name Matcher now correctly process all matching components, even in large component sets that exceed the batch limit, for both preview and actual cleanup execution.

NEXUS-44903

Only one Docker garbage collection task can run at a time on a repository.

NEXUS-41564

Docker Garbage Collection task logs now include more detailed information about deleted and retained assets.

NEXUS-39789

The Docker garbage collection task now logs detailed reasons when a V2 manifest is invalid.

NEXUS-26593

The Docker - Delete incomplete uploads task no longer logs unnecessary WARN messages when encountering already soft-deleted blobs.

Security, Authentication, and Authorization

Security-related updates focus on improving authentication flows, authorization checks, and administrative clarity. Changes include performance improvements for permission evaluation, clearer licensing behavior, more predictable login handling, and better support for LDAP and SAML configurations.

Issue ID

Description

NEXUS-49940

SAML SSO in the UI now correctly redirects to the identity provider when using a custom context path.

NEXUS-49805

The login screen no longer displays the instructions for resetting the initial admin password after it has already been reset.

NEXUS-49718

UI load times have been improved for users with a large number of assigned privileges by optimizing permission calculation during login.

NEXUS-49142

The login process now uses a dynamic timeout based on UI settings.

NEXUS-49041

LDAP group searches are now capped to a configurable maximum number of results, with a default limit of 1,000 results.

NEXUS-46700

The /beta/system/information API endpoint is only accessible in Nexus Repository Pro.

NEXUS-46163

Repository target privileges migrated from Nexus Repository 2 are correctly transformed and visible in the Roles UI.

NEXUS-41229

Repository content selector privileges can now be created and updated via the REST API using format-specific wildcards like *-maven2.

NEXUS-35782

The Roles REST API now returns all directly contained roles and privileges for SAML-based roles.

UI, Usability, and API Behavior

This release refines the Nexus Repository user interface and REST APIs to improve usability, accuracy, and consistency. Updates address UI display issues, missing or misleading controls, trimming and validation of user input, and more reliable API responses. These improvements help reduce confusion, prevent common errors, and ensure the UI and APIs reflect the actual system state.

Issue ID

Description

NEXUS-49472

The UI now allows uploading assets to directory paths that include uppercase letters.

NEXUS-49369

The frontend REST API now returns only active Nexus modules.

NEXUS-49226

Refreshing a task log using the UI refresh icon now correctly loads the log without triggering a 404 error.

NEXUS-49156

The Repositories page now displays the Size column as long as at least one repository format has completed the blob size copy task.

NEXUS-45478

Disabled capabilities can now be edited and saved successfully.

NEXUS-44434

Session timeouts in one browser tab no longer log out other active tabs.

NEXUS-44810

Updating a proxy repository with an invalid remote URL works as expected.

NEXUS-46969

The misleading Upgrade Pending banner no longer appears when enabling high availability and rolling upgrades without any actual upgrade occurring.

Platform, Deployment, and Operations

Operational and deployment-related improvements focus on stability, configurability, and smoother upgrades. Fixes address Docker and container workflows, Helm and Kubernetes deployments, logging behavior, startup edge cases, and operator behavior. These changes help ensure Nexus Repository runs more reliably across diverse deployment environments and integrates more cleanly into modern infrastructure workflows.

Issue ID

Description

NEXUS-49176

The H2 to Postgres migration process now fails with a clear error when insufficient temporary disk space is detected, preventing silent partial migrations.

NEXUS-48680

Containerd clients can now successfully push to Docker repositories with path-based routing enabled.

NEXUS-47784

Database migration errors now include full query parameters in the logs.

NEXUS-43675

Temporary files generated during Docker content validation are now properly managed to prevent uncontrolled disk usage.

NEXUS-46878

Removed default memory-related JAVA_OPTS values from the Docker image.

NEXUS-46839

Helm hosted repositories now correctly block redeployment of .prov files when the disable redeploy policy is enabled.

NEXUS-45941

The REST API for creating Maven group repositories now correctly honors the specified versionPolicy.

NEXUS-45234

Repository content selector privileges created via the REST API with the ALL action are now correctly displayed in the UI with all actions selected.

NEXUS-31898

Warnings caused by expected BypassHttpErrorException conditions during Docker proxy operations are now logged at the DEBUG level instead of WARN.

NEXUS-25286

Nexus Repository now starts successfully even if a Docker repository is configured to use the same port as the main application connector.

NEXUS-49035

The Nexus Repository Operator no longer includes the chart version in StatefulSet names, ensuring PersistentVolumeClaims retain consistent names across upgrades and allowing reuse of existing storage.

NEXUS-48905 & NEXUS-48839

Docker Bearer Token authentication now uses the correct token URL when anonymous pull is enabled.

Known Issues & Upgrade Guidance

This section captures known issues in the 3.88.x line as well as upgrade guidance.

Resolved Known Issues

Impacted Version(s)

Version in which Issue is Resolved

Description

3.83.0 – 3..89.1

3.90.0

There is an issue in Sonatype Nexus Repository 3.83.0 - 3.89.1 where running the Verify and Repair or Data Repair Plan tasks can incorrectly delete valid assets, leading to potential data loss.

This issue is fixed in Nexus Repository 3.90.0. Upgrade to version 3.90.0 before running the Verify and Repair or Data Repair Plan tasks.

3.88.0

3.89.0

Sonatype is aware of an issue in Sonatype Nexus Repository 3.88.0 where NuGet client search requests fail when the application is running on the embedded H2 database.