.NET 8, the latest installment in Microsoft’s ongoing .NET series of releases, is set to drop on November 8, 2023, and I seriously can’t wait! .NET 8 is going to introduce a bunch of enhancements designed to supercharge our apps and make everything run smoother than ever.
So, you’re wondering why exactly I’m so hyped.
Microsoft detailed all of the technical changes for .NET 8 in a super-long article, but I wanted to break down the highlights, especially if you’re migrating applications from .NET Framework.
- Long Term Support
- What’s New
- NuGet Package Security
- Performance Improvements
- Other Highlights
- What’s Deprecated
- Migrating to .NET 8
I’ll also talk about how these changes could impact your development.
.NET 8 is Long Term Support
One significant point to kick things off is that .NET 8 is a Long Term Support (LTS) release. This means that .NET 8 will be supported for the next 3 years, until November 11, 2026.
As you may have seen, with the release of .NET 5 Microsoft established a new release cadence with all future releases, with odd-numbered versions considered STS releases with 18 months of support, and even-numbered versions as LTS, with a full three years of support.
This means that .NET8 is a great candidate to select for first-time .NET5+ migrations from .NET Framework.
So, what’s new?
As I mentioned earlier, Microsoft has an extensive list of changes, and sifting through this might feel like a bit of a chore for those not directly involved in the field. Still, being in the know about what’s coming up can be beneficial for anyone, no matter how closely you’re tied to .NET development. So let’s take a look at some of the key changes.
NuGet Package Security
Some pretty important changes have been made to NuGet Package Security. After you finish the upgrade, you’ll start receiving notifications about packages that might have security issues. These warnings will be visible not only in Visual Studio but also on your build servers, so you’ll have a solid overview of package security throughout your development process.
While it is essential to stay aware of vulnerabilities within your software, not all of them should be something to worry about. Some may represent serious issues that have the potential to compromise the overall security of your application. On the other hand, there are vulnerabilities categorized as potential threats that may be challenging to exploit.
Ignoring these vulnerabilities or blindly upgrading isn’t the right option. For more information on vulnerabilities, check out our article What are NuGet Vulnerabilities and How to Manage Them
Big Performance Improvements
This one’s pretty tricky to articulate without getting in the weeds. Microsoft published another really long article detailing these performance improvements, but suffice it to say that “just about everything in .NET 8 is faster”.
And by “everything”, I mean the .NET team improved everything from string formatting to Parallel Threads to HTTP processing.
Aside from the NuGet package security, most of the changes are pretty technical.
⚙ DOTNET Updates: New feature for the dotnet publish and dotnet pack commands.
⚙ System.Text.Json Serialization:
System.Text.Json serialization and deserialization functionality improved in various ways.
⚙ Random Generation Methods: Introduction of new methods, including
GetItems<T>() for item selection and
Shuffle<T>() for element order randomization within a span.
⚙ Native AoT: .NET 8 introduces macOS AOT improvements for up to 50% space reduction.
⚙ .NET Container Images: Changes introduced to how .NET container images work.
What’s Deprecated in .NET 8?
Microsoft hasn’t deprecated any of the .NET5+ technologies in .NET 8. However, there haven’t been any developments in the following .NET Framework technologies, and they all still remain deprecated:
⚠ ASP.NET Webforms
⚠ Windows Communication Foundation
⚠ Windows Workflow Foundation
Technically, yes, ASP.NET Web Forms applications will remain functional, regardless of new .NET releases. And yes, WCF will likely work until 2030 thanks to .NET Framework being tied to the operating system.
But that doesn’t mean you have to stick to the past with the future of the new .NET series. Sure, Migrating from .NET Framework to .NET 8 won’t be easy, but it’s totally doable if you gear up properly. There are also great alternatives to the three deprecated frameworks above.
Teams could, for example:
💡 Migrate Web Forms to Microservices
💡 Maintain them with a CI/CD pipeline
Thanks to the LTS of .NET 8, it’s a good time to migrate and rely on that support (compared to last year’s .NET 7 and next year’s anticipated .NET 9).
Migrating to .NET 8
Microsoft will always work to improve .NET; so, if you’re still working in .NET Framework or .NET Core, now is the time to start thinking about the future.
It’s a trivial matter if you’ve already upgraded to .NET 7 last year. Early adopters can migrate easily. If you’re coming from Framework, start preparing with these simple steps:
- Take an inventory of your existing application inventory.
- Determine if any of your applications are using deprecated libraries
- Prepare a rough migration schedule. .NET Framework is tied to the operating system, so it still has a shelf-life.
- Increase your release velocity – migration is extremely difficult for those who rarely update.
Migrating can be a daunting task, and it’s more than just an upgrade. If you’re thinking about making the move, don’t forget to sign up for our free .NET 8 Migration guide today!