paint.net 4.2.6 is now available!

This update is focusing on some important fixes and performance improvements, and getting some infrastructure ready for future releases so that pens and tablets with pressure sensitivity can be fully supported (planned for v4.3).

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the update sooner by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Changes since 4.2.5:

  • Improved the input handling systems to use WM_POINTER, which enables glitch-free drawing when using a pen or stylus (e.g. Surface Pen, Wacom/Ugee tablet) (see here: https://forums.getpaint.net/topic/113173-the-first-5mm-of-a-freehand-line-are-straight-when-using-a-tablet/ ). This will also be the basis for adding pressure sensitivity in a future release (v4.3).
  • Added a "Native pointer input" setting if a "pointer" device is available (pen, tablet, touch screen). Disabling this will cause any pointer device to be emulated as a mouse, which may be more compatible but at the cost of smoothness. Pointer devices are listed in Settings -> Diagnostics.
  • Removed the "Fluid mouse input" setting because the use of GetMouseMovePointsEx() has been removed (it’s a very buggy and broken API). This finally fixes a number of weird issues related to erratic or "scribbly" drawing.
  • Improved performance of Move Selected Pixels, Shapes, and Gradient tools when releasing the mouse button at the end of drag-and-drop gesture. Previously, anything rendered between the last mouse "move" and "up" events was re-rendered, resulting in the appearance of a delay/lag.
  • Greatly improved performance of layer thumbnails when switching between images
  • Improved: The image list at the top can now be scrolled by clicking the arrow buttons and holding the mouse down, just like a regular scroll bar button. (Previously you had to click repeatedly). This improves usability, but was also noted as being important for accessibility.
  • Improved: Smooth scrolling animations have been removed from the image list and layers list due to them just not working very well.
  • Improved window chrome/theming when the app is running in Remote Desktop on Windows 10
  • Changed: The size of the default/initial image ("Untitled") is now scaled exactly by system DPI setting (previously scaled by integer/floor of DPI setting). So at 150% DPI scaling this image will now be 1200×900 instead of 800×600.
  • Fixed some high-DPI layout bugs with the Layer Properties dialog, while also preparing this UI for future additions
  • Fixed a crash (OutOfVideoMemoryException) on systems with hybrid GPU setups that are configured wrong. This seems to be a bug in Windows and DirectX. A "hybrid GPU" setup is an Intel iGPU or AMD APU paired with a discrete GPU in a laptop.
  • Improved handling of the dreaded "NoHardwareDeviceException" crash: The user will be notified of how to fix this. It happens only on 2nd generation Intel Core systems with NVIDIA "Optimus" GPUs (GeForce or Quadro) when the NVIDIA Control Panel is set to force apps (or just Paint.NET) to use the NVIDIA GPU. This is a bug in the NVIDIA driver and/or in DirectX.
  • Fixed images being pasted incorrectly from Outlook 2016/365. This is actually a bug in Outlook: it puts PNGs on the clipboard that are arbitrarily cropped and scaled for some reason, and specifies they are the preferred format to use when pasting. This completely boggles my mind, it’s just really weird, I can’t imagine why it’s done this way.
  • Fixed some clipboard image handling for plugins (regular Copy/Paste is unaffected)
  • Changed: SSE2 is now required for 32-bit/x86 systems (prevously, only SSE was required). See blog post: https://blog.getpaint.net/2019/10/14/paint-net-v4-2-6-will-require-sse2-on-32-bit-x86/
  • Updated bundled WebPFileType plugin to v1.3.1.0 (thanks @null54)
  • Updated bundled DDSFileTypePlus plugin to v1.9.8.0 (thanks @null54!)

Enjoy!

paint.net 4.2.6 beta build 7263

This release just graduated into beta, which means pretty much everything should be working the way it should, and translations have been updated. It should be a short path from here to the final release of 4.2.6, which means I can start working on the next big release, 4.3, which will focus on brushes and pens (some of the infrastructure for which is in this release!).

To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

You can also download the update directly at the forum.

Changes since 4.2.6 alpha build 4258:

  • Fixed: The ability to drag a selection while drawing it was not working. (Click-and-drag with the left button to draw, but before releasing the left button you may click-and-drag with the right button to move it around.) (This was a regression in 4.2.6.)
  • Improved: The image list at the top can now be scrolled by clicking the arrow buttons and holding the mouse down, just like a regular scroll bar button. (Previously you had to click repeatedly). This improves usability, but was also noted as being important for accessibility.
  • Improved: Smooth scrolling animations have been removed from the image list and layers list due to them just not working very well.

paint.net 4.2.6 alpha build 7258

This build should fix the mouse input and drawing issues that were happening when multiple monitors of different DPI settings were being used. (for example: https://forums.getpaint.net/topic/115494-paintnet-426-alpha-build-7256/?do=findComment&comment=564920)

On a technical note, I’m removing the use of the GetMouseMovePointsEx API because it has been nothing but trouble over the last 6 years. It was supposed to provide smoother mouse input that was less dependent on the performance of the system or app, but that hope has been completely squashed. I’m fed up with it, it’s just a completely broken API and I’ve wasted way too many hours and days of my life debugging it and trying to hunt down any shred of good documentation or sample code for it.

Microsoft broke GetMouseMovePointsEx in Windows 8 and they just haven’t bothered to notice it or fix it (it works great in Windows 7!). On top of that, the newer input system (WM_POINTER) has a method, GetPointerInfoHistory, that’s supposed to provide the same functionality … but it doesn’t! It only ever retrieves the most recent mouse event (history count is always 1). So if you call EnableMouseInPointer you can still never retrieve any mouse movement events that your app wasn’t fast enough to process. Thankfully Paint.NET processes mouse events fast enough that this really isn’t a problem, but someone is just asleep at the wheel over at Microsoft. Thankfully the WM_POINTER system seems to work fantastically well for pens, drawing tablets, and touch screens.

(The above technical rant is provided for the benefit of any other poor developers out there who happen to try and make use of the cursed GetMouseMovePointsEx API and who stumble across this through a Google search. Stay away! It’s broken! Like completely, utterly, maddeningly broken! You’ll go crazy trying to make it work!)

All this means that the "Fluid mouse input" setting has been removed from Settings. It is no longer applicable. We can all forget about it and sleep better now.

To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

You can also download directly using the link over at the forum.

Changes since 4.2.6 alpha build 7256:

  • Fixed erratic and buggy mouse input handling when using multiple monitors with different DPI settings. The use of the GetMouseMovePointsEx API has been removed because it has been totally broken since Windows 8 except in increasingly narrow situations (single monitor, static DPI that never changes, not in a VM, no Remote Desktop, etc.).

paint.net 4.2.6 alpha build 7256

This should fix the 2 big crashes that people have been reporting.

To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

You can also download directly: https://github.com/paintdotnet/release/releases/download/4.206.7256.6914/paint.net.4.206.7256.6914.install.zip

Forum discussion is here: https://forums.getpaint.net/topic/115494-paintnet-426-alpha-build-7256/

Changes since 4.2.6 alpha build 7254:

  • Fixed the crash when using pointer devices for drawing. This also affected mouse drawing when the app’s DPI didn’t match the monitor’s DPI.
  • Fixed the crash when saving an image and dismissing the Save Configuration dialog before it could draw anything (e.g. by pressing Enter)

paint.net 4.2.6 alpha build 7254

This build is just fixing a few small things. Hopefully I’ll have a beta by next week, and the final by Thanksgiving!

To get this update, make sure you have “Also check for pre-release (beta) versions” enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

You can also download directly: https://github.com/paintdotnet/release/releases/download/4.206.7254.40989/paint.net.4.206.7254.40989.install.zip

Forum discussion is here: https://forums.getpaint.net/topic/115486-paintnet-426-alpha-build-7254/

Changes since 4.2.6 alpha build 7250:

  • Fixed a crash in the Layer Properties dialog when using the keyboard to change the layer’s Opacity
  • New: Added “Native pointer input” setting if a “pointer” device is available (pen, tablet, touch screen). Disabling this will cause any pointer device to be emulated as a mouse, and may be more compatible.

I’m still waiting on some hardware to arrive before I’m able to properly fix the other crash I’ve been getting reports of (example: https://forums.getpaint.net/topic/115459-paintnet-426-alpha-build-7250/?do=findComment&comment=564745). Until then I’ve added some extra information to the crash message which should help me get to the root of the issue.

paint.net 4.2.6 alpha (build 7250)

This update is focusing on small fixes, performance improvements, and getting some infrastructure ready for future releases.

Pen/stylus support (pressure sensitivity) is finally coming back in 4.3, but the initial groundwork for that is in this release. If you’re not using a pen or a stylus then you should see no difference in this release, but it’s also really important to verify that that’s the case! If anything has changed then it’s very important to report that to me. I’ve redone a lot of the input stack to use WM_POINTER if available, but the “classic” path is still there for handling regular mouse input.

To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

There’s also a direct download link over on the forum.

Changes since 4.2.5:

  • Improved input handling systems to use WM_POINTER, which enables glitch-free drawing when using a pen or stylus (e.g. Surface w/ Pen) (see here: https://forums.getpaint.net/topic/113173-the-first-5mm-of-a-freehand-line-are-straight-when-using-a-tablet/ ). This will also be the basis for adding pressure sensitivity in a future release (v4.3). Note that Windows 7 is unaffected by this.
  • Greatly improved performance of layer thumbnails when switching between images
  • Fixed a crash (OutOfVideoMemoryException) on systems with hybrid GPU setups that are configured wrong. This seems to be a bug in Windows and DirectX. A "hybrid GPU" setup is an Intel iGPU or AMD APU paired with a discrete GPU in a laptop.
  • Improved handling of the dreaded "NoHardwareDeviceException" crash: The user will be notified of how to fix this. It happens only on 2nd generation Intel Core systems with NVIDIA "Optimus" GPUs (GeForce or Quadro) when the NVIDIA Control Panel is set to force apps (or just Paint.NET) to use the NVIDIA GPU. This is a bug in the NVIDIA driver and/or in DirectX.
  • Improved performance of Move Selected Pixels, Shapes, and Gradient tools when releasing the mouse button at the end of drag-and-drop gesture. Previously, anything rendered between the last mouse "move" and "up" events was re-rendered, resulting in the appearance of a delay/lag.
  • Fixed some clipboard image handling for plugins (regular Copy/Paste is unaffected)
  • Improved window chrome/theming when the app is running in Remote Desktop on Windows 10
  • Fixed images being pasted incorrectly from Outlook 2016/365. This is actually a bug in Outlook: it puts PNGs on the clipboard that are arbitrarily cropped and scaled for some reason, and specifies they are the preferred format to use when pasting. This completely boggles my mind, it’s just really weird, I can’t imagine why it’s done this way.
  • Changed: The size of the default/initial image ("Untitled") is now scaled exactly by system DPI setting (previously scaled by integer/floor of DPI setting). So at 150% DPI scaling this image will now be 1200×900 instead of 800×600.
  • Fixed some high-DPI layout bugs with the Layer Properties dialog, while also preparing this UI for future additions
  • Updated bundled WebPFileType plugin to v1.3.1.0 (thanks @null54!)
  • Updated bundled DDSFileTypePlus plugin to v1.9.8.0 (thanks @null54!)
  • Changed: SSE2 is now required for 32-bit/x86 systems (prevously, only SSE was required). See blog post: https://blog.getpaint.net/2019/10/14/paint-net-v4-2-6-will-require-sse2-on-32-bit-x86/ 

paint.net 4.2.5 is now available!

This is a pretty straightforward update, adding WebP (*.webp) support and fixing a few important bugs (like copy-paste from Firefox).

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the update sooner by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Changes since 4.2.4:

  • New: WebP images are now supported due to bundling @null54‘s excellent WebPFileType plugin (v1.3.0.0)
  • Fixed: Pasting images from Firefox’s "Take a Screenshot" feature was resulting in swapped red and blue channels due to mishandling of DIB_V5 clipboard data using the BI_RGB value for bV5Compression (thanks @null54 for the fix!)
  • Fixed crash at startup (for both app and installer) on Windows "N" editions due to missing mfplat.dll (Media Foundation Platform)
  • Updated bundled DDSFileTypePlus plugin to v1.9.7.0

Enjoy!

paint.net 4.2.4 is now available

This hotfix addresses some crashes and hangs that were happening when saving DDS images in certain formats.

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the updater soon by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Because 4.2.2, 4.2.3, and 4.2.4 are all kind of the same release (the latter two are hotfixes), here are the full set of changes:

Changes in 4.2.4:

  • Fixed a hang, which sometimes also resulted in a crash, when saving DDS images in certain formats (e.g. BC1/DXT1)
  • Improved: Reduced CPU usage in the COM interop system, which should help reduce overall power consumption

Changes in 4.2.3:

  • Fixed: A missing DLL, vcomp140.dll, was preventing the bundled DDSFileTypePlus plugin from loading on some systems

Changes in 4.2.2:

  • New: AV1 (*.avif) images can now be opened (saving is not supported). Windows 10 v1809+ and Microsoft’s AV1 Codec are required (download: https://www.microsoft.com/p/av1-video-extension-beta/9mvzqvxjbq9v)
  • New: DirectDraw Surface (*.dds) support has been greatly improved due to bundling @null54‘s DDSFileTypePlus v1.9.6.0 plugin. All DX10/DX11 formats should now be supported (e.g. BC4, BC5, BC6H, BC7), and encoding (saving) will make use of the GPU to greatly improve performance. Note that it’s no longer necessary to use the ".dds2" file extension.
  • New: 4-bit saving is now supported for PNG, BMP, and TIFF
  • New: The palette selection menu will now indicate which palette is currently active (thanks @null54 for the implementation!)
  • Improved: The maximum image size is now 262,144 x 262,144 pixels, up from 65,535 x 65,535 pixels. This is mostly for accommodating very tall or very wide images.
  • Improved: Startup performance has been improved for multi-core CPUs
  • Improved: Startup performance has been improved when a lot of custom shapes are installed
  • Fixed: EXIF metadata of type Float and Double are now supported. This ensures GeoTIFF metadata is preserved. 
  • Fixed: Opening an image should no longer flicker due to the transparency checkerboard being drawn first
  • Fixed: TGA images that are 16-bit with 1-bit alpha with a zero’d out alpha channel are now treated as opaque. This allows images from 5CC Map Maker (for Close Combat modding) to work. Thanks @null54 for the fix!
  • Fixed: JPEG XR’s file extensions (*.jxr, *.wdp, *.wmp) are now registered with Explorer
  • Fixed: Pasting images that use RGB pixel ordering should now work (this affects PaintTool SAI)
  • Fixed a crash when manually typing in a very large number for the zoom level in the status bar

Enjoy!

paint.net 4.2.3 is now available!

This hotfix addresses an issue that was preventing DDS images from working on some systems.

See the post about the 4.2.2 release for more information on all the goodies that are now included :)

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the updater soon by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Changes since 4.2.2:

  • Fixed: A missing DLL, vcomp140.dll, was preventing the bundled DDSFileTypePlus plugin from loading on some systems

As a reminder, here are the changes that 4.2.2 had compared to 4.2.1:

  • New: AV1 (*.avif) images can now be opened (saving is not supported). Windows 10 v1809+ and Microsoft’s AV1 Codec are required (download: https://www.microsoft.com/p/av1-video-extension-beta/9mvzqvxjbq9v)
  • New: DirectDraw Surface (*.dds) support has been greatly improved due to bundling @null54‘s DDSFileTypePlus v1.9.6.0 plugin. All DX10/DX11 formats should now be supported (e.g. BC4, BC5, BC6H, BC7), and encoding (saving) will make use of the GPU to greatly improve performance. Note that it’s no longer necessary to use the ".dds2" file extension.
  • New: 4-bit saving is now supported for PNG, BMP, and TIFF
  • New: The palette selection menu will now indicate which palette is currently active (thanks @null54 for the implementation!)
  • Improved: The maximum image size is now 262,144 x 262,144 pixels, up from 65,535 x 65,535 pixels. This is mostly for accommodating very tall or very wide images.
  • Improved: Startup performance has been improved for multi-core CPUs
  • Improved: Startup performance has been improved when a lot of custom shapes are installed
  • Fixed: EXIF metadata of type Float and Double are now supported. This ensures GeoTIFF metadata is preserved. 
  • Fixed: Opening an image should no longer flicker due to the transparency checkerboard being drawn first
  • Fixed: TGA images that are 16-bit with 1-bit alpha with a zero’d out alpha channel are now treated as opaque. This allows images from 5CC Map Maker (for Close Combat modding) to work. Thanks @null54 for the fix!
  • Fixed: JPEG XR’s file extensions (*.jxr, *.wdp, *.wmp) are now registered with Explorer
  • Fixed: Pasting images that use RGB pixel ordering should now work (this affects PaintTool SAI)
  • Fixed a crash when manually typing in a very large number for the zoom level in the status bar

Enjoy!

paint.net 4.2.2 is now available!

This update adds AV1 (*.avif) loading support, significantly improves DirectDraw Surface (DDS) support, adds 4-bit saving for PNG, BMP, and TIFF, fixes several bugs, and optimizes startup time.

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the updater soon by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Regarding the bundling of DDSFileTypePlus, which replaces the old built-in DDS support: The key word here is bundling. The plugin is now installed into a separate directory called Bundled (a technical detail that you shouldn’t have to worry about). If you already have DDSFileTypePlus installed into the FileTypes directory then it will not be loaded; instead, the bundled version will be used (usually … keep reading).

However, the bundled plugin is only updated when Paint.NET itself is updated, and @null54 will still be releasing DDSFileTypePlus updates independently of Paint.NET’s updates. If you want to, you can still install the DDSFileTypePlus plugin into the FileTypes directory. If the "user-installed" version (in the FileTypes directory) is newer than the "bundled" version, then the user-installed version will be used instead of the bundled version.

tl;dr — The DDSFileTypePlus plugin can exist in two locations: "Bundled" (which comes with Paint.NET) and "FileTypes" (where you normally install plugins). Whichever one is newer will be loaded, and the other one is ignored.

So, for many folks, you can just leave DDSFileTypePlus alone and it will automatically be updated to its latest version whenever a Paint.NET update is installed. But if a new version of DDSFileTypePlus is released and it contains a feature or a fix that you need, and you can’t wait, you can just install it like usual and it will be used instead of the (older) bundled version.

(Also, note that the .dds2 file extension is no longer necessary when using DDSFileTypePlus — whether it’s bundled or user-installed!)

Changes since 4.2.1:

  • New: AV1 (*.avif) images can now be opened (saving is not supported). Windows 10 v1809+ and Microsoft’s AV1 Codec are required (download: https://www.microsoft.com/p/av1-video-extension-beta/9mvzqvxjbq9v)
  • New: DirectDraw Surface (*.dds) support has been greatly improved due to bundling @null54‘s DDSFileTypePlus v1.9.6.0 plugin. All DX10/DX11 formats should now be supported (e.g. BC4, BC5, BC6H, BC7), and encoding (saving) will make use of the GPU to greatly improve performance. Note that it’s no longer necessary to use the ".dds2" file extension.
  • New: 4-bit saving is now supported for PNG, BMP, and TIFF
  • New: The palette selection menu will now indicate which palette is currently active (thanks @null54 for the implementation!)
  • Improved: The maximum image size is now 262,144 x 262,144 pixels, up from 65,535 x 65,535 pixels. This is mostly for accommodating very tall or very wide images.
  • Improved: Startup performance has been improved for multi-core CPUs
  • Improved: Startup performance has been improved when a lot of custom shapes are installed
  • Fixed: EXIF metadata of type Float and Double are now supported. This ensures GeoTIFF metadata is preserved. 
  • Fixed: Opening an image should no longer flicker due to the transparency checkerboard being drawn first
  • Fixed: TGA images that are 16-bit with 1-bit alpha with a zero’d out alpha channel are now treated as opaque. This allows images from 5CC Map Maker (for Close Combat modding) to work. Thanks @null54 for the fix!
  • Fixed: JPEG XR’s file extensions (*.jxr, *.wdp, *.wmp) are now registered with Explorer
  • Fixed: Pasting images that use RGB pixel ordering should now work (this affects PaintTool SAI)
  • Fixed a crash when manually typing in a very large number for the zoom level in the status bar

Enjoy!