Skip to content

Releases: dotnet/aspnetcore

1.1.0-preview1

25 Oct 15:52
Compare
Choose a tag to compare
1.1.0-preview1 Pre-release
Pre-release

ASP.NET Core 1.1.0-preview1 Release Notes

We are pleased to announce the release of ASP.NET Core 1.1 Preview 1!

You can find details on the new features and bug fixes in 1.1. Preview 1 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

1.0.1

13 Sep 17:52
Compare
Choose a tag to compare

ASP.NET Core September 2016 Update - 1.0.1 Release Notes

We are pleased to announce the September 2016 updates for ASP.NET Core!

You can find details on the issues fixed in this release for the following components on their corresponding release pages:

Security Advisory

Breaking Changes

  • There are no breaking changes in this release

Known Issues

  • There are no known issues in this release

1.0.0

27 Jun 15:13
Compare
Choose a tag to compare

ASP.NET Core 1.0.0 Release Notes

We are pleased to announce the release of ASP.NET Core 1.0.0!

You can find details on the new features and bug fixes in 1.0.0 for the following components on their corresponding release pages:

We have also released Preview 2 of the ASP.NET Core Tooling for Visual Studio and the following SDK tools:

Azure App Service is ready to support ASP.NET Core 1.0 apps. More information for running ASP.NET Core apps on Azure App Service is available at https://blogs.msdn.microsoft.com/appserviceteam/2016/06/27/azure-app-service-and-asp-net-core. If you don’t have an Azure account you can still try an ASP.NET Core 1.0 sample on Azure App Service free of charge and commitment with the trial offer at https://tryappservice.azure.com/?appservice=web.

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • EF Core: Some queries significantly slower when executed async

    Some queries, especially those with a number of includes, show a significant slow down when executed asynchronously. The workaround is to execute them synchronously (i.e. replace ToListAsync() etc. with ToList() etc.).

    For more details, see dotnet/efcore#5816

  • EF Core: Pre-RTM migrations need maxLength added to string columns

    In RC2, the column definition in a migration looked like table.Column<string>(nullable: true) and the length of the column was looked up in some metadata we store in the code behind the migration. In RTM, the length is now included in the scaffolded code table.Column<string>(maxLength: 450, nullable: true).

    Any existing migrations that were scaffolded prior to using RTM will not have the maxLength argument specified. This means that in some cases the maximum length supported by the database will be used (nvarchar(max) on SQL Server).

    Option 1: Re-Scaffold Migrations

    The easiest option is to have EF re-scaffold migrations in the correct format.

    1. Delete the Migrations folder from your project (including the model snapshot and all the migrations it contains). If you have customized the scaffolded migrations, be sure to save that code elsewhere before deleting the files.

    2. Scaffold a new migration (Add-Migration InitialSchema in Visual Studio, dotnet ef migrations add InitialSchema from cmd line). You can call the migration whatever you want, InitialSchema is just a suggestion.

      This migration represents the same operations that were previously handled by the migrations you deleted in Step 1. The difference is that the code is in the format expected by RTM.

    3. For any existing databases, where the migrations deleted in Step 1 were already applied, add a row to the __EFMigrationsHistory table to indicate that the operations in the new migration have already been applied.

      You will need to update the following script to specify the full name of the migration that was generated. You can copy this from the filename of the scaffolded migration - it will be something like 20160630191522_InitialSchema.

      INSERT INTO [dbo].[__EFMigrationsHistory] ([MigrationId], [ProductVersion])
      VALUES ('<migration name with timestamp>', '1.0.0-rtm-21431');
      
    4. Optionally, you can delete the rows from __EFMigrationsHistory that represent the migrations that were removed in Step 1. This isn't required though, as EF will just ignore excess rows in this table.

    Option 2: Manually Edit Existing Migrations

    Another option is to manually edit existing migrations to include the maxLength specification. By convention, 450 is the maximum length used for keys, foreign keys, and indexed columns. If you have explicitly configured a length in the model, then you should use that length instead.

    ASP.NET Identity

    This change impacts projects that use ASP.NET Identity and were created from a pre-RTM project template. The project template includes a migration used to create the database.

    We would recommend using Option 1 above to recreate this migration. If you chose to manually edit the migration instead, you need to specify a maximum length of 256 for the following columns.

    • AspNetRoles
      • Name
      • NormalizedName
    • AspNetUsers
      • Email
      • NormalizedEmail
      • NormalizedUserName
      • UserName

    Failure to make this change will result in the following exception when the initial migration is applied to a database.

    System.Data.SqlClient.SqlException (0x80131904): Column 'NormalizedName' in table 'AspNetRoles' is of a type that is invalid for use as a key column in an index.

  • EF Core: Commands on UWP projects require manually adding binding redirects

    Attempting to run EF commands on Universal Windows Platform (UWP) projects results in the following error:

    System.IO.FileLoadException: Could not load file or assembly 'System.IO.FileSystem.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

    Workaround

    Manually add binding redirects to the UWP project. Create a file named "App.config" in the project root folder and add redirects to the correct assembly versions.

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.IO.FileSystem.Primitives"
                              publicKeyToken="b03f5f7f11d50a3a"
                              culture="neutral" />
            <bindingRedirect oldVersion="4.0.0.0"
                             newVersion="4.0.1.0"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="System.Threading.Overlapped"
                              publicKeyToken="b03f5f7f11d50a3a"
                              culture="neutral" />
            <bindingRedirect oldVersion="4.0.0.0"
                             newVersion="4.0.1.0"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

    For more details, see dotnet/efcore#5471

RC2

16 May 17:39
Compare
Choose a tag to compare
RC2 Pre-release
Pre-release

ASP.NET Core RC2 Release Notes

We are pleased to announce the release of ASP.NET Core RC2!

Get started with ASP.NET Core RC2

You can find details on the new features and bug fixes in RC2 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo

  • EF Core: Error Installing into .NET Core Class Library

    Attempting to install/restore EF Core into a .NET Core class library results in the following errors.

    The dependency Remotion.Linq 2.0.2 does not support framework .NETStandard,Version=v1.5.

    and/or

    The dependency Ix-Async 1.2.5 does not support framework .NETStandard,Version=v1.5.

    Workaround

    You can workaround this issue by updating the frameworks section of project.json to include portable-net452+win81 in the imports section.

      "frameworks": {
        "netstandard1.5": {
          "imports": [
            "dnxcore50",
            "portable-net452+win81"
          ]
        }
      }
    

    For more details, see dotnet/efcore#5176.

  • EF Core: Performance Issue Adding a Large Number of Entities

    In RC2 the time taken to add large number of entities to the context is non-linear. The slow down becomes impactful around 2000-5000 entities depending on the complexity of the model.

    Workaround

    To work around this issue, you can break the entities up into a series of batches and add each batch using a fresh context instance.

    For more details, see dotnet/efcore#4831

  • EF Core: Scaffold-DbContext requires additional quoting in .NET Core/ASP.NET Core projects

    When using the Scaffold-DbContext command in Package Manager Console for ASP.NET Core projects, you may encounter an error similar to the following.

    The term 'localdb' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

    Workaround

    The workaround is to double quote the connection string by adding single quotes inside the double quotes.

    PM> Scaffold-DbContext "'<connection string>'" <database provider>
    

    For more details, see dotnet/efcore#5376.

  • EF Core: LINQ Provider Limitations

    LINQ providers take time to build, and EF Core is no exception. The LINQ provider in RC2 is greatly improved over RC1, both in terms of performance and the queries it can successfully execute. There are still a number of queries that will either fail, or be partially evaluated in memory. We will continue to fix bugs, and increase the number of queries that can be evaluated thru RTM, though the LINQ provider will not be complete at this stage and improvements will continue for some time to come.

  • EF Core: Model Building Performance Regression

    RC2 contains a performance regression that causes model building to be ~2x slower than it was in RC1. For most applications, this slow down will not be noticeable. This issue is fixed in our current code base and performance will be faster than RC1 in the next release.

  • HTTPS requests appear as HTTP in Azure Web Sites

    Symptoms:

    • HTTPS requests have HttpContext.Reqeuest.Scheme set to "http"
    • Generated redirects and links use "http://" instead of "https://"
    • OpenIdConnect and OAuth authentication will fail because the generated redirect url does not match the pre-registered address
    • [RequireHttps] causes infinite redirects

    Background:
    When AspNetCoreModule forwards requests to the application it does so over HTTP and adds X-Forwarded-For and X-Forwarded-Proto headers to preserve the original remote IP and scheme. In Azure Web Sites there is a duplicate X-Forwarded-For value. The duplicate value is a problem because the middleware that reads the forwarded headers requires the same number of entries in X-Forwarded-For and X-Forwarded-Proto for security reasons.

    Workaround:
    Add the following in Startup.ConfgiureServices

                services.Configure<ForwardedHeadersOptions>(options =>
                {
                  options.ForwardedHeaders = ForwardedHeaders.XForwardedProto
                });
    

    This ignores the X-Forwarded-For header and allows X-Forwarded-Proto to be applied correctly.

    RE: aspnet/IISIntegration#140 (comment)

  • EF Core: Package Manager Console Commands Require PowerShell 5

    EF Core commands from Package Manager Console may fail with one of the following errors:

    The expression after '&' in a pipeline element produced an object that was not valid. It must result in a command name, a script block, or a CommandInfo object.

    or

    Where-Object : Cannot bind parameter 'FilterScript'. Cannot convert the "Name" value of type "System.String"

    or

    Join-Path : Cannot bind argument to parameter 'Path' because it is null.

    Workaround

    To work around this issue upgrade to PowerShell 5.0 - https://www.microsoft.com/en-us/download/details.aspx?id=50395.

    For more details, see dotnet/efcore#5327

  • EF Core: Installing tools in a UWP class library causes the Windows App Cert Kit to fail

    If the UWP class library contains a reference to EF Core tools ("Microsoft.EntityFrameworkCore.Tools"), the Windows App Cert Kit will fail the AppContainerCheck test on any UWP apps that depend on this UWP class library.

    Workarounds:

    • Remove Microsoft.EntityFrameworkCore.Tools before deploying the UWP app.
    • Add Microsoft.EntityFrameworkCore.Tools to the UWP application project instead of the class library project.

    See dotnet/efcore#5069

  • Need to update log location when deploying to an Azure App Service web app

    Workaround:

    Update web.config to remove the log location and it will get updated correctly when published.

RC1

18 Nov 15:31
Compare
Choose a tag to compare
RC1 Pre-release
Pre-release

ASP.NET 5 RC1 Release Notes

We are pleased to announce the release of ASP.NET 5 RC1!

Please refer to our documentation for instructions on installing ASP.NET 5 beta8 for Windows, Mac, and Linux

You can find details on the new features and bug fixes in rc1 for the following components on their corresponding release pages:

To find out what's new in .NET Core in this release please refer to the .NET Core RC release notes.

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo
  • No .NET Core on CentOS This release does not support running on .NET Core on CentOS or derivatives. The issues with running on CentOS will be addressed in a future release.
  • Unable to build for full .NET Framework using the .NET Core based DNX on OS X and Linux You cannot build DNX projects that target the full .NET Framework (ex dnx451, dnx46) using the .NET Core based DNX on OS X and Linux. To work around this issue remove the corresponding targets from the frameworks section in project.json.
  • Applications hosted behind IIS uses in memory keys for data protection When hosted a website behind IIS the Data Protection stack does not find a suitable place to store the keyring, and uses in memory keys. This means that when your application restarts all forms authentication tokens will be invalid and users will have to login again. In addition any data you protected will no longer be able to be unprotected. Please see aspnet/Announcements#110 for options for dealing with this issue.
  • On OS X and Linux keys are stored unencrypted under the user profile path You should ensure permissions for the ~/.aspnet/DataProtection-Keys directory are limited to the user account your application runs as. See aspnet/Announcements#111 for more details.

beta8

15 Oct 17:29
Compare
Choose a tag to compare
beta8 Pre-release
Pre-release

ASP.NET 5 Beta8 Release Notes

We are pleased to announce the release of ASP.NET 5 beta8!

Please refer to our documentation for instructions on installing ASP.NET 5 beta8 for Windows, Mac, and Linux

Documentation and samples for ASP.NET 5 can be found at http://docs.asp.net.
You can find details on the new features and bug fixes in beta8 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo
  • No .NET Core on CentOS This release does not support running on .NET Core on CentOS or derivatives. The issues with running on CentOS will be addressed in a future release.
  • Unable to build for full .NET Framework using the .NET Core based DNX on OS X and Linux You cannot build DNX projects that target the full .NET Framework (ex dnx451, dnx46) using the .NET Core based DNX on OS X and Linux. To work around this issue remove the corresponding targets from the frameworks section in project.json.

beta7

02 Sep 22:23
Compare
Choose a tag to compare
beta7 Pre-release
Pre-release

ASP.NET 5 Beta7 Release Notes

We are pleased to announce the release of ASP.NET 5 beta7! ASP.NET 5 beta7 ships publicly as NuGet packages on https://nuget.org and includes a tooling update for Visual Studio 2015 RTM.

To use ASP.NET 5 beta7 with Visual Studio 2015, you will need to download and install the beta7 version (14.0.60831.0) of ASP.NET and Web Tools 2015.

You can also try out ASP.NET 5 with Visual Studio Code on Windows, Mac and Linux!

You can find documentation and samples for ASP.NET 5 at http://docs.asp.net.

You can find details on the new features and bug fixes in beta7 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo
  • Limitations of .NET Core on OS X and Linux Support for .NET Core on OS X and Linux is still in early preview. Known limitations include:
    • Cryptography: Some of the System.Security.Cryptography.X509Certificates library is not yet implemented.
    • Networking: Most of the networking libraries are not yet available. System.Net.Primitives and System.Net.NameResolution are only partially functional and System.Net.Http works only for common success scenarios.
    • I/O: Paths up to the system-supported max path length are allowed, except for a few situations related to loading applications, assemblies, and resources.
    • Globalization: Culture is assumed to be invariant and string operations related to sorting and searching assume ASCII.
    • Data: SqlClient is not currently functional.
  • Unable to build for full .NET Framework using the .NET Core based DNX on OS X and Linux You cannot build DNX projects that target the full .NET Framework (ex dnx451, dnx46) using the .NET Core based DNX on OS X and Linux. To work around this issue remove the corresponding targets from the frameworks section in project.json.
  • "Unable to load DLL 'api-ms-win-core-libraryloader-l1-1-0'" error when using the EF7 provider for SQLite on .NET Core on OS X and Linux This is a known issue that will be addressed in a future release.

beta6

28 Jul 19:58
Compare
Choose a tag to compare
beta6 Pre-release
Pre-release

ASP.NET 5 Beta6 Release Notes

We are please to announce the release of ASP.NET 5 beta6! ASP.NET 5 beta6 ships publicly as NuGet packages on https://nuget.org and includes a tooling update for Visual Studio 2015 RTM.

Also try out ASP.NET 5 with Visual Studio Code on Windows, Mac and Linux!

You can find documentation and samples for ASP.NET 5 at http://docs.asp.net.

You can find details on the new features and bug fixes in beta6 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo
  • "The current runtime target framework is not compatible" error when running on IIS or IIS Express To target dnx46 or dnx452 when running on IIS or IIS Express set the DNX_IIS_RUNTIME_FRAMEWORK environment variable to the target framework that you want to use (dnx46 or dnx452). You can do this from within Visual Studio in the Project Properties page for the web application, on the Debug tab. Just choose the IIS Express profile and add the environment variable.

beta5

30 Jun 21:09
Compare
Choose a tag to compare
beta5 Pre-release
Pre-release

ASP.NET 5 Beta5 Release Notes

We are please to announce the release of ASP.NET 5 beta5! ASP.NET 5 beta5 ships publicly as NuGet packages on https://nuget.org and is supported by Visual Studio 2015.

Also try out ASP.NET 5 with Visual Studio Code on Windows, Mac and Linux!

You can find documentation and samples for ASP.NET 5 at http://docs.asp.net.

You can find details on the new features and bug fixes in beta5 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo for issues with the ASP.NET 5 and DNX tooling in Visual Studio 2015.
  • Packages not resolved by Ctrl-. after updating to beta5 Not all beta5 packages are correctly indexed by the Ctrl-. feature in Visual Studio 2015 RC due to package format changes. This issue will be resolved in a future tooling release.
  • Removed ActivateAttribute causes Razor editor errors When using the Razor editor in Visual Studio 2015 RC you may see build errors due to the removal of the ActivateAttribute. You can work around this issue by adding a stub ActivateAttribute class to your project.
  • Kestrel does not shutdown gracefully When using Ctrl-C to shutdown kestrel it does not shutdown cleanly. To work around this issue use Ctrl-Z to send the process to the background and then kill the process.
  • Restoring packages occasionally fails on Mono due to request timeouts Package restore sometimes fails on Mono due to request timeouts. This issue is being investigated and will be resolved in a future release.
  • **EF reverse engineering does not work on Core CLR** The dnx . ef RevEng command will fail with the following error if you attempt to use it when running under Core CLR. This issue occurs because Beta5 does not include an assembly for dnxcore50 for the EntityFramework.SqlServer.Design package, so even though dnu restore may appear to work, it is actually missing.
System.IO.FileNotFoundException: Could not load file or assembly ‘EntityFramework.SqlServer.Design’

The solution to this issue if to run the command under full .NET. You can swap to full .NET by running the following command.

dnvm use 1.0.0-beta5 –r clr

beta4

01 May 04:43
Compare
Choose a tag to compare
beta4 Pre-release
Pre-release

ASP.NET 5 Beta4 Release Notes

We are please to announce the release of ASP.NET 5 beta4! ASP.NET 5 beta4 ships publicly as NuGet packages on https://nuget.org and is included with Visual Studio 2015.

Try out ASP.NET 5 with Visual Studio Code on Windows, Mac and Linux!

You can find details on the new features and bug fixes in beta4 for the following components on their corresponding release pages:

Breaking Changes

  • For a list of the breaking changes for this release please refer to the issues in the new Announcements repo.

Known Issues

  • Tooling known issues Please see the Known Issues list in the Tooling repo for issues with the ASP.NET 5 and DNX tooling in Visual Studio 2015.
  • DNVM uses wrong DNX feed by default The .NET Version Manager (DNVM) that ships with Visual Studio 2015 RC is pointing to the incorrect DNX feed. To work around this issue and point DNVM at the official NuGet feed on https://www.nuget.org set the DNX_FEED environment variable to https://www.nuget.org/api/v2
  • NuGet v3 feed not supported ASP.NET 5 and DNX do not currently support the NuGet v3 feed (https://api.nuget.org/v3/index.json) and if this feed is enabled in your package sources then package restore may fail. To work around this issue disable the NuGet v3 feed from your package sources and use the NuGet v2 feed (https://www.nuget.org/api/v2) instead.
  • DNX pins a version of the .NET Compiler Platform ("Roslyn") that does not match the official rc2 version The beta4 version of DNX contains and loads an older version of the .NET Compiler Platform ("Roslyn") assemblies that are not fully compatible with the publicly released rc2 version. This issue will be addressed in a future release.
  • Add Service Reference is not yet supported in ASP.NET 5 applications The most common way to communicate with an existing WCF service from an app is to use “Add Service Reference” to generate client code you can call. However, this functionality is not yet supported for ASP.NET 5 applications. As a workaround you can create a temporary Windows 8.1 Universal app, use Add Service Reference there, and manually copy the generated references.cs file into the ASP.NET 5 application.
  • Package restore does not fully resolve WCF dependencies If you create a new ASP.NET 5 application and add WCF package references, the app will not compile because several other package references are missing. This is due to a bug in the way package dependencies are resolved. You can work around the issue by manually editing project.json and adding the missing dependencies:
    • System.Runtime": "4.0.20-beta-22816",
    • System.Runtime.Extensions": "4.0.10-beta-22816",
    • System.Diagnostics.Debug": "4.0.10-beta-22816",
    • System.Text.Encoding": "4.0.10-beta-22816",
    • System.Collections.Specialized": "4.0.0-beta-22816",
    • System.Diagnostics.Contracts": "4.0.0-beta-22816",
    • System.Linq.Queryable": "4.0.0-beta-22816",
    • System.Net.Http": "4.0.0-beta-22816",
    • System.Net.NameResolution": "4.0.0-beta-22816",
    • System.Net.Security": "4.0.0-beta-22816",
    • System.Net.WebHeaderCollection": "4.0.0-beta-22816",
    • System.Reflection.DispatchProxy": "4.0.0-beta-22816",
    • System.Runtime.Serialization.Xml": "4.0.10-beta-22816",
    • System.Runtime.Serialization.Primitives": "4.0.10-beta-22816",
    • System.Security.Cryptography.Hashing": "4.0.0-beta-22816",
    • System.Xml.XmlDocument": "4.0.0-beta-22816",
    • System.ServiceModel.Http": "4.0.10-beta-22816",
    • System.ServiceModel.NetTcp": "4.0.0-beta-22816",
    • System.ServiceModel.Primitives": "4.0.0-beta-22816"