paint.net 4.2.12 is now available

This is a hotfix for a few important issues that have come to light with the 4.2.11 release.

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.11:

Enjoy!

paint.net 4.2.11 is now available

This update adds XMP metadata support, 3 new translations, some UI improvements, and several bug fixes.

I’d like to point out the addition of a right-click menu that’s now available from the thumbnail strip at the top of the window:

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.10:

  • New: XMP metadata is now preserved for supported file types (PDN, JPEG, PNG, TIFF, JPEG XR, HEIC, AVIF, WEBP)
  • New: Belarusian (be) translation
  • New: Greek (el) translation
  • New: Slovenian (sl) translation
  • New: Added a right-click context menu to the image thumbnail/tab. It contains commands for Copy Path, Open Containing Folder, Save, Save As, and Close.
  • New: The items in the File -> Open Recent menu now have a tooltip with the full file path for the image
  • Changed: The selection outline animation is now smoother (2x the framerate)
  • Fixed: Saving with the HEIC file type is no longer limited to a max Quality value of 90. This limitation was in place because of a crash due to heap corruption, which no longer happens.
  • Fixed: The NVIDIA sharpening setting will no longer cause trippy distortions in the canvas area
  • Fixed an issue with loading very small TGA images, first reported here: https://forums.getpaint.net/topic/116100-tga-rle-truecolor-1×1-image-failed-to-load/. Thanks @null54 or the fix!
  • Fixed: Error dialogs when opening images now consistently show the file path
  • Fixed a PropertyNotFoundException error message when saving JPEG images with a particular ordering of metadata. This was due to a bug in Windows 7’s WIC JPEG codec. First reported here: https://forums.getpaint.net/topic/116079-jpg-cant-save-some-file/
  • Fixed clipped text rendering in the Curves adjustment dialog in some non-English translations.
  • Fixed a crash when running the app with a DPI scaling setting of 500%
  • Fixed a crash that would sometimes happen when running effects with very small selections
  • Fixed some IndirectUI controls not honoring their default values if also initialized in read only (disabled) mode. Thanks @BoltBait for the fix!
  • Fixed a memory leak in the effect system that was causing 1 orphaned thread per effect invocation
  • Changed: Removed the use of NTFS Transactions, which was causing trouble with OneDrive. Microsoft has also deprecated this technology.
  • New: Added /openCrashLogFolder command-line argument. This is intended for simplifying troubleshooting workflows.
  • New: Added /forceUpdateCheck command-line argument. This is intended for troubleshooting scenarios to simplify acquiring the latest version, e.g. "just run paintdotnet:/forceUpdateCheck" instead giving a longer list of buttons to click on.
  • Updated WebPFileType plugin to version 1.3.4.0, which adds XMP metadata support. Thanks @null54!
  • Updated DDSFileTypePlus plugin to version 1.10.3. This fixes an issue with saving in the A1R5G5B5, A4R4G4B4, and R5G6B5 formats, and adds support for reading files that use a ‘BC7\0’ FourCC. Thanks @null54!

Enjoy!

paint.net 4.2.11 beta build 7441

NOTE: This was originally posted as build 7440, but has since been updated to build 7441.

This new beta build just fixes a few small things since the previous one (build 7433). We’re almost ready for the final 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

Changes since 4.2.11 beta build 7433:

  • Fixed: "Open Containing Folder" now selects the item in the Explorer window
  • Fixed: Saving with the HEIC file type is no longer limited to a max Quality value of 90. This limitation was in place because of a crash due to heap corruption, which no longer happens.
  • Fixed a bug where the selection would disappear forever if the canvas was scrolled away from it
  • Fixed errors when trying to save into certain cloud-sync’d folders, e.g. OneDrive for Business. This was done by disabling the use of NTFS Transactions.

Enjoy!

paint.net 4.2.11 beta build 7433

The alpha went quite well — there were just a bug that popped up in the UI code for the updater that seems to be finally squashed for good now.

So, here’s the beta! There are a few more fixes and improvements, most notably a right-click context menu has been added to the image/tab’s thumbnail. You can also open up this menu by pressing Alt and – (minus).

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

Changes since 4.2.11 alpha build 7420:

  • New: Added a right-click context menu to the image thumbnail/tab. It contains commands for Copy Path, Open Containing Folder, Save, Save As, and Close.
  • New: Slovenian (sl) translation
  • New: Added /forceUpdateCheck command-line argument. This is intended for troubleshooting scenarios to simplify acquiring the latest version, e.g. "just run paintdotnet:/forceUpdateCheck" instead of a list of buttons to click on.
  • New: Added /disableNtfsTx to disable the use of NTFS Transactions when saving images, which affords troubleshooting some scenarios that may be problematic.
  • New: The items in the File -> Open Recent menu now have a tooltip with the full file path for the image
  • Fixed: Error dialogs when opening images now consistently show the file path
  • Fixed a crash that would sometimes happen when running effects with very small selections
  • Updated WebPFileType plugin to version 1.3.4.0 (thanks @null54!)

Enjoy!

paint.net 4.2.11 alpha build 7420

This is just a hotfix for 4.2.11 alpha build 7417 that fixes a crash in the built-in updater’s “Check Now” button.

NOTE: This post was originally for build 7419. It has been updated to build 7420 to fix an issue at app shutdown that prevented the process from terminating correctly. Sorry for the confusion.

To get this update if you have installed 7417, just launch or use the app as usual. You’ll be notified of the update within about 24 hours (it only checks at app startup though). Normally I’d say you should follow the instructions below, but the Check Now button is currently broken.

(If you really want to force the check to happen now, first exit the app. Then, delete the registry key at HKCU\SOFTWARE\paint.net\ named “Updates/LastCheckTimeUtc”. Then, start the app again.)

To get this update if you have NOT installed 7417, 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

paint.net 4.2.11 alpha build 7417

So it’s been over 2 months since 4.2.10 landed and it’s been really stable and hasn’t needed any hotfixes. Whew! That’s good, especially now with everything else in everyone’s life being so crazy 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 join the conversation over at the forum.

It took awhile, but I implemented XMP metadata support. The thing is, you won’t actually see anything in the app for this. XMP metadata is preserved when loading images that have it if they’re a supported format (JPEG, PNG, TIFF, JPEG XR, HEIC, AVIF, WEBP), but there is no UI for viewing or editing, or even an indication that this is happening. Funny how things work out like that sometimes :)

I increased the quality of the selection outline. And by that I mean that I increased it from 4 frames of animation all the way up to … 8 (with double the framerate). I think it looks great In order to make sure it didn’t take 2x as long to render, and take up 2x as much memory, I did some clever stuff™. Note that this will use more GPU processing power while the selection is actively animating on your screen, and as such it’s important to tell me if your laptop feels excessively burdened (loud fans, high CPU/GPU usage, battery draining too fast). Early testing indicates it’s still pretty good in this area.

The Magic Wand tool’s history actions should now be a lot faster. By that I mean undo/redo will be faster when you’re in a chain of things like “Change Tolerance Type” or if you’re moving the anchor point around. The computed selection geometry will be cached and stored in the history files, which means it won’t be recomputed again if you go back to that point in history (assuming you didn’t make another change that canceled the computation). This can greatly improve performance when working with large images.

So, those 3 areas will need attention: loading/saving images (and checking if XMP is preserved if you’re interested), selection stuff, and Magic Wand stuff. Just stress test them as much as you can :)

Changes since 4.2.10:

  • New: XMP metadata is now preserved for supported file types (PDN, JPEG, PNG, TIFF, JPEG XR, HEIC, AVIF, WEBP)
  • New: Belarusian translation
  • New: Greek translation
  • Changed: The selection outline animation is now smoother (2x the framerate)
  • Fixed: The NVIDIA sharpening setting will no longer cause trippy distortions in the canvas area
  • Fixed an issue with loading very small TGA images, first reported here: https://forums.getpaint.net/topic/116100-tga-rle-truecolor-1×1-image-failed-to-load/. Thanks @null54 for the fix!
  • Fixed a PropertyNotFoundException error message when saving JPEG images with a particular ordering of metadata. This was due to a bug in Windows 7’s WIC JPEG codec. First reported here: https://forums.getpaint.net/topic/116079-jpg-cant-save-some-file/
  • Fixed clipped text rendering in the Curves adjustment dialog in some non-English translations.
  • Fixed a crash when running the app with a DPI scaling setting of 500%
  • Fixed some IndirectUI controls not honoring their default values if also initialized in read only (disabled) mode. Thanks @BoltBait for the fix!
  • Fixed a memory leak in the effect system that was causing 1 orphaned thread per effect invocation
  • New: Added /openCrashLogFolder command-line argument. This is particularly useful when combined with protocol launching, e.g. Start -> Run -> paintdotnet:/openCrashLogFolder. This is intended for simplifying troubleshooting scenarios and workflow.
  • Updated WebPFileType plugin to version 1.3.3.0, which adds XMP metadata support. Thanks @null54!
  • Updated DDSFileTypePlus plugin to version 1.10.3. This fixes an issue with saving in the A1R5G5B5, A4R4G4B4, and R5G6B5 formats, and adds support for reading files that use a ‘BC7\0’ FourCC. Thanks @null54!

paint.net 4.2.10 is now available

This small update fixes a few important bugs, most notably with installations that directly use the MSI file for deployment (e.g. AD/GPO).

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.9:

  • Fixed: Installations that directly use the MSI (e.g. AD/GPO deployments) no longer need to run the repair process immediately after installation. Some important DLLs were not being updated because while their assembly version was different, their file version was unchanged, so Windows Installer incorrectly skipped over them. Click here for more information.
  • Fixed: Loading an image with an enormous photoshop:DocumentAncestors node in the XMP metadata will no longer hang the app
  • Fixed a rare crash in the auto-updater UI related to font initialization
  • Improved performance when clicking OK on an effect or adjustment dialog that has already completed part of its rendering

Enjoy!

paint.net 4.2.9 is now available

This updates improves performance and significantly reduces memory usage, adds two new translations, and fixes a number of small issues.

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.8:

  • Reduced overall memory usage (commit size) by up to 1/3rd by eliminating the per-image scratch buffer
  • Greatly improved performance when finishing actions of most tools by employing a shared cache between the render and commit code paths
  • Reduced memory usage when working with many tools by consolidating homogenous tiles (those that are comprised of a single color value)
  • Significantly improved performance of most history actions (commit, undo, redo) by switching from NTFS compression to multithreaded LZ4 compression for history files
  • Significantly improved performance of undo/redo with very complex selections (e.g. from the Magic Wand tool)
  • Improved performance of Image -> Flatten (also affects flattening when saving)
  • Improved performance of the Invert Colors and Desaturate adjustments by disabling hardware acceleration for them (too much overhead in copying tiles to the GPU for such trivial rendering kernels)
  • Improved performance when saving by moving thumbnail rendering for the File -> Open Recent menu to a background thread
  • Reduced memory usage when printing, and removed a rare crash that was related to its use of the (now removed) scratch buffer
  • Improved performance of effect rendering when a complex selection is active (improved caching)
  • New: Added a "busy spinner" to the canvas when using the Magic Wand and Paint Bucket tools
  • New translation: Hebrew (HE)
  • New translation: Slovak (SK)
  • Fixed a really goofy crash that required drawing with the paintbrush and, without letting go of the mouse button, moving the mouse into the toolbar and then using the mouse wheel to change the brush width
  • Fixed a layout bug with the image list button
  • Fixed an error that prevented saving some images as JPEGs if they had EXIF Interop metadata (PropertyNotFoundException)
  • Fixed a crash when running on a CPU that supports AVX but with an OS that is configured to not support it (via bcdedit /set xsavedisable 1)
  • Fixed a crash when pressing the spacebar after switching to a tool but before it has received any mouse input events
  • Fixed a rare crash when opening the Levels adjustments with certain types of selections
  • Fixed a crash when checking for updates with an expired alpha/beta build
  • Fixed a crash (FileLoadException) when DLLs are not updated correctly by the updater
  • Updated WebPFileType plugin to version 1.3.2 (thanks @null54!)
  • Updated DDSFileTypePlus plugin to version 1.9.9. This adds support for X8B8G8R8 and R8G8B8 formats, and fixes a visual glitch when previewing cube maps in some formats. (thanks @null54!)

Enjoy!!

paint.net 4.2.9 beta build 7333

This release has been going smoothly so far with only 1 or 2 issues that have needed fixing, so I’m hopeful that a final public release will be achievable very soon (this week?). The performance improvements should really save a lot of time for everyone who uses the app a lot. For some, it’ll be strongly and immediately noticeable (large images, low-end systems). For others, it’ll be small savings that add up and compound over time, but still very worthwhile.

This beta build fixes one rare crash and adds 2 new translations, Hebrew and Slovak.

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 join the conversation over at the forum.

Changes since last week’s 4.2.9 alpha build:

  • Fixed a rare crash that could happen after performing various actions, due to transient history file locking by indexing or antivirus (this was a new crash for 4.2.9)
  • New translation: Hebrew (HE)
  • New translation: Slovak (SK)
  • Updated DDSFileTypePlus plugin to v1.9.9. This adds support for X8B8G8R8 and R8G8B8 formats, and fixes a visual glitch when previewing cube maps in some formats.

Enjoy!

paint.net 4.2.9 alpha build 7326

I’ve been working on 4.2.9 for the last month and a half, and really put some work into some big improvements for performance and memory usage. These improvements cut across almost everything you can do in the app, so having a lot of participation in the alpha and beta builds will be really important.

Memory usage is way down, especially when opening many images. Undo/redo should be a lot faster. Finishing/committing actions with most tools should be a lot faster. Effect rendering, particularly when you have a complex selection, should be much more responsive. A lot of these optimizations will scale with CPU core count (more faster CPU = more faster PDN), but should also show great improvements on low-end systems (e.g. dual core CPU, low-power laptop). It’s win-win!

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 join the conversation over at the forum.

Changes since 4.2.8:

  • Reduced overall memory usage (commit size) by up to 1/3rd by eliminating the use of and need for a per-image scratch buffer
  • Greatly improved performance when finishing actions of most tools by employing a shared cache between the render and commit code paths
  • Reduced memory usage when working with many tools by consolidating homogenous tiles (those that are comprised of a single pixel value)
  • Significantly improved performance of most history actions (commit, undo, redo) by switching from NTFS compression to multithreaded LZ4 compression for history files
  • Significantly improved performance of undo/redo with very complex selections (like from the Magic Wand tool)
  • Improved performance of Image -> Flatten (also affects flattening when saving)
  • Improved performance of the Invert Colors and Desaturate adjustments by disabling hardware acceleration for them (too much overhead in copying tiles to the GPU for such trivial rendering kernels)
  • Improved performance when saving by moving thumbnail rendering for the File -> Open Recent menu to a background thread
  • Reduced memory usage when printing, and removed a rare crash that would happen if the scratch buffer couldn’t be acquired
  • Added a "busy spinner" to the canvas when using the Magic Wand and Paint Bucket tools
  • Improved performance of effect rendering when a complex selection is active (improved caching)
  • Fixed a layout bug with the image list button
  • Fixed an error that prevented saving some images as JPEGs if they had EXIF Interop metadata (PropertyNotFoundException)
  • Fixed a crash when running on a CPU that supports AVX but with an OS that is configured to not support it (via bcdedit /set xsavedisable 1)
  • Fixed a crash when pressing the spacebar after switching to a tool but before it has received any mouse input events
  • Fixed a rare crash when opening the Levels adjustments with certain types of selections
  • Fixed a crash when checking for updates with an expired alpha/beta build
  • Fixed a crash (FileLoadException) when DLLs are not updated by the updater.
  • Updated WebPFileType plugin to version 1.3.2.0 (thanks @null54)

I am hoping/planning to push out the final release by the end of January. Enjoy!