-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from leecow/master
2.1 RC release notes
- Loading branch information
Showing
2 changed files
with
153 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# .NET Core 2.1 RC 1 Known Issues | ||
|
||
This document lists known issues for *.NET Core 2.1 RC 1* which may be encountered during usage. | ||
|
||
## CoreFX | ||
|
||
### System.IO | ||
|
||
([corefx/29368](https://github.com/dotnet/corefx/issues/29368)) | ||
|
||
Recursive enumeration of file/directory strings has an extra separator for subdirectories when passed an original path with a trailing separator. (Directory.EnumerateFiles/GetFiles/EnumerateDirectories/GetDirectories/EnumerateFileSystemEntries/GetFileSystemEntries with the SearchOption.AllDirectories option) | ||
|
||
*Workaround* - Trim the trailing separator on the path argument or call Path.GetFullPath() on the result. | ||
|
||
([corefx/29095](https://github.com/dotnet/corefx/issues/29095)) | ||
|
||
Directories are not recognized as directories when enumerating on some Unix distributions. If the file system returns a type of DT_UNKNOWN .NET will always assume it is a file. | ||
|
||
*Workaround* None. | ||
|
||
** System.Security** ([corefx/29345](https://github.com/dotnet/corefx/issues/29345)) | ||
|
||
EnvelopedCms.Decode on Linux and macOS cannot read files produced by Bouncy Castle | ||
|
||
*Workaround* - Convert the file from an indefinite length encoding to a definite length encoding. For example, load the file on Windows and write it back by calling EnvelopedCms.Encode(). | ||
|
||
### Global Tools | ||
|
||
**Global Tools targeting Preview or RC will not "roll-forward" to RTM** | ||
|
||
Global Tools are framework-dependent applications and subject to the same .NET Core runtime selection behavior as other applications. A key behavior is that preview releases do not roll-forward to a final (AKA "RTM") release in the absence of a preview release being installed on a given machine. Tool writers that publish tools for a preview need to publish releases for later previews and the final release in order for those tools to work for their users. | ||
|
||
*Workaround* When .NET Core SDK is released (RTM), authors need to rebuild and re-publish their tools with the released RTM SDK. | ||
|
||
**Global Tools created with .NET Core SDK 2.1.300 Preview 1 are not compatible with later versions.** | ||
|
||
Also: Ensure that global.json does not pin to .NET Core SDK 2.1.300 Preview 1 on either for a directory where you are developing global tools or a directory from which you are installing global tools. | ||
|
||
*Workaround* - Manually remove these tools. | ||
|
||
**Global Tool shim fails if .NET Core is not installed in default location** ([cli/9114](https://github.com/dotnet/cli/issues/9114)) | ||
|
||
*Workaround* - Set %DOTNET_ROOT% to point to your .NET Core installation | ||
|
||
**Global Tools must target .NET Core Runtime 2.1 or higher** ([cli/9073](https://github.com/dotnet/cli/issues/9073)) | ||
|
||
*Workaround* - Upgrade to target .NET Core Runtime 2.1 | ||
|
||
### Installing on Linux using the installers installs the latest available dotnet-host package | ||
|
||
There is an issue with dotnet-host 2.1.0-preview2-26406-04-1 which introduces a dependency incompatibility. [core-setup/issues/2128](https://github.com/dotnet/core-setup/issues/4007). This is only a problem when installing a previous version of .NET Core on a clean machine. For example, if you installed dotnet-runtime-2.0.6, the RC 1 host will be installed but not the rest of RC 1. | ||
|
||
We have temporarily removed the RC 1 installers from the Linux package feeds until this is fully resolved. | ||
|
||
**Workaround** - If you have gotten into this state, downgrade the dotnet-host pacakge to an older version. | ||
|
||
```bash | ||
sudo apt install dotnet-host=2.0.6-1 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# .NET Core 2.1 Release Candidate (RC) 1 - May 6, 2018 | ||
|
||
.NET Core 2.1.0 RC1 is available for download and usage in your environment. Have a look at the [Known Issues](2.1.0-rc1-known-issues.md) document as there are a few things to be aware of before installing. | ||
|
||
* [Downloads](https://www.microsoft.com/net/download/dotnet-core/) | ||
|
||
## Blog Round up | ||
|
||
* [.NET Core](https://blogs.msdn.microsoft.com/dotnet/) | ||
* [ASP .NET Core](https://blogs.msdn.microsoft.com/webdev/) | ||
* [Entity Framework Core](https://blogs.msdn.microsoft.com/dotnet/) | ||
|
||
The .NET Core SDK 2.1 RC includes .NET Core 2.1 Runtime RC so downloading the runtime packages separately is not needed when installing the SDK. After installing the .NET Core SDK 2.1 RC, the following command will show that you're running version `2.1.300-rc1-008673` of the tools. | ||
|
||
`dotnet --version` | ||
|
||
Your feedback is important and appreciated. We've created an issue at [dotnet/core #XXXX](https://github.com/dotnet/core/issues/XXXX) for your questions and comments. | ||
|
||
## Docker Images | ||
|
||
The [.NET Core Docker images](https://hub.docker.com/r/microsoft/dotnet/) have been updated for this release. Look for the 2.1 RC images. | ||
|
||
## Azure AppServices | ||
|
||
.NET Core 2.1 RC 1 in Azure App Services will begin rolling out Thursday, 5/10 and and will be available in all regions a few days later. | ||
|
||
## Notable Changes in RC1 | ||
|
||
### Linux installer changes and distro version updates | ||
|
||
#### Installer changes | ||
|
||
We have been working to improve out Linux installers and the RC release takes another step. System dependencies are now installed using a `runtime-deps` package. This enables us to create "agnostic" Runtime and SDK installers which are the same across distros. You don't need to do anything different when installing, this package is referenced as a dependency of the Runtime installer. | ||
|
||
For the final release of 2.1, the installers will properly support package manager updates (eg `apt-get update`) | ||
|
||
#### Supported version changes | ||
|
||
.NET Core is now available for Ubuntu 18.04. Congratulations to Canonical on the release! | ||
|
||
### Breaking API changes | ||
|
||
Many APIs received updates from Preview 1 which are considered breaking changes. Below are a few notable changes and a [detailed API diff](https://github.com/dotnet/core/tree/master/release-notes/2.1/Preview/api-diff/preview2) is available to help determine if any will impact existing projects build on 2.1.0 Preview 1. | ||
|
||
### System.Security | ||
|
||
| Area | Description | Details | Github Issue | | ||
| ---- | ----------- | ------- | ------------ | | ||
| System.Security | New SignedCms APIs | System.Security.Cryptography.Pkcs.SignedCms is now available in the System.Security.Cryptography.Pkcs package. The .NET Core implementation is available to all .NET Core platforms and has parity with the class from .NET Framework. | [corefx/14197](https://github.com/dotnet/corefx/issues/14197) | | ||
| System.Security | New X509Certificate.GetCertHash overload for SHA-2 | New overloads for X509Certificate.GetCertHash and X509Certificate.GetCertHashString accept a hash algorithm identifier to enable callers to get certificate thumbprint values using algorithms other than SHA-1. | [corefx/16493](https://github.com/dotnet/corefx/issues/16493) | | ||
| System.Security | New Span-based cryptography APIs | Span-based API is available for hashing, HMAC, (cryptographic) random number generation, asymmetric signature generation, asymmetric signature processing, and RSA encryption. | | | ||
| System.Security | Rfc2898DeriveBytes performance improvements | By switching to Span-based computations the computations of Rfc2898DeriveBytes (PBKDF2) have sped up about 15% compared to prior releases. Users who have benchmarked an iteration count for an amount of server time can now increase their iteration count accordingly. | | | ||
| System.Security | Added CryptographicOperations class | CryptographicOperations.FixedTimeEquals takes a fixed amount of time to return for any two inputs of the same length, making it suitable for use in cryptographic verification to avoid contributing to timing side-channel information. CryptographicOperations.ZeroMemory is a memory clearing routine which cannot be optimized away via a write-without-subsequent-read optimization. | | | ||
| System.Security | Added static RandomNumberGenerator.Fill | The static RandomNumberGenerator.Fill will fill a Span with random values using the system-preferred CSPRNG, and does not require the caller to manage the lifetime of an IDisposable resource. | | | ||
| System.Security | Added support for RFC 3161 cryptographic timestamps | New API to request, read, validate, and create TimestampToken values as defined by RFC 3161. | | | ||
| System.Security | Unix EnvelopedCms | The EnvelopedCms class is now available on Linux and macOS. | | | ||
| System.Security | Added ECDiffieHellman | Elliptic-Curve Diffie-Hellman (ECDH) is now available on .NET Core via the ECDiffieHellman class family with the same surface area as .NET Framework 4.7. | | | ||
| System.Security | Added RSA-OAEP-SHA2 and RSA-PSS to Unix platforms | Starting with this release the instance provided by RSA.Create() on .NET Core can always encrypt or decrypt with OAEP using a SHA-2 digest, as well as generate or validate signatures using RSA-PSS. | | | ||
|
||
### System.Io | ||
|
||
| Area | Description | Details | Github Issue | | ||
| ---- | ----------- | ------- | ------------ | | ||
| System.IO.Compression | Add new Brotli Compression APIs | Add API to compress and decompress using the Brotli algorithm, a generic-purpose lossless compression algorithm used primarily by web browsers and servers. Operations may be completed using either the stream-based BrotliStream or the high-performance span-based BrotliEncoder/BrotliDecoder classes. | [corefx/25785](https://github.com/dotnet/corefx/issues/25785) | | ||
|
||
### Global Tools | ||
|
||
Global tools let you install a tool from a NuGet feed into your local path. This makes in available in a similar manner to npm -g. Alternatively you can install tools in a specific directory with --tool-path, which is particularly useful in CI scenarios. | ||
NOTE: There were significant changes after Preview 1 to both syntax and structure. | ||
|
||
```bash | ||
dotnet tool install -g awesomeTool | ||
dotnet tool install --install-path specialPath awesomeTool | ||
``` | ||
|
||
Other features available for Global Tools: | ||
|
||
```bash | ||
dotnet tool list | ||
dotnet tool uninstall | ||
dotnet tool update | ||
``` | ||
|
||
### Bundled Tools | ||
|
||
Several common development tools are now included in the .NET Core SDK. | ||
|
||
The following tools are now included in the .NET Core SDK and no longer need to be included in the project file, or installed with `dotnet install`: | ||
|
||
* watch | ||
* dev-certs | ||
* sql-cache | ||
* user-secrets | ||
* ef |