2020 Release Notes
Nexus Repository Manager 3.29.1
2020-12-24
A flaw ( NEXUS-26251 ) has been discovered in Cleanup Policies affecting version 3.29.1. Repositories with a cleanup policy can have components soft deleted that do not meet the criteria specified.
An upgrade to 3.29.2 or newer is strongly recommended especially for instances that use Cleanup Policies. If this is not possible, any 3.29.1 instance is advised to take the following action:
As an Administrator user, navigate to Administration → System → Tasks.
Select the task of type Admin - Cleanup repositories using their associated policies. The default task name is
Cleanup service
. Click the task Settings tab.Uncheck the Task enabled checkbox on the Settings tab and click Save.
Blobstore, Docker, Scheduled Tasks
[NEXUS-25504] Unable to pull images from hosted docker repo after move to new blob store
helm
[NEXUS-25611] Installing via helm proxy errors if not using official remote
npm-audit
[NEXUS-25936] npm audit fails with 500 response using group and anonymous
NuGet V3
[NEXUS-25801] Group repository registration API requests may fail
Staging
[NEXUS-24391] 'Destination already contains component' error when using staging API
Nexus Repository Manager 3.29.0
2020-12-04
Sonatype recommends that administrators running 3.28.1 and earlier upgrade immediately.
A common pattern in npm projects is to use version ranges for dependencies for users of Nexus Firewall this could lead to build failures if quarantine is enabled for unknown components when builds occurred before a package was catalogued. Firewall is now smarter, and when configured it will filter new packages that haven’t yet been vetted for quality so developers can use latest and version ranges without friction.
[NEXUS-19840] The /service/metrics/healthcheck endpoint has been deprecated and scheduled for eventual removal. It is recommended to use the alternative endpoint/service/rest/v1/status/check which has a near equivalent JSON response, except it does not return 500 status when one or more system status checks fail.
These hashes are now created automatically during UI Upload of jars and automatically removed when the accompanying components are removed by cleanup policies or maven-specific deletion tasks.
[NEXUS-25506] New installs will now contain the default NuGet proxy repository as https://api.nuget.org/v3/index.json. Upgrading will not modify any existing remote URLs, although users are encouraged to start migrating away from using NuGet V2 API URLs such as the previous default (https://www.nuget.org/api/v2/).
[NEXUS-20267, NEXUS-25786] For instances using Eclipse Jetty-based direct inbound HTTPS connections (no reverse proxy), the default connector configration inside jetty-https.xml
now only allows TLS v1.2 connections. Excluded are weak ciphers, deprecated TLS v1 and TLS v1.1 protocols.
It is possible that very old insecure HTTP clients may fail establishing an HTTPS connection to repository manager using these new defaults. Should this occur and you need to revert changes in your instance, consult the JIRA issues or our knowledge base article.
[NEXUS-25307] Protection against deletion of related blob stores while the Change repository blob store task is executing
[NEXUS-14631] Added more attributes to REST resource for asset
[NEXUS-19021] Logging at default levels when roles are added or removed
[NEXUS-25774] Upgraded Eclipse Jetty to 9.4.33.v20201020
[NEXUS-23733] Creating more than one file based blobstore using the same root path is not prevented
[NEXUS-25529] Security management: Users API does not show "externalRoles" for Crowd
[NEXUS-25510] Error Response Code 429 (Rate Limiting) does not autoblock
[NEXUS-25291] Proxy can be configured only using a specific remote in UI field
[NEXUS-25605] Proxy repositories to github package registry can fail query requests when accessed in a group repository
[NEXUS-25478] Group packages incorrectly sorted in page causing some installs to fail
[NEXUS-25357] Proxy does not work with some third-party V3 repositories
[NEXUS-24913] npm audit caching prevents policy updates
[NEXUS-25609] Exception processing payloads for a single NuGet group member repository can stop all group member processing
[NEXUS-23827] PACKAGES.gz cannot be updated if repository doesn't allow redeploy
[NEXUS-25829] CVE-2020-29436: Fixes an XXE Vulnerability
[NEXUS-25158] HeaderPatternFilter may reject implicit Host value due to certain combinations of X-Forwarded headers
[NEXUS-25604] Some newly deployed rpm files not showing up in primary.xml.gz, despite logging saying they are being added
[NEXUS-25502] yum metadata is rebuilt after downloading it which can cause build failures
[NEXUS-25628] yum metadata missing provides entries when multiple versions are provided by a package
Nexus Repository Manager 3.28.1
2020-10-19
[NEXUS-25507] Fixed an issue that caused the Change repository blob store task to spawn too many threads.
Nexus Repository Manager 3.28.0
2020-10-01
[NEXUS-25099] Group Deployment will provide Nexus Repository Pro users a single URL (Group Repository) to push and pull npm packages with development CI build tools. This new feature delivers frictionless ecosystem support for developers as Group Deployment for npm replaces the need to know the various URLs for individual repositories.
A flaw [NEXUS-25507] was discovered in the Admin - Change repository blob store task that may cause NXRM 3.28.0 to crash. Users of this task are strongly advised to update to version 3.28.1 or newer.
[NEXUS-12016] The Change Repo Blob Store feature allows an administrator to migrate the component binaries of a repository from the current blob store to a different blob store. Administrators can now manage the mapping of repositories to blob stores even after they were initially configured.
The benefits include:
Move repositories to a more suitable blob store (faster, bigger, cheaper, etc.)
Separate Hosted repositories and Proxy repositories into their blob stores and apply the appropriate backup strategies based on the needs of the business and SLAs
Because this is implemented as a task, an administrator can start the task to move components and let the system handle the actual relocation of the binaries. The task can survive the system restarts and continues from where it stopped.
[NEXUS-25162] org.sonatype.nexus.repository.storage.WritePolicy
has been moved to org.sonatype.nexus.repository.config.WritePolicy
. This will impact any Groovy scripts using the org.sonatype.nexus.script.plugin.RepositoryApi
to create repositories.
[NEXUS-25209] Any scripts or third-party plugins using org.sonatype.nexus.repository.storage.TempBlob
must change to use of org.sonatype.nexus.repository.view.payloads.TempBlob
.
[NEXUS-25336] We've replaced the Google Guava Java supplier on our APIs, so people consuming or implementing them will need to update those usages to java.util.function.Supplier
.
[NEXUS-18283] Added ability to add Custom AWS S3 Regions to Blobstore Configuration
[NEXUS-19572] Go format search
[NEXUS-19858] Added confirmation when promoting a blob store
[NEXUS-24904] excessive ERROR level log messages from 'org.eclipse.jetty.util.log.StdErrLog' reduced to INFO level
[NEXUS-25378] docker pushes can fail due to 'InvalidContentException: Content type could not be determined performance'
[NEXUS-25294] Version 3.0.0 Milestone 7 backward compatibility code is non-performant under load
[NEXUS-25039] Download of docker tags from the hosted repository can fail with 400 response
[NEXUS-24718] Running Docker - Delete unused manifests and images task when blob storage is not available deletes all layers
[NEXUS-24682] Helm repositories require the packages to be relative to the index.yaml
[NEXUS-24227] archetype-catalog.xml is imported by import task to a maven repository
[NEXUS-24833] Import does not preserve lastBlobUpdated (last_updated) value from export
[NEXUS-25347] org.eclipse.jetty loggers do not log messages if levels are edited
[NEXUS-24916] SAML configuration error root causes are swallowed and not logged at default levels
[NEXUS-24918] npm audit should not fail if package.json contains a dependency that can't be found
[NEXUS-25156] npm audit doesn't fail fast when no IQ server is configured
[NEXUS-24868] Group does not export semver2 endpoints 'RegistrationsBaseUrl/Versioned' when used as NuGet V3
[NEXUS-25296] 502 error if a NuGet V3 group contains a proxy with a different NuGet version
[NEXUS-21107] Raw repo folders with special characters created using UI cannot be deleted
[NEXUS-24998] Continuation token fails intermittently with 406 response
[NEXUS-25190] Newly deployed RPM files do not always appear in Yum metadata files
Nexus Repository Manager 3.27.0
2020-09-03
[NEXUS-10471] Group Deployment will provide Nexus Repository Pro users a single URL (Group Repository) to push and pull Docker images with development CI build tools. This new feature delivers frictionless ecosystem support for developers as Group Deployment for Docker replaces the need to know the various URLs for individual repositories.
To start using Group Deployment for Docker, check out the setup and configuration details and start enjoying reduced Docker ports, reduced storage, and easier client and reverse proxy configurations.
[NEXUS-25098] REST API for Conda repositories
[NEXUS-24988] Maven - Delete SNAPSHOT taskdeletes GAV level maven-metadata.xml files, resulting in 404 responses
[NEXUS-24917] npm audit fails for packages that are not all lowercase
[NEXUS-24837] Metadata query cache age and Maximum metadata age timeouts are ignored for metadata requests
[NEXUS-24464] NuGet Signature validation goes out to https://api.nuget.org
[ NEXUS-24925 ] Unneeded JSESSIONID cookies returned
Nexus Repository Manager 3.26.1
2020-08-12
[NEXUS-24867] Fix an issue starting the server when multiple SSL certificates are present in the configured keystore.
Nexus Repository Manager 3.26.0
2020-08-10
If you are upgrading or configuring NXRM to use a direct HTTPS connector, you may need to adjust the default etc/jetty/jetty-https.xml
configuration file to successfully start NXRM. The symptoms and the adjustments to make to start NXRM 3.26.0 are outlined in NEXUS-24867.
[NEXUS-24788] Following the previous releases, we have added support for 4 additional formats to both the Import and Export tasks. Together with Maven, Raw, npm, and NuGet support, you can now:
Import directly from Nexus Repository Manager v2
Move components of these formats between Nexus Repository Manager v3 instances
[NEXUS-23928] Update /beta/repositories REST endpoints updated to /v1. Beta endpoints still work.
[NEXUS-23930] Update v1 REST endpoints for Security API. Beta endpoints still work.
[NEXUS-24416] Yum repodata metadata handles multiple-level rebuild better
[NEXUS-24858] Repair - Reconcile component database from blob store task now includes NuGet format
[NEXUS-24226] Caching added to Prometheus metrics endpoint
[NEXUS-24671] Audit log is not recording events even if the feature is enabled
[NEXUS-23065] Docker - Delete incomplete uploads task can stop if it errors reading a single asset
[NEXUS-23417] Upgrade may cause browse not to function
[ NEXUS-24601 ] Fix an error in sorting using the Search API
Nexus Repository Manager 3.25.1
2020-07-29
A critical bug was discovered in version 3.25.1-02, if a custom web context path is being used (e.g. "/nexus") UI logins will not work. 3.25.1-04 has been released with a fix.
[NEXUS-24488] Avoid excessive database queries in OSSIndex integration
[NEXUS-24489] Batch requests from browse UI for OSSIndex
[NEXUS-24128] REST API delete requests for Maven components can have slow performance
[NEXUS-24771] a custom context path prevents sign in
[NEXUS-24112] Staging move of Maven components can be very slow due to metadata rebuilds
[NEXUS-24612] Unable to browse repository - OssIndexVulnerabilityClient Timeout
Nexus Repository Manager 3.25.0
2020-07-13
[NEXUS-10886] NuGet V3 Group support gives Nexus Repository users access to the up-to-date V3 API. This is the third and final part of a wider initiative to bring full V3 support (Proxy, Hosted, and Group).
[NEXUS-24561] In 3.23.0, we released the Import task with Raw and Maven support. In this release, we added npm and NuGet support. You will now be able to import content into repositories (or export content from repositories) of these formats. This allows you to:
Import npm and NuGet components from Nexus Repository Manager v2
Move npm and NuGet components between Nexus Repository Manager v3 (with the Export task)
[NEXUS-24256] Password Complexity now enforcable
[NEXUS-23923] Email REST API out of beta; beta endpoints will continue to work
[ NEXUS-24288 ] OSS Index Link Integration (OSS Only)
[NEXUS-24568] Cache npm audit results to improve performance
[NEXUS-30905] Add setting to determine if raw repository content is displayed as web page or downloaded
[NEXUS-24124] OCI - Docker repos should respect accept headers
[NEXUS-20640] docker push may fail with blob upload unknown due to race condition
[ NEXUS-24283 ]Repository export errantly tries to validate delta files for every asset, even in other repositories
[NEXUS-23895] Save of LDAP user and group settings fails with error
[ NEXUS-23887 ]LDAP connection UI looks broken, constantly prompts for password
[NEXUS-24098] Snapshot GAV metadata rebuilt incorrectly if packaging has multiple segments
[NEXUS-24222] Reduce likelihood of OOM when accessing NuGet feed
[NEXUS-24248] NuGet V3 proxy fails to work with HA-C
[NEXUS-24355] NuGet V3 - Impossible to use internal hosted/group/proxy as remote for proxy
[NEXUS-24194] NuGet V3 Hosted - Search prerelease flag does not work
[NEXUS-23550] proxy repository does not work with some sites
Nexus Repository Manager 3.24.0
2020-06-08
[NEXUS-23854] Export enables customers to export Raw and Maven contents from any repository to a target folder. The exports can then be imported into another repository in the same instance or a different instance. This is a great way to migrate content between two or more Nexus Repository Manager Pro 3 installations. Future releases will include additional support for NuGet, npm, RubyGems, Yum, Docker, and PyPI.
To use Export, configure the task from Settings → Tasks → Create Task → Repository - Export assets
[NEXUS-23970] NuGet V3 Hosted support gives Nexus Repository users access to the up-to-date V3 API. This is the second part of a wider initiative to bring full V3 support (Proxy, Hosted, and Group). Group repository support will be the final stage in an upcoming release.
Several new and improved REST endpoints are in this release. See the below tickets for specifics including upgraded Blobstore, Atlassian Crowd, and Nexus IQ endpoints. New REST endpoints have also been released including CocoaPods, Maven Group, Raw, and RubyGems repositories.
[NEXUS-24091]REST API for CocoaPods repositories
[NEXUS-23080] Maven Group REST API
[NEXUS-24092] REST API for Raw repositories
[ NEXUS-24093 ] REST API for RubyGems repositories
[NEXUS-23798] REST API to enable User Tokens
[NEXUS-23650] Allow REST API to Enable/Disable Anonymous Access
[ NEXUS-23588 ] Repository Management API missing Yum Proxy
[NEXUS-22147] REST API for R repositories
[ NEXUS-23922 ] Blobstores REST API out of beta
[ NEXUS-23932 ] Crowd REST API out of beta
[ NEXUS-23924 ] IQ REST API out of beta
[ NEXUS-23925 ]LDAP API out of beta
[ NEXUS-23926 ]License API out of beta
[ NEXUS-23929 ]Routing Rules API out of beta
[ NEXUS-23897 ] Memory settings in the docker image standardized to our recommended minimums
This changes default memory allocations from 1200m to 2703m as well as a larger heap. If your instance cannot handle these settings you may need to make manual adjustments but be aware your instance is likely under-resourced in this case.
[ NEXUS-23870 ] "Node already has an asset" for browse tree rebuild no longer fails Transactions status check
[NEXUS-23903] Long-running database queries for Docker repositories can lead to thread and db connection pool exhaustion performance
[NEXUS-23800] Race condition in lazy maven metadata rebuild causes build failures, slow builds
[NEXUS-23872] Unable to set repository HTTP client to auth via REST
[NEXUS-19529] Viewing the UI repositories list will trigger s3 blobstore metrics retrieval even if that blobstore is not used
Nexus Repository Manager 3.23.0
2020-05-05
[NEXUS-23853] In Nexus Repository Manager 3.23.0, we focus on importing content from an external source and for a subset of formats. This can help customers migrate content from Nexus Repository Manager 2 to Nexus Repository Manager 3 at their own pace.
Import is implemented as a task. You can configure the Repository - Import external files task from Settings → Tasks → Create Task
[NEXUS-16954] We are excited to announce enhanced Javascript support with Nexus Intelligence via npm audit for Nexus Repository Manager. Nexus Intelligence via npm audit will allow developers to check for policy violations in their Javascript projects, using the npm audit command built into the npm CLI, coupled with the precise data of Nexus Intelligence. Running the npm audit command lists all known vulnerable dependencies from your package.json file while gaining the benefits of the most precise intelligence regarding security vulnerabilities, license risk, and architectural quality of open-source components.
This feature will be available to both Nexus Repository OSS and Pro users and will require a license of Nexus Firewall or Nexus Lifecycle (Nexus IQ version 89 and above). Nexus Repository Manager admins can enable Nexus Intelligence via npm audit across all development teams without having to modify any setup on the developers’ machines.
[NEXUS-21087] (Docker) Support OCI registry format
[NEXUS-23436] Clearer anonymous panel for upgrade wizard
[NEXUS-23360] Infinite loop for authorization to registry.connect.redhat.com
[NEXUS-23548] Helm Chart Repository API version format incorrect
[NEXUS-20349] NuGet repository returns multiple versions as islatest=true
[NEXUS-23420] NonResolvablePackageException thrown when downloading a package through the PyPI group
[NEXUS-23398] Retrieval of some packages from PyPI fails
[NEXUS-23487] PyPI repository returns a 500 error response if the remote returns an invalid response.
[NEXUS-23379] Invalid content returned through proxy prevents valid content from being retrieved
[NEXUS-23616] Blob Store API allows users to create a blobstore without a path
Nexus Repository Manager 3.22.1
2020-04-16
Sonatype recommends that administrators running 3.22.0 and earlier upgrade immediately.
NEXUS-23556 - CVE-2020-11415: LDAP system credentials can be exposed by admin user
NEXUS-23504 - Privileged user can create, modify and execute scripting tasks
NEXUS-23359 - NPE thrown if IdP metadata does not contain SingleLogoutService element
NEXUS-23348 - UI Login SSO Button does not respect the nexus-context-path
NEXUS-23352 - Conan integration in 3.22.0 does not handle Header Only packages
NEXUS-23399 - NuGet v3 proxy repository will not serve cached content if remote is blocked
NEXUS-23396 - Admin - Cleanup repositories using their associated policies task should lazily mark maven metadata for rebuild
Nexus Repository Manager 3.22.0
Includes Security Fix for Improper Access Control CVE. See the CVE-2020-11444 advisory for details.
Sonatype recommends that administrators running 3.21.2 and earlier upgrade immediately.
2020-03-27
New and Noteworthy
[NEXUS-20939] Nexus Repository Manager allows users to authenticate with SAML identity providers.
The fix for NEXUS-22770 will cause some content previously cached in PyPi proxy repositories to be removed. This only affects proxy repositories; the content will reappear as your builds request it. Please see the issue for details.
[NEXUS-14310] Nexus Repository Manager now provides native support for proxying Conan repositories. Conan is a C/C++ package manager.
General Improvements
[NEXUS-21910] Additional REST provisioning support for npm, NuGet, and PyPI repositories
[NEXUS-22896] Performance regression in search REST API
[NEXUS-23377] CVE-2020-11444: Improper Access Control
[NEXUS-5716] All signed-in users can be assigned a default role
[NEXUS-23272] Inability to add * permission to user on 3.21.2
[NEXUS-16159] "Require user tokens for repository authentication" is now enforced properly
[NEXUS-23393] a GA level maven-metadata.xml GET request may trigger rebuilding unrelated GA maven-metadata.xml
[NEXUS-23392] potentially long-running transaction rebuilding metadata triggered by GET of GA level maven-metadata.xml while under concurrent access
[NEXUS-22602] Repair - Rebuild Maven repository metadata (maven-metadata.xml) task with GA restrictions does not work
[NEXUS-22245] Cannot delete npm scoped folder via UI
[NEXUS-23048] Allow proxying NuGet packages hosted by GitHub Packages
[NEXUS-22770] Change in stored PyPI proxy package paths creates duplicate assets and breaks browse node creation
[NEXUS-22054] "Repair - reconcile component database from blob store" task does not remove invalid component db references.
[NEXUS-22729] Cleanup Policy task results in removal of maven-metadata from non-timestamped snapshots
Nexus Repository Manager 3.21.2
2020-03-23
Contains fixes for security vulnerabilities, it is recommended that administrators running earlier versions upgrade immediately.
To make NXRM more secure, we have disabled the Groovy scripting engine by default. This affects Groovy scripts as used through the REST API and scheduled tasks.
For more information (including how to re-enable Groovy scripting), see NEXUS-23205.
[NEXUS-23146] Fixes a remote code execution vulnerability.
[NEXUS-23147] Fixes a remote code execution vulnerability for users with administrator permissions.
[NEXUS-23148] Fixes a stored cross-site scripting vulnerability
Nexus Repository Manager 3.21.1
2020-02-18
Removes a broken menu entry incorrectly appearing for some users.
Nexus Repository Manager 3.21.0
2020-02-18
Sonatype is pleased to announce the immediate availability of Nexus Repository 3.21.0. The issues fixed in this release can be found below.
[NEXUS-11730] Nexus Repository Manager now provides native support forproxying p2 repositories. p2 is a technology for provisioning and managing Eclipse- and Equinox-based applications.
This implementation does not include any ability to migrate p2 repositories from NXRM2 to NXRM3. Interest for that feature is being tracked in NEXUS-22824.
[NEXUS-13325] Helm is the first application package manager running atop Kubernetes(k8s). It allows describing the application structure through convenient helm-charts and managing it with simple commands.
[NEXUS-10886] NuGet V3 Proxy support gives Nexus Repository Manager users access to the up-to-date V3 API. This is the first part of a wider initiative to bring full V3 support, group and hosted will follow in future releases.
[NEXUS-16251] Nexus Repository Manager now provides a common facility to allow RPM clients to get GPG keys to verify package signatures in remote repositories.
[NEXUS-13434] Nexus Repository Manager is providing npm cli ping support.
General Improvements
[NEXUS-18186] Disabling redeploy for a private Docker repo breaks the "latest" tag
[NEXUS-21730] Audit log does not log all attributes for repository change events
[NEXUS-21329] "Remove a member from a blob store group" task processes missing files in the source blob store
[NEXUS-18905] Cleanup tasks fail with "No search context found for id" error
[NEXUS-13306] Usernames containing non URL safe characters cannot authenticate using the Crowd realm
[NEXUS-16009] Browse tree for NuGet proxy repositories shows packages that are not locally cached
[NEXUS-22051] PyPI group merge is not case sensitive
[NEXUS-22351] R PACKAGES file lost on upgrade to 3.20.x
[NEXUS-17477] Unable to install hosted gem which has multiple version requirements
[NEXUS-22052] Yum Metadata not rebuilt after staging deletion of rpm