In this release, Paint.NET has been migrated to the just-released .NET 6. This comes with additional improvements for both rendering and startup performance, as well as ensuring that myself and plugin authors can develop using the latest version of the platform, including C# 10.
There are also some improvements to Dark Theme support on Windows 10/11, UI fixes for Windows 11, three new translations (Catalan, Corsican, and Thai), and a large number of important bug fixes — including some memory leaks that were found by several members of the forum.
I’ve also done some important infrastructure work. Prior to this release, the self-extracting portion of the installer was handled by Nullsoft Scriptable Installer System ("NSIS"). This worked very well for a long time, but it finally hit a wall with the 4.3 release with how well it could compress the installer due to memory constraints (NSIS is 32-bit only). This is why the ARM64 installer was so much larger than the x64 or x86 installer. In this release I’ve fixed that by moving to a custom self-extractor based on the LZMA SDK (aka 7-zip). The result is better compression and a faster "extracting" stage, although the x64 and x86 installers are actually a little larger because I’m using some features in .NET 6’s "crossgen2" to optimize startup performance, and these have resulted in an increase in the size of the app DLLs.
I’ve also migrated most of Paint.NET’s non-COM interop code over to the TerraFX.Interop.Windows library, developed by Tanner Gooding at Microsoft. I’ll be using this over the next several releases to port Paint.NET’s COM-based interop code, which is used for Direct2D (et. al.), and which should result in more startup performance improvements (the current interop code is written in C++/CLI, which cannot be precompiled with crossgen / ReadyToRun). Over time this will help to maximize Paint.NET’s performance, shed legacy code (e.g. C++/CLI), and increase the speed that I can write new code and release new updates.
NOTE for Windows 7, Windows 8.1, and 32-bit/x86 users: Paint.NET v4.3.x will be the last release(s) that work on Windows 7, Windows 8.1, or on any 32-bit/x86 version of Windows. It has become significantly more difficult and time consuming to support these lately, not very many people are using them, and I can no longer justify the cost and frustration of keeping support for these afloat. Starting with Paint.NET v4.4, only Windows 10 and 11+ will be supported, and only on 64-bit (x64 and ARM64). Once Paint.NET v4.3.3 is released, I will start working on v4.4 and will only release v4.3.x updates on an as-needed basis and only until v4.4 is completed.
Get the update
- Microsoft Store release
- You can purchase it here. This helps fund development and is an alternative or supplement to sending in a donation.
- If you already have it installed, the update should happen automatically once Microsoft certifies the update, usually within the next day or two. To get the update immediately (once it’s certified), you can follow the instructions listed here.
- Classic Desktop release
- Download the installer directly (web installer for all CPUs and OSes). This is the recommended download if you don’t have Paint.NET installed. It can also be used to update the app.
- If you already have it installed, you should be offered the update automatically within the next week or so, but you can also get it immediately by going to ⚙ Settings -> Updates -> Check Now.
- Offline Installers and Portable ZIPs are available over on GitHub.
Changes since v4.3.2:
- New: The app has been migrated to .NET 6, which has improved both rendering and startup performance
- New translation: Catalan (ca)
- New translation: Corsican (co)
- New translation: Thai (th)
- Changed: The /createMsi command for the installer has been removed. Instead, you can now download MSIs directly from the GitHub releases page.
- Improved various UI controls for Dark Theme, e.g. scrollbars (Win10 v1809+ only)
- Fixed the way various UI controls look on Windows 11, e.g. buttons and drop-down lists
- Fixed the View -> Zoom to Window command when using the keyboard shortcut (Ctrl+B), which was resetting instead of toggling the zoom level
- Improved performance during the "extracting" stage of the installer by migrating away from Nullsoft Scriptable Installer System (NSIS)
- Reduced the download size on ARM64 by about 33%
- Fixed a rendering bug in the Dents and Polar Inversion effects, as reported here: https://forums.getpaint.net/topic/118746-paintnet-update-changed-the-way-the-dents-distortion-filter-works-causing-unwanted-artifactsglitches-was-this-an-intended-change/
- Fixed a memory leak in the selection renderer that was consuming gigabytes of GPU memory, resulting in crashes. Thanks to @Zagna for finding this and testing the fix! https://forums.getpaint.net/topic/118806-paint-crashes-if-you-do-a-selection-glitch-and-then-history-jump-forward/?do=findComment&comment=587772
- Fixed some GDI object leaks, particularly with the Save Configuration dialog, which would eventually result in a crash. Thanks @rechlin for finding and reporting this! https://forums.getpaint.net/topic/118785-crash-due-to-running-out-of-gdi-objects/
- Fixed a memory leak in Settings -> Tools. Thanks @otuncelli for finding this! https://forums.getpaint.net/topic/118785-crash-due-to-running-out-of-gdi-objects/#comment-588468
- Fixed an issue that was preventing new plugins from loading their native DLL dependencies as specified in their .deps.json file
- Fixed the app crashing after an effect plugin crashes when you choose to restart the app
- Fixed a crash while drawing a selection, right-clicking on the History window before releasing the left mouse button, and then clicking to redo a history entry, as reported here: https://forums.getpaint.net/topic/118806-paint-crashes-if-you-do-a-selection-glitch-and-then-history-jump-forward/
- Fixed a text rendering bug in some parts of the UI, mostly in Effects, as reported by @midora over at https://forums.getpaint.net/topic/118866-paintnet-43-footnote-of-indirectui-control-in-filetype-shows-artifacts-after-scrolling/
- Fixed the "untitled:" file name argument prefix, which was preventing Window Clippings from being able to send screenshot
- Fixed some registry keys that were not being deleted during uninstall
- Fixed the PdnRepair utility on Windows 7
- Fixed some inconsistencies with the MSI as compared to v4.2.16 which were causing problems for some deployments
- Updated the bundled AvifFileType to v188.8.131.52, courtesy of @null54, which updates the AOM version and fixes a crash when reading large EXIF blocks. See its GitHub releases page for more info.