2016 Release Notes

Repository Manager 3.2.0

11/01/16

These notes are a compilation of new features and significant bug fixes for Nexus Repository Manager 3.2.0.

See the complete release notes for all resolved issues.

New and Noteworthy

Backup & Restore

We’ve made two improvements to Nexus Repository for a better backup/restore experience. All content written to internal storage (the ‘blob stores’) is now handled in a quasi-atomic way, for better consistency of backups taken while Nexus is in use.

Secondly, there’s a new scheduled task to export the content of the embedded databases. We recommend all Nexus Repository installs review their backup and restore procedures in light of these new features.

Nexus Firewall Support

For Pro installs, Nexus Repository 3.2.0 now includes integration with Nexus Firewall. This brings industry-leading security to your proxy repositories, allowing policy-driven auditing and quarantining of components.

If you’re already using Nexus Firewall with Nexus Repository 2, you’ll want to wait for the next release, which will have built-in support for upgrading Firewall configuration and audit/quarantine state.

Purging Orphaned Docker Images

By popular demand, we’ve added a task to help keep down those disk-bursting Docker repository sizes. You can now remove dangling or orphaned Docker layers on demand, or schedule this cleanup to occur automatically.

Archived log file names changes

The repository manager archived log file names now adhere to the same name pattern ( ie. nexus-%d{yyyy-MM-dd}.log.gz and request-%d{yyyy-MM-dd}.log.gz ) [ NEXUS-11726 ]

Scalability Improvements for Larger Numbers of Repositories

The performance team has focused on some key changes that improve the overall number of repositories that Nexus can handle.

Known Issues Upgrading to 3.2.0

Along with 3.2.0, we’re releasing a bugfix version of Nexus Repository 2.14.2. If you wish to upgrade to 3.2.0, you must upgrade to 2.14.2 at a minimum first. For details, see the 2.14.2 release notes.

If you have ever scheduled a Rebuild hosted npm metadata task in 2.x, we do not recommend upgrading your npm hosted repositories to 3.x until we address NEXUS-11988.

Some 3.0.x repository manager users with custom roles may unexpectedly be able to see the list of all repositories in the system in the user interface Browse area after upgrade to 3.1 and 3.2. No actual content inside of those repositories is accessible. [ NEXUS-11937 ]

If your 3.0.x install uses absolute paths (instead of the default relative paths) to locations inside the data directory, then you may need to adjust those paths using a special procedure on upgrade. We have documented the supported procedure to move blob store locations in this scenario.

A reminder that custom installation property changes should be done inside of ${karaf.data}/etc/nexus.properties. DO NOT make these changes inside the example file inside your application directory at ./etc/nexus-default.properties. [ NEXUS-11733 ]

General Improvements

Blobstore

  • [NEXUS-11950] Improvement implement quasi-atomic writes for all blobstore content

IQ Server

  • [NEXUS-10913] Bug "Verify connection" button on IQ server configuration page does not validate credentials

Content Selectors

  • [NEXUS-11634] Bug Search and Browse not handling leading slash properly for content selectors compatibility
  • [NEXUS-11632] Bug Content selector preview not handling leading slash properly

Database

  • [NEXUS-11903] Bug ClassCastException Cannot cast java.lang.Long to java.util.Date during deploy

Docker

  • [NEXUS-11698] Bug browsing hosted docker repo may trigger UnrecognizedPropertyException Unrecognized field

Docker,Scheduled Tasks

  • [NEXUS-9293] Improvement add a task to purge dangling docker images performance

Documentation,Upgrade

  • [NEXUS-11673] Bug clarify nexus-edition and nexus-features property applicability

Installer

  • [NEXUS-11733] Bug editing nexus-default.properties is not discouraged

Logging

  • [NEXUS-11726] Bug archived log file names should be named consistently

Maven Repository,Transport

  • [NEXUS-10234] Bug Maven httpclient may receive SocketException Broken pipe instead of expected status code on deploy

Maven Repository,Scheduled Tasks

  • [NEXUS-11614] Bug poor performance from snapshot removal tasks rebuilding maven metadata performance

Migration

  • [NEXUS-11925] Bug Nexus 2 to Nexus 3 upgrade may fail with NullPointerException Cannot invoke method extract while processing RepositoryChangelogResource
  • [NEXUS-11923] Improvement perform version compatibility check when upgrading from Nexus 2.x to Nexus 3.x
  • [NEXUS-11732] Bug prevent ClassCastException when handling StorageLinkItem during upgrade to Nexus 3
  • [NEXUS-11921] Improvement explicitly prevent quarantine enabled Nexus 2 repositories from upgrade into Nexus 3
  • [NEXUS-11301] Bug upgrade to Nexus 3 fails if Nexus 2 has no anonymous user defined

Search

  • [NEXUS-10638] Improvement add a search criteria for repository name

UI

  • [NEXUS-9500] Improvement make capability validation message for URL type fields consistent and less confusing
  • [NEXUS-9302] Bug Administration cog icon may not be initially visible after successful sign in

Repository Manager 3.1.0

09/12/16

These notes are a compilation of new features and significant bug fixes for Nexus Repository Manager 3.1.0.

See the complete release notes for all resolved issues.

New and Noteworthy

Building on the solid OSS foundation, Nexus Repository Manager 3.1.0 is the first PRO release of the 3.x platform and the first 3.x release to support upgrade from 2.x.

Upgrade from Nexus 2.14.1 is supported!

Nexus Repository Manager 3.1.0 is the first 3.x series release that supports upgrade from Nexus 2.14.1 and greater. Please review our upgrade guide for more information on the exact steps required.

Changes To Default Installation and Work Directory Layout

Version 3.1 changes the default locations of core installation files relative to your specific work and data. It now more closely mimics the familiar pattern that Nexus 2.x followed. For users upgrading from 3.0.1/3.0.2, we strongly recommend adopting these defaults by following our special upgrade instructions.

Common Server Customizations More Easily Persisted Across Upgrades

Now you can store your server configuration files changes directly in the data directory, making backups and upgrades straight forward. Upgrades will involve fewer manual changes while easily picking up sensible default values for any new features.

Upgrading from 3.0.x? Follow these Instructions

We have special instructions for users upgrading their 3.0 installs to 3.1.

Nexus Professional Features Support

Existing Pro customers can install their licenses into this version and begin to take advantage of advanced enterprise features.

UI Based Installer Distribution is Suspended

For the near future we have decided to remove the UI based installers. If you have previously used these installers, please review our article for more information.

Security Issues Resolved

As part of our continuous auditing, a number of potential UI exploits and vulnerable third-party dependencies have been fixed in this release to make a more secure product.

General Improvements

Blobstore

  • [NEXUS-10446] Story blob store names should be case insensitive
  • [NEXUS-9873] Story If there is only one blobstore then just select it in the new repository screen

Bootstrap

  • [NEXUS-10418] Improvement automatically clear the karaf bundle cache on startup
  • [NEXUS-10454] Story Move the default location of the data directory in the tar/zip installs out of the install directory

Configuration

  • [NEXUS-10829] Story Store commonly customized configuration in the data folder

Database

  • [NEXUS-10154] Bug OrientDb allocates massive disk cache on large systems performance
  • [NEXUS-10518] Story Upgrade to OrientDB 2.2.x

Docker

  • [NEXUS-10630] Bug Unable to push image whenever it shares layers with another image already pushed by another docker client
  • [NEXUS-10147] Bug add ability to dump invalid JSON payloads submitted by docker on parse errors

Logging

  • [NEXUS-10883] Bug DEBUG level logging should print HTTP response code Nexus is sending
  • [NEXUS-10242] Story Capture stdout and stderr to logfile

NPM

  • [NEXUS-10817] Bug publishing npm packages with wrongly encoded ISO-8859-1 JSON fails with 400

NuGet

  • [NEXUS-8941] Bug Nuget packageId case sensitivity
  • [NEXUS-11141] Improvement support for nuget repository "package-versions" endpoint
  • [NEXUS-10808] Bug eager caching of nuget versions contributes to slow query performance performance

Repository

  • [NEXUS-10473] Bug tmp files may be kept open after deletion performance

Repository,UI

  • [NEXUS-10019] Bug Deletion of asset from single asset component causes failure in UI
  • [NEXUS-9844] Bug Wrong max component age pre-set for release Maven proxy

Scheduled Tasks,UI

  • [NEXUS-9523] Bug Starting to leave the browser with a dirty page but staying can break the UI

Search

  • [NEXUS-11254] Bug task "Rebuild repository index" may fail with with OutOfMemoryError

Security

  • [NEXUS-10882] Improvement upgrade Apache Shiro dependency to 1.3.1 to pick up recent security fixes

UI

  • [NEXUS-10917] Bug Repository Combobox Filtering not working

UX

  • [NEXUS-10922] Story Mask the UI on repository/blob store deletion

Webhooks

  • [NEXUS-10823] Improvement component / asset webhook events for common operations

Repository Manager 3.0.2

07/06/16

These notes are a compilation of new features and significant bug fixes for Nexus Repository Manager 3.0.2.

See the complete release notes for all resolved issues.

New and Noteworthy

Python PyPI and RubyGems Repository Format Support Added

Python PyPi and RubyGems developers can now enjoy the use of a world class repository manager for free in repository manager 3.0.2. Visit our updated book chapters for more documentation.

Did we mention these repository formats are available for free in Nexus Repository Manager OSS 3.0.2?

Docker Related Fixes

Some less frequently encountered but otherwise important Docker related bugs are fixed in this release. Upgrade to make sure you do not hit these.

Potential HTTP Connection Leak Fixed

All proxy repositories have the potential to leak HTTP connections - this is mostly noticeable under sustained proxy repository load and frequent outbound requests. The symptoms may include having the repository manager non-responsive to inbound requests, thread backup and ParOldGen filling up and not being reclaimed.

General Improvements

Bower

  • [NEXUS-10564Bug Bower proxy repository timeout waiting for connection from pool performance

Configuration

  • [NEXUS-10021Bug Authentication-less Email Server config does not work

Docker

  • [NEXUS-10294Bug Docker client <= 1.9.1 cannot pull images which are push by a docker client >= 1.10.0
  • [NEXUS-10421Bug Docker pull through proxy repository fails if remote is not available
  • [NEXUS-10481Bug outbound docker proxy requests always insert /library/ and commonly return 404 at the remote

NPM

  • [NEXUS-10423Bug NPM proxy repository Timeout waiting for connection from pool performance

PyPi

  • [NEXUS-6037Improvement Python PyPi repository format support

RubyGems

  • [NEXUS-10827Improvement RubyGems repository format support

Security

  • [NEXUS-7765Bug RUT Auth Realm does not authenticate in Nexus 3

Support Tools

  • [NEXUS-10042Bug IOException Pipe not connected prevents generating support zip on Windows

Transport

  • [NEXUS-10390Bug Nexus 3 Basic realm name does not equal Nexus 2 realm name

Repository Manager 3.0.1

07/06/16

New and Noteworthy

This is a bug fix release only.

If you intend to upgrade to this release, please carefully follow our instructions on How to Upgrade Nexus Repository Manager 3.

General Improvements

Database,NuGet

  • [NEXUS-10278] Bug pushing NuGet packages larger than 2GB fails

Docker

  • [NEXUS-10166] Bug RedHat docker 1.8.2 push HTTP PUT uploads tar content instead of gzip and triggers JsonParseException 400
  • [NEXUS-10148] Bug docker V2 pull requests may return V1 manifests unexpectedly resulting in missing signature key error

Docker,Proxy Repository

  • [NEXUS-10115] Bug Docker proxy repository ConnectionPoolTimeoutException Timeout waiting for connection from pool

LDAP,Security

  • [NEXUS-10256] Bug extremely poor performance in user role/privilege resolution for LDAP users

NPM

  • [NEXUS-10069] Bug npm install against a group repository with nested group member fails with 500 status

NuGet

  • [NEXUS-9502] Bug NuGet proxy repository responds with 502 status instead of 404 for missing content

Proxy Repository,UI

  • [NEXUS-9993] Bug proxy repository HTTP request settings form fields cannot be saved

Repository

  • [NEXUS-10044] Bug StackOverflowError when a group repository has itself as a member

Repository Health Check,Scheduled Tasks

  • [NEXUS-9639] Bug startup race condition ClassNotFoundException javax.ws.rs-api RHC can prevent startup

Scheduled Tasks,UI

  • [NEXUS-9995] Bug scheduled task form values cannot be blanked out when a blank value is valid

Support Tools

  • [NEXUS-10102] Bug generating support zip with configuration option requires external internet access

UI

  • [NEXUS-9991] Bug ui spinbutton form controls should not react to mouse scroll wheel movement

Repository Manager 3.0.0

03/10/16

We are pleased to announce our newest version of Nexus Repository Manager. Our team is dedicated to delivering enterprise-quality software for you to manage all your component binaries in one tool. That’s why we have gone beyond our previous versions to give you improvements to user interface, system performance, and component format support. With all these new features in place, we are delighted to introduce Nexus Repository Manager 3.0!

Before You Begin

  1. Currently, users cannot migrate an existing Nexus Repository Manager 2 install to version 3. The first version of a migration tool will be available in 3.1. Read more about our current features and what's coming soon. You can see a demo video and read about migration on the Nexus community site.
  2. The new repository manager requires Java Runtime Environment 8, at minimum. Upgrade if needed.
  3. Experience with installing and running the Nexus Repository Manager 2 and repository concepts can be helpful, but not required.

What's New and Noteworthy for 3.0.0?

Here is list of all noteworthy changes to Nexus Repository Manager 3.0.0:

  • Platform-specific installer application
  • Re-designed user interface and navigation
  • 'Remember Me' feature to prevent re-logging into the UI over and over
  • New OSGI console, based on the Apache Karaf platform
  • View component and asset details
  • Ability to schedule tasks
  • Ability to bookmark search results
  • Repository support for BowerDockerMaven2NuGet, and npm
  • Improved security (Realms) for NuGet and npm
  • Enhanced security for Privilege creation, allowing more flexible permissions for accounts
  • Ability to search across all repository formats and components
  • Repository Health Check for Maven, npm, NuGet proxy repositories
  • Ability to specify SSL and TLS options for email configuration
  • Large performance improvements to our Blobstore
  • New default URL pointing to http://localhost:8081/, previously http://localhost:8081/nexus in v2
  • Java API for provisioning and configuration

Should I Use Version 3 or 2?

We are advising that you use Nexus Repository 3.0 if you are planning to use npm, Bower, NuGet or Docker. If you are using Maven, we suggest that you continue to use Nexus Repository 2.x as we are still building features for 3.0 that many Maven folks will find handy. If you want to run both versions in parallel, that is perfectly fine too. 

How Do I Upgrade?

Nexus Repository Manager 3 Milestone 7 is the only milestone release that can be updated to 3.0.0 Final. Follow these instructions to perform the upgrade.

Tell Us What You Think

We hope you will take this opportunity to discuss your experience with Nexus Repository Manager 3.0. To do this, just send us an email at nexus-feedback@sonatype.com or contact us via the mailing list or chat.