NuGet Gets Faster, Configuration Defaults, Concierge
NuGet 2.7 release was announced this week, with several performance improvements, new extensibility APIs, command-line restore, configuration defaults and several other features.
The new version has a smaller memory footprint, less disk usage and faster package installation. Queries to OData-based feeds are also smarter, reducing the overall payload.
Following are some of the other improvements -
- New Extensibility APIs – IVsPackageInstallerServices and IVsPackageInstaller get couple of new methods each
- Configuration Defaults – machine-wide defaults can now be set for package sources related settings; this is mainly meant to help companies using internal package sources
- Simplified Package restore from command line – this can now allow you to easily integrate package restore into your build process; there is already a walkthrough for this with TFS
- Development-only dependencies – allows package authors to declare dependencies that were only used at development time and don’t require package dependenices
One minor but useful change is that Package Restore consent is now on by default; and there is no need to turn on package restore at solution level. This combined with command-line restore means that developers can now exclude referenced binaries from source control altogether.
Along with these features, the release sees almost a 100 bug fixes. However it also seems to break restore of packages having a leading zero in their version numbers, along with a couple of other known issues.
You can view the release notes for the full list of changes.
NuGet Concierge is a separate service announced by Microsoft yesterday. It allows you to upload your nuget package config file and then recommends other nuget packages that are frequently used with packages used by your project. Currently the service seems to have limited data, but is meant to improve over time.