Due for a production release in November, the forthcoming framework emphasizes WebSocket API improvements and updates to the .NET MAUI VS Code extension. Credit: Olivier Le Moal - shutterstock.com Microsoft’s .NET 9 software development framework has reached the release candidate stage with featured enhancements to the WebSocket APIs. Additionally, the .NET MAUI Visual Studio Code extension has an added capability to horizontally align text. The first of two planned release candidates was announced September 11 and can be downloaded from dotnet.microsoft.com. It is expected as a production release in November. A library update adds APIs on ClientWebSocketOptions and WebSocketCreationOptions. These allow developers to opt in to sending WebSocket pings and aborting the connection if the peer does not respond in time. Previously, developers could specify a KeepAliveInterval to keep the connection from remaining idle, but there was no built-in mechanism to enforce the peer response. Also in the library space, the release candidate features ZLibCompressionOptions and BrotliCompressionOptions types to set the algorithm-specific compression level and compression strategy for users who need more fine-tuned settings than the existing CompressionLevel supports. New compression options are designed to allow for expanding options moving forward. In another library change, LogLevel.Trace events logged by HttpClientFactory no longer include header values by default. For .NET MAUI in .NET 9, the focus is to improve product quality, including expanding test coverage, end-to-end scenario testing, and bug fixing. These improvements were emphasized in the seven preview releases of .NET 9. The VS Code extension now features improvements to HorizontalTextAlignment.justify so that it horizontally aligns text in Labels. For ASP.NET Core, the RC bulletin notes that preview 6, from July 15, added initial support for SignalR distributed tracing. RC1 improves signal tracing with the SignalR client having an ActivitySource named Microsoft.AspNetCore.SignalR.Client. Hub invocations now create a client span. Also, hub invocations from the client to the server now support context propagation. Propagating the trace context enables true distributed tracing, Microsoft said. It is possible now to see invocations flow from the client to the server and back. .NET 9 also adds a dotnet workload history command to the .NET SDK. This command shows a history of workload installations or modifications for a given .NET SDK installation. The history includes versions of the workloads installed and when they were installed. The feature is intended to help developers understand the drift in workload installations over time and help with making informed decisions about which workload versions to set for an installation. .NET 9 was preceded by .NET 8, which arrived last November. That release emphasized dynamic memory limits and JSON enhancements. Related content feature 14 great preprocessors for developers who love to code Sometimes it seems like the rules of programming are designed to make coding a chore. Here are 14 ways preprocessors can help make software development fun again. By Peter Wayner Nov 18, 2024 10 mins Development Tools Software Development feature Designing the APIs that accidentally power businesses Well-designed APIs, even those often-neglected internal APIs, make developers more productive and businesses more agile. By Jean Yang Nov 18, 2024 6 mins APIs Software Development news Spin 3.0 supports polyglot development using Wasm components Fermyon’s open source framework for building server-side WebAssembly apps allows developers to compose apps from components created with different languages. By Paul Krill Nov 18, 2024 2 mins Microservices Serverless Computing Development Libraries and Frameworks news Go language evolving for future hardware, AI workloads The Go team is working to adapt Go to large multicore systems, the latest hardware instructions, and the needs of developers of large-scale AI systems. By Paul Krill Nov 15, 2024 3 mins Google Go Generative AI Programming Languages Resources Videos