This is a relatively light update in the sense that you shouldn’t “see” any big changes.
Under the hood, however, there are some big changes. The first is that Paint.NET is now running on .NET 9.0, which has a lot of performance improvements over .NET 8.0. You can read about them all here. Some of those improvements are quite impactful for Paint.NET, including those that target startup performance and exception handling performance. This also ensures that plugins can keep making use of the latest runtime, framework, libraries, and tools.
The other big under-the-hood change is that I’ve migrated the UI presentation system from DirectComposition (aka “DComp”) to Windows.UI.Composition (aka “WUC”). The use of DComp was new in PDN v5.1, but WUC is actually what Microsoft recommends for newer apps (Win10+) and I wanted to be aligned with that. I originally thought that WUC was built on top of DComp, but I recently learned that isn’t true — they’re both APIs that provide interfaces to DWM (Desktop Window Manager), but WUC is the newer API. This just sets things up for success in the future if PDN needs to use Windows’ composition APIs for something more substantial.
Change Log
Changes since 5.1 beta (build 9004):
- Changed: Upgraded to use .NET 9.0 (RC1)
- Changed: Migrated Direct2D presentation system from DirectComposition to Windows.UI.Composition
- Fixed: Rotate/Zoom had really broken rendering with particular image sizes, such as 13830 x 7485 px (which was 4 tiles wide by 2 tiles tall)
- Known Issue: Title bars of dialog boxes will sometimes start out as white and then fade to black, instead of just being black (bug in .NET 9.0 RC1, already fixed for 9.0 RC2)
- Changed: Plugins may no longer use BinaryFormatter
- Updated the bundled AVIF FileType to version 3.10.0. Thanks @null54!
- Updated the bundled DDS FileType Plus to version 1.12.11. Thanks @null54
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
Hi Rick,
When I downloaded the installer, Avast AntiVirus says the installer contains a file (WinRT.Runtime.dll) is infected with Win64:MalwareX-gen [Trj]:
I even tried downloading the portable version and I get the same messages. Have you heard any issues with the installers? Is this a false positive?
Thanks,
Mike
Got that as well, it’s important to note it, even if it’s false positive
Glad to hear the update! Always love some back-end refactoring, makes me feel like a tool is set up for success!
Can’t wait for the ability to select sections from multiple layers to be added in the future! 😀
Keep blogging – we do read them!
Do you plan to include this in paint.net — https://opensource.googleblog.com/2024/04/introducing-jpegli-new-jpeg-coding-library.html? It’s new JPEG coding which brings JPEGXL to JPEG so you can get lossless JPEG inside your JPEG when you JPEG it. Dope tech!
Thanks for the update.