- New: Completely redone high-res icons throughout the app which match the Microsoft Office style guidelines, with native support for up to 400% scaling (384 DPI)
- New: File -> Save All (thanks @Bruce Bowyer-Smyth!)
- New: Turkish language
- New: Move Layer commands are now present in the Layers menu, not just on the Layers window
- New: Layers -> Rotate 180 (thanks @null54!)
- New: Plugins can now use the UIScaleFactor class, which simplifies making decisions about DPI and scaling
- Improved: Image thumbnail list at the top of the main window now reacts to horizontal mouse wheel or trackpad swiping
- Improved: The Text Tool's "Font Size Metric" button now has a tooltip explaining it
- Improved: When many images are open, Paint.NET now closes significantly faster (thanks @Bruce Bowyer-Smyth for the fix!)
- Improved: File -> Open Recent now has up to 10 images (up from 8 )
- Changed: Ctrl+Shift+F6 and +F7 will now also reset the floating window sizes for History and Layers, respectively (same if you Ctrl+Shift+Click on the button at the top-right of the main window)
- Changed: (for plugins) EffectFlags.SingleRenderCall is deprecated. Plugins should use the new EffectRenderingSchedule.None option instead.
- Changed: Settings -> Plugin Errors now shows up even if there are no plugin errors.
This ensures consistency, especially with the newly asynchronous nature of plugin loading (otherwise there's no way to distinguish "no errors" from "not done loading plugins").
- Fixed: Items in the File -> Open Recent menu will no longer get bigger or smaller when moving between monitors with different DPIs
- Fixed: An icon handle was being leaked every time a dialog was opened (thanks @null54 for the fix!)
- Fixed a crash when running GPU effects (e.g. Black & White) on very large, very tall images
- Fixed: "Bad" plugins can no longer ruin the undo system by rendering outside of the selection (thanks @BoltBait for helping out with this!)
- Improved: Image - Rotate should now complete almost instantly (thanks @Bruce Bowyer-Smyth!)
- Improved: Optimized a portion of the rendering engine for newer CPU instruction sets (SSE2, SSSE3, AVX2).
Depending on zoom level, CPU type, and other factors, rendering throughput has been improved by 10-50%.
- Improved: Some performance optimizations for code that uses the indexers on the Surface class, which should improve effect plugin performance (thanks @Bruce Bowyer-Smyth!)
- Fixed: Shortcut keys for the Adjustments menu weren't working until after you opened the menu for the first time
- Fixed: Canvas checkerboard, used to indicate transparent regions of the image, now scales with DPI
- Fixed some of the more rare cases of the SEHException/AccessViolationException crash caused by Direct2D
- Fixed: A bug in IndirectUI was resulting in a crash when using @BoltBait's Level Horizon plugin
- Fixed: Per-user fonts no longer cause a crash for the Store version
- New: The paintdotnet: protocol now works for the Classic version
- Fixed: The p?aintdotnet: ?protocol should now work properly with paths that have spaces in them
- Fixed: Hardened security for loading Custom Shape plugins via XAML (thanks @Bruce Bowyer-Smyth!)
Massive startup performance improvement when lots of effect plugins are installed
a crash that would happen when closing an image, exiting the app, or sometimes just at random.
This was happening due to a bug in Direct2D where ID2D1EffectContext does not honor the multithreaded initialization flag from its ID2D1Factory,
and was thus corrupting its own internal data structures when released on the finalizer thread.
DirectX 9 GPUs can now utilize hardware acceleration again (in 4.1.3 they were forced to use software rendering)
The Black & White and Invert Colors adjustments no longer display an OK/Cancel dialog
- Fixed a crash when zooming due to missing pixel shader support on DX9 class GPUs
- Improved startup performance if "a lot" of effect plugins are installed. More optimizations are coming in the next update.
- Fixed: Pixel grid no longer draws some dots darker than others at some zoom levels
- Fixed: Radial Blur was not handling alpha correctly
- Fixed: IndirectUI ColorWheel swatch is now rendered correctly (without the fading alpha gradient)
- Fixed: The tooltip describing the shortcut key for tools now indicates how many times to press the key (e.g., press S four times for Magic Wand selection)
- Fixed: Pressing Escape to deselect now works with all tools (this bug was introduced in v4.0)
- Fixed: Images with variable alpha were not displaying correctly at some zoom levels. They were "too dark" in translucent regions.
- Fixed: For the Store release, launching with the paintdotnet: protocol no longer shows an error if no parameters are provided (thanks @Bruce Bowyer-Smyth!)
- Fixed a crash for some effects that were rendering too quickly
- Fixed a bug in the Image>Resize dialog where the asterisk and the note about which resampling mode was being used, e.g. "* Bicubic will be used," weren't going away or updating correctly
- New: Added a /set:SETTING=VALUE command-line parameter. This is specifically useful for disabling hardware acceleration if the app won't start or you can't reach the Settings dialog.
This is also necessary for the Store release whose virtualized registry cannot be edited.
To launch the Store version with hardware acceleration disabled, go to Start - Run and type in "paintdotnet:/set:UI/EnableHardwareAcceleration=false" (without quotes) and press OK
- New: Added detection for when "Diebold Warsaw" is causing Paint.NET to crash. The error message will indicate this cause.
- Fixed: Addressed CVE-2018-18446. Credit goes to Bruce Bowyer-Smyth.
- Fixed: Addressed CVE-2018-18447. Credit goes to Soroush Dalili from NCC Group.
- New: Ukranian translation
- New: Norwegian translation
- Fixed a bug in the IndirectUI color wheel control where it wouldn't pick up the correct value for the alpha slider
- Fixed a crash with the new Shapes that would sometimes occur because the resources file wasn't updated yet (probably due to a "you have to reboot" dialog at the end of updating that was ignored)
- Reinstated the shortcut keys for the Adjustments menu, as this was a very unpopular change
- Improved: IndirectUI angle chooser control now supports the UpDownIncrement property (thanks @toe_head2001!)
- Improved: Gaussian Blur, Motion Blur, and Radial Blur now render using the GPU and are significantly faster
- Changed: The following effects are now rendered using the GPU: Edge Detect, Pixelate, and Relief
- Changed: The following adjustments are now rendered using the GPU: Black & White, Invert Colors
- New Effect: Distort -> Morphology (uses the GPU)
- New Effect: Render -> Turbulence (uses the GPU)
- New: Bicubic resampling is now supported for the Move Selected Pixels tool. A CPU with 6 or more cores is highly recommended if you want to make it the default mode from within Settings -> Tools.
- New: Edit -> Copy Selection. This will copy the current selection's geometry to the clipboard as JSON text.
- New: Edit -> Paste Selection. This will apply the selection from the clipboard to the current selection. All 5 selection combine modes are supported.
- Changed: The Text tool now uses Points for font size measurement. You can also elect to use the old font size metric, "Fixed (96 DPI)" via the dropdown to the right of the font size.
- Fixed: The Text tool's recentering algorithm when typing reaches the edge of the viewport should be better
- New: Added +/- buttons to the Tolerance and Hardness sliders.
- Changed: Increased max zoom level to 6400%
- New: The mouse wheel may now be used to scroll a long menu, such as when a lot of effects are installed (thanks @toe_head2001!)
- Changed: For Windows 7 SP1 users, the Platform Update from 2013 is now required (it contains Direct2D v1.1)
- Fixed: The "Finish" button wasn't working if it was in an overflow container (thanks @toe_head2001!)
- Fixed: Opening certain large images and then zooming with the mouse wheel would sometimes result in the scroll position being completely wrong
- Changed: Hiding a layer no longer auto-selects the nearest visible layer. You can re-enable this in Settings, although this setting may be removed in a future version.
- New: For the Windows Store release, the
- paintdotnet: protocol can now be used to launch the app so that you can specify command-line parameters. For example, you can go to Start -> Run and type in
- paintdotnet:"path to file1.png" path_to_file_2.png then both images will be opened (even if Paint.NET is already open)
- New: Added Heptagon (7-sided polygon) and Octagon (8-sided polygon) shapes
- Fixed the high-DPI inset-text scaling for the Shape selector (e.g. Pentagon with an inset "5")
- New: Palettes are now also loaded from Documents/paint.net App Files/Palettes. This folder name is not localized so that installation scripts may easily make use of it
- Fixed: View -> Pixel Grid will now correctly adjust to dynamic changes in the theme (light vs. dark)
- Fixed: The background color for the Tolerance slider has been corrected for non-dark themes
- Changed: Removed shortcut keys for all built-in Adjustments except for Invert Colors (Ctrl+Shift+I). This is being done to free up shortcut keys for other functionality.
- New: Added a shortcut key to trigger a full .NET garbage collection: Ctrl+Alt+Shift+` (tick/tilde). This should only ever be needed for troubleshooting purposes.
- New: Battery Saver Mode in Windows 10 is now respected, whether enabled manually or due to low battery. UI animations will be disabled.
- New: Long file paths (>MAX_PATH) are now supported on Windows 10, as long as the group policy setting is enabled ("Enable Win32 long paths")
- New for plugin developers: The IndirectUI Color Wheel control now supports an alpha slider. To use this, set the range (min/max values) of the Int32PropertyControl to [Int32.MinValue, Int32.MaxValue] (thanks @BoltBait!)
- New for plugin developers: there is a new FileChooser property control type for string properties (thanks @toe_head2001!)
- New for plugin developers: there is a new BinaryPixelOp.Apply(Surface, Surface, Surface, Rectangle) method overload (thanks @BoltBait!)
- Changed: The IndirectUI text control now has a vertical scroll bar when multiline mode is enabled (thanks @toe_head2001!)
- Changed: Visual C++ and OpenMP runtimes are now only loaded from the "app local" copy (never from the system directory). This fixes a number of headaches, and also works around a compatibility issue with the Surface Go
- Fixed: Crash when drag-and-dropping images onto Paint.NET when a tool was active but with uncommitted changes
- Fixed a very old and nasty crash, "InvalidOperationException: ScratchSurface already borrowed"
- Fixed a bug where a pasted image would be clipped after choosing "Keep canvas size"