We are excited to announce that 8.2 release of the Service Fabric runtime has started rolling out to the various Azure regions along with tooling and SDK updates. The updates for .NET SDK, Java SDK and Service Fabric runtimes will be available through Web Platform Installer, NuGet packages and Maven repositories in 7-10 days within all regions.
What is new in Service Fabric 8.2?
Some of the key features are highlighted below:
Expose an API in Cluster Manager to note if upgrade is impactful
Packages and Versions
Service Fabric Runtime
Ubuntu 18 - 8.2.1124.1
Windows - 8.2.1235.9590
Service Fabric for Windows Server
Service Fabric Standalone Installer Package - 8.2.1235.9590
Windows .NET SDK - 5.2.1235
Microsoft.ServiceFabric - 8.2.1235
Reliable Services and Reliable Actors - 8.2.1235
ASP.NET Core Service Fabric integration - 8.2.1235
Java for Linux SDK - 1.0.6
Service Fabric PowerShell and CLI
AzureRM PowerShell Module - 0.3.15
SFCTL - 11.0.0
Current Breaking Changes
Guest Executable and Container Applications: Guest executable and container applications created or upgraded in Service Fabric clusters with runtime versions 7.1+ are incompatible with prior Service Fabric runtime versions (e.g. Service Fabric 7.0). Following scenarios are impacted:
An application with guest executables or containers is created or upgraded in an Service Fabric 7.1+ cluster. The cluster is then downgraded to a previous Service Fabric runtime version (e.g. Service Fabric 7.0). The application fails to activate.
A cluster upgrade from pre-SF 7.1 version to Service Fabric 7.1+ version is in progress. In parallel with the Service Fabric runtime upgrade, an application with guest executables or containers is created or upgraded. The Service Fabric runtime upgrade starts rolling back (due to any reason) to the pre-SF 7.1 version. The application fails to activate. To avoid issues when upgrading from a pre-SF 7.1 runtime version to an Service Fabric 7.1+ runtime version, do not create or upgrade applications with guest executables or containers while the Service Fabric runtime upgrade is in progress.
The simplest mitigation, when possible, is to delete and recreate the application in Service Fabric 7.0.
The other option is to upgrade the application in Service Fabric 7.0 (for example, with a version only change). If the application is stuck in rollback, the rollback has to be first completed before the application can be upgraded again.
.NET Core 2.x Support: .NET Core runtime LTS 2.1 runtime is out of support as of Aug 21, 2021, and .NET Core runtime 2.2 is out of support from Dec 2019. Service Fabric releases after those dates will drop support for Service Fabric apps running with .NET Core 2.1 & .NET Core 2.2 runtimes respectively. Current apps running on .NET Core 2.x runtime will continue to work, but requests for investigations or request for changes will no longer receive support. Service Fabric .NET SDK will take a dependency on .NET runtime 3.x features to support Service Fabric .NET Core apps.
Ubuntu 16.04 Support: Ubuntu 16.04 LTS reached it's 5-year end-of-life window on April 30, 2021. Due to this, Service Fabric runtime has dropped support for 16.04 LTS and we recommend moving your clusters and applications to Ubuntu 18.04 LTS. Current applications running on it will continue to work, but requests for investigations or requests for change will no longer receive support.
ASP.NET Core 1.0 Support: Service Fabric ASP.NET Core packages are built against ASP.NET Core 1.0 binaries which are out of support. Starting Service Fabric 8.2, we will be building Service Fabric ASP.NET Core packages against .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, .NET Framework 4.6.1. As a result, they can be used only to build services targeting .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, >=.NET Framework 4.6.1 respectively. For .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, Service Fabric ASP.NET Core will be taking dependency on Microsoft.AspNetCore.App shared framework, whereas for NetFx target frameworks >=.NET Framework 4.6.1, Service Fabric ASP.NET Core will be taking dependency on ASP.NET Core 2.1 packages. The package Microsoft.ServiceFabric.AspNetCore.WebListener will no longer be shipped, Microsoft.ServiceFabric.AspNetCore.HttpSys package should be used instead.