.NET Digest #4
Welcome to the fourth part of our digest on news and events in the .NET world! We’ve got a lot of updates this time. The PVS-Studio team is happy to present you a selection of the most exciting and useful content. Let’s get started!
We’d love to hear your thoughts and ideas! :)
Feel free to send us some interesting findings using our feedback form!
You may have noticed that there used to be one month between the news digests, but this time it’s been two. Why? We’ve decided to post the news digest less frequently to make it more informative and less cloying for readers.
What’s in the digest today: .NET 9 RC 1 and 2, free JetBrains Rider, Performance Improvements in .NET 9, and many great articles.
Top news
.NET 9 Release Candidate 1 and .NET 9 Release Candidate 2
Microsoft has presented two versions of .NET 9. This time around, it’s not a preview but a release candidate. The next step is a full-fledged .NET release. We expect it to happen during the .NET Conf 2024 days, which is November 12–14. As always, developers have made enhancements to the SDK, libraries, ASP.NET Core, and.NET MAUI. Among the most interesting things, they’ve added a history of workload changes.
I’d also like to mention that we at PVS-Studio are already working on the support of .NET 9 and C# 13. We’ll add it to PVS-Studio 7.34 in December. Follow our blogs or subscribe to our newsletter to keep up to date.
WebStorm and Rider Are Now Free for Non-Commercial Use
Rider and WebStorm are now free for non-commercial use. JetBrains aims to make their product available to a wider audience. I think a lot of us have been waiting for this. Now Rider is free for learning, open-source project development, and hobby use.
Performance Improvements in .NET 9
Every year Steven Toub writes a GIANT article about performance improvements in the new .NET. Of course, this year was no exception. Even just listing the parts of .NET where enhancements have been made is difficult. So, I encourage you to read the article to keep abreast of the changes.
Articles
Modernize your UWP app with preview UWP support for .NET 9 and Native AOT
Microsoft has introduced a preview version of UWP for .NET 9. This will enable existing UWP developers to modernize their apps with the latest .NET and Native AOT. However, Microsoft reminds us that this is just a way to utilize new technology while you consider moving to the more modern Windows App SDK and WinUI 3.
Join the .NET Smart Components ecosystem
.NET Smart Components, a set of out-of-the-box UI components for adding AI-based features, have been introduced. You can use them for various scenarios, like auto-filling forms from clipboard data, smart text completions, and semantic search.
Getting started with testing and .NET Aspire
In this article, Aaron Powell demonstrates with examples how to start testing your distributed applications in .NET Aspire.
Easier localization with the new resource (.resx) manager
Microsoft has updated the resource manager in Visual Studio. Now it’ll be easier to manage resources when creating multi-language applications. For more details, see the article about all the updates.
Engineering the Scalable Vector Extension in .NET
In this large article, Kunal Pathak talks about the progress of adding Scalable Vector Extension (SVE). This greatly enhances performance and enables developers to leverage the scalable vector processing capabilities using SVE .NET API.
What’s new in System.Text.Json in .NET 9
The closer we get to the .NET 9 release, the more articles appear on the topic of new .NET features, frameworks, and libraries. Of course, System.Text.Json has been updated as well. The article explains in detail all the enhancements and new features in System.Text.Json.
Working with tar files in .NET 8
In this article, Andrew Lock describes how to perform some basic tar operations and how to use the support built into .NET instead.
Working with the result pattern
Andrew Lock has written a series of articles about working with the “Result” pattern to control execution flow rather than throw exceptions:
- Replacing Exceptions-as-flow-control with the result pattern
- Safety and simplicity with LINQ
- Adding more extensions to Result<T>
- Is the result pattern worth it?
The new C# version will be released soon and PVS-Studio has prepared an overview of the new features. This article breaks down partial properties and indexers, collection params, the new Lock class, initializing an object by index “from the end”, and more.
What’s new in Unity 6? Overview of release updates and source code issues
Have you noticed that the release version of Unity 6 is out? Our team has, so we decided to give you an overview of the improvements and updates in this article. Of course, we’ve analyzed the source code using PVS-Studio to search for errors in the open-source part of the engine.
The last source code: digging into bugs in projects after indie game studio shuts down
It’s a fairly rare event when a game studio shuts down and opens the source code of their projects. This is exactly the case. In this article, we’ve used the static analyzer to review the source code of the Starlight indie game by StarlightLabsCo. Mind that this was done more out of interest than for real bug detecting, it’s a small indie game after all.
WolvenKit code analysis: things to know before modding Cyberpunk 2077
We’ve analyzed the source code of the open-source WolvenKit project in this article. This is a quite popular tool for modding Cyberpunk 2077.
News
Going native: The future of the Bitwarden mobile app
Bitwarden developers have announced their decision to abandon Xamarin and .NET MAUI. From now on, they’ll use Swift and Kotlin to develop native apps for iOS and Android. The main reason for this is that the application on Xamarin doesn’t feel native to the user.
By the way, we’ve once checked the Bitwarden source code that’s available on GitHub. You can find the results of the check in the “Are you sure your passwords protected? The Bitwarden project check” article.
2024 Stack Overflow Developer Survey
Stack Overflow has released the results of their annual survey. 65,000 developers answered questions about code writing, technologies, AI, and their work. You may find it interesting. According to the results, C# takes the eighth place in the rating.
Does anyone use .NET/C# in any mission critical software?
There’s an interesting Reddit discussion on using .NET to develop mission-critical applications.
.NET Upgrade Assistant Now Supports Upgrading to Centralized Package Mangement
.NET Upgrade Assistant has been updated, and this article is about that. The key innovation is the newly added support for Central Package Management (CPM).
Support for SLNX Solution Files
Rider 2024.3 EAP has introduced initial support for the new slnx solution file format. This makes the solution file more usable for version control systems and for creating it manually. The format is XML-based. Note that this is still a pre-release version.
Releases
PVS-Studio 7.33: critical errors, custom annotations in C#, SN-DBS support, and much more
The new PVS-Studio 7.33 has been released. A custom annotation mechanism has been introduced for the C# analyzer. The mechanism enables you to inform the analyzer about the behavior of methods, constructors, and properties. For now, you can only set information for taint analysis. You can read more about this in the article. In the future, we’ll be extending the capabilities of custom C# annotations so that their scope isn’t limited to the taint analysis.
Finally, there are new diagnostic rules for C#: V3204, V3205, V3206, V4006.
You can visit this page to get a trial key and try the latest version of the analyzer.
Rider 2024.3 Early Access Program Is Here!
The last early access program of the year for JetBrains Rider has started. The Rider 2024.3 EAP release adds the C++ hot reload support for Live ++ and some other code formatting enhancements.
ReSharper 2024.3 Starts its Early Access Program!
ReSharper 2024.3 EAP mainly contains improvements for code formatting, naming style, and a few tweaks for supporting C++.
Thank you for reading! See you soon! Feel free to share your thoughts and findings with us!