We are excited to announce that 8.0 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.0?
This release is loaded with key features and improvements. Some of the key features are highlighted below:
Support for .NET 5 for Windows is now generally available
Stateless NodeTypes are now generally available
Ability to move stateless service instances
Ability to add parameterized DefaultLoad in the application manifest
For singleton replica upgrades - ability to have some of the cluster level settings to be defined at an application level
Ability for smart placement based on node tags
Ability to define percentage threshold of unhealthy nodes that influence cluster health
Ability to query top loaded services
Ability to add a new interval for new error codes
Capability to mark service instance as completed
Support for wave-based deployment model for automatic upgrades
Added readiness probe for containerized applications
Enable UseSeparateSecondaryMoveCost to true by default
Fixed StateManager to release the reference as soon as safe to release
Block Central Secret Service removal while storing user secrets
Current Breaking Changes
Service Fabric 7.2 and higher runtime drops support for .NET Core Service Fabric apps running with .NET Core 2.2 runtime. .NET Core runtime 2.2 is out of support from Dec 2019. Service Fabric runtime will not install .NET Core runtime 2.2 as part of its dependency. Customers should upgrade their .NET 2.2 runtime SF apps to the next .NET Core LTS version 3.1.
Guest executable and container applications created or upgraded in SF clusters with runtime versions 7.1+ are incompatible with prior SF runtime versions (e.g. SF 7.0). Following scenarios are impacted:
An application with guest executables or containers is created or upgraded in an SF 7.1+ cluster. The cluster is then downgraded to a previous SF runtime version (e.g. SF 7.0). The application fails to activate.
A cluster upgrade from pre-SF 7.1 version to SF 7.1+ version is in progress. In parallel with the SF runtime upgrade, an application with guest executables or containers is created or upgraded. The SF 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 SF 7.1+ runtime version, do not create or upgrade applications with guest executables or containers while the SF runtime upgrade is in progress.
The simplest mitigation, when possible, is to delete and recreate the application in SF 7.0.
The other option is to upgrade the application in SF 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.
Upcoming Breaking Changes
.NET Core runtime LTS 2.1 runtime will go out of support from Aug 21, 2021. Service Fabric releases after that date will drop support for Service Fabric apps running with .NET Core 2.1 runtime. Service Fabric .NET SDK will take a dependency on .Net runtime 3.* features to support Service Fabric .NET Core apps. This has no impact on Service Fabric .NET Framework SDK.
Support for Windows Server 2016 and Windows 10 Server 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to Windows Server 2019.