What's New for developers in Windows 10 build 19041
Article
This is a collection of articles providing information and guidance on features added in Windows 10 build 19041 (also known as Version 2004). For a full list of new namespaces added to the Windows SDK, see the Windows 10 build 19041 API changes. For more information on the highlighted features of Windows 10, see What's cool in Windows 10.
We've documented the process of porting a C# application to C++/WinRT. Porting the Clipboard sample to C++/WinRT from C# is contextual, and based on a particular real-world porting experience. Its companion topic Move to C++/WinRT from C# is a more encyclopedic look at the technical details and steps involved in porting.
We published 21 new DirectXMath topics, covering two matrix structures and their member functions and free functions. The XMFLOAT3X4 structure is an example.
The windows.graphics.holographic.interop.h header has been added, with 17 Win32 APIs. The APIs are for interoperating between Win32 and Windows Runtime. While the APIs were added in Windows 10 build 18362, the header is new for build 19041.
Windows Sockets
Enhancements have been made to the Windows Sockets 2 SPI content. An example of one of the many topics we improved and augmented is the LPWSPEVENTSELECT callback function topic.
The Windows development environment docs provide resources for using Windows to develop across a variety of platforms, to accomplish whatever development goals you might have.
Python on Windows
The Python on Windows section provides information for developers new to the Python language, as well as devs looking to optimize their Python development with other tools available on Windows. Learn how to set up your Python environment for web development and database interaction.
Our guide to changing your dev environment is geared towards users transitioning their development platform from Mac to Windows, and provides mappings for comparable shortcuts and development utilities.
Windows Terminal
A modern terminal application for users of command line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcut key bindings.
WSL 2
A new version of the Windows Subsystem for Linux (WSL) is now available. WSL 2 features reconfigured architecture to run an actual Linux kernel on Windows, increasing file system performance and adding full system call compatibility. This new architecture changes how Linux binaries interact with Windows and your computer's hardware, but still provides the same user experience as in the previous version of WSL. Each individual Linux distribution can run as a WSL1 or WSL2 distro, can be run side by side, and can be changed at any time. Install WSL 2 to get started. Explore further information on changes between WSL 1 and WSL 2. Check out the Frequently Asked Questions about WSL 2.
MSIX, packaging, and deployment
Feature
Description
MSIX
Significant updates to the MSIX packaging format have been made since the last release of the Windows 10 SDK.
You can now enforce package integrity on the contents of MSIX packages by using the uap10:PackageIntegrity element in your package manifest. You can also enforce package integrity when you create MSIX packages via the MSIX Packaging Tool.
Package with external location
You can grant package identity by building and registering a package with external location (see Grant package identity by packaging with external location). This option is useful if you're unable to adopt MSIX for installing your desktop app, and still use Windows extensibility features that require package identity.
Hosted apps
You can now create hosted apps. Hosted apps share the same executable and definition as a parent host app, but they look and behave like a separate app on the system. Hosted apps are useful for scenarios where you want a component (such as an executable file or a script file) to behave like a standalone Windows app, but the component requires a host process in order to execute. A hosted app can have its own start tile, identity, and deep integration with Windows features such as background tasks, notifications, tiles, and share targets.
Windows UI Library (WinUI)
Feature
Description
WinUI 2.4
WinUI 2.4 is the latest public release of the Windows UI Library. All versions of WinUI provide a wide assortment of official UI controls for your Windows apps, and are supplied as a NuGet package independent of the Windows SDK, so they work on earlier versions of Windows 10. Follow these instructions to install WinUI.
RadialGradientBrush
New in WinUI 2.4, a RadialGradientBrush is drawn within an ellipse defined by Center, RadiusX, and RadiusY properties. Colors for the gradient start at the center of the ellipse and end at the radius.
ProgressRing
New in WinUI 2.4, the ProgressRing control is used for modal interactions where the user is blocked until the ProgressRing disappears. Use this control if an operation requires that most interaction with the app be suspended until the operation is complete.
TabView
Updates to the TabView control provide you with more control over how to render tabs. You can set the width of unselected tabs and show just an icon to save screen space, and can also hide the close button on unselected tabs until the user hovers over the tab.
The NavigationView control now supports hierarchical navigation and includes Left, Top, and LeftCompact display modes. A hierarchical NavigationView is useful for displaying categories of pages, identifying pages with related child-pages, or using within apps that have hub-style pages linking to many other pages.
Since the previous major release of the Windows 10 SDK, WinUI 2.3 and WinUI 2.2 were also released, providing further new UI features for Windows devs.
Samples
The following sample apps have been updated to target Windows 10 build 19041.
Windows Terminal: the secret to command line happiness!
Learn about how to customize the Windows Terminal for your workflow, and see demos of its features in action. Check out the video, then read the docs for more information.
WSL2: Code faster on the Windows Subsystem for Linux
Learn all about WSL2, the new version of the Windows Subsystem for Linux, and what changes have been made to improve performance. Check out the video, then read the docs for more information.
MSIX: Package desktop apps for Windows 10. Replace outdated installers.
Learn about MSIX, the package format for installing Windows apps, including how to package your existing code with Visual Studio and how to deploy and distribute your app. Check out the video, then read the docs for more information.