Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#11911 closed enhancement (fixed)


Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 9.0
Component: BOOK Version: SVN
Severity: normal Keywords:


New point version.

Change History (4)

comment:1 by Bruce Dubbs, 3 years ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 3 years ago

Overview of Changes from GIMP 2.10.8 to GIMP 2.10.10


  • Add gimp-scratch allocator, a fast memory allocator (on the order of magnitude of alloca()), suitable for small (up to a few megabytes), short-lived (usually, bound to the current stack-frame) allocations. Unlike alloca(), gimp-scratch doesn't use the stack, and is therefore safer, and will also serve bigger requests, by falling-back to malloc().
  • In gimp_drawable_transform_buffer_affine(), avoid modifying the clipping mode when transforming layer masks, since this function is used (among other things) to transform layer masks together with their layer, in which case they should use the same clipping mode as the layer. This fixes a regression introduced by commit 2ae823ba, causing layer masks to be transformed with a mismatched clipping mode during layer transforms, leading to discrepencies between the transformed layer and the transformed mask.
  • Moved swap/cache and temporary files out the GIMP user config dir and added new config file substitutions ${gimp_cache_dir} and ${gimp_temp_dir}.
  • Pass the GEGL tile-cache size, swap path, and thread-count to plug-ins as part of their config, and have libgimp set the plug-in's GeglConfig accordingly upon initialization.
  • Layer groups are now rendered in bigger chunks rather than tile-by-tile (which used to pretty much eliminate multithreading for groups), which improves the rendering speed.
  • Make saving/exporting files more robust to errors. In particular if an error occurs during the process (be it a bug, a memory error, or anything else), GIMP won't overwrite anymore any existing file with incomplete contents, so that you won't end up with no valid files at all.
  • Fix a regression on support of various graphics tablet.
  • Remove the "Edit -> Fade..." feature: it makes GIMP use two buffers instead of one (east into system resources), it's broken in 2.10, and we can make the UX better for filters.
  • New generic canvas modifier 'Alt + middle click' allowing to pick layers by clicking on pixels. The available layers will be looped through (starting from the upper one) while Alt key is hold and the picked layer name will be temporarily displayed in the status bar.
  • When clearing a channel, do nothing if the channel is already empty; otherwise, align the cleared rectangle to the channel buffer's tile grid, so that all affected tiles are dropped, rather than zeroed. Furthermore, only update the affected region of the channel.
  • Brush and pattern saving logics has been moved to core code (instead of plug-in).
  • Clipboard brushes and pattern can now be duplicated.
  • Parametric brushes are now 32-bit float to avoid posterization on large brushes. Note: raster brushes are still 8-bit and plug-ins only have access to 8-bit versions of high-precision brushes/patterns. New API will be required to handle high-precision data.
  • On-canvas preview while editing a color in the colormap of an indexed image.

User interface:

  • Enabled HiDPI/Retina support for the GTK2/OSX build, fixes blurry icons.
  • Add a tooltip to the "better compression" checkbox in save dialog to make it clearer it does not mean that the file size is necessarily smaller in every cases. In particular some best/worst case are possible when an algorithm less efficient in general may end up better on a particular image.
  • Add basic support for cursors with a scale factor of 2 for HiDPI (artwork to be updated).
  • Foreground and background color icons, as well as color history will now display out-of-gamut warning on indexed images for colors outside of the palette, as well as on grayscale images, for non-gray colors.
  • Pack color picker and hexadecimal entry on same line in Color dock.
  • Add an "Open as Image" button to the brushes dialog.


  • Attempting to transform locked layers or paint on them now results in blinking around the status bar (where the warning message is displayed) and around the toolbar where lock toggles are. The same applies to attempting to move a selection where there is none — GIMP will blink around the toolbar where the moving target (layer, selection, path) is chosen.
  • GIMP now allows selecting default export file type for new projects. The choice is limited to PNG, JPEG, WebP, PSD, ORA, TIFF, BMP.
  • GimpSpinScale widget now has an optional feature to constrain the value to integer when dragging with a pointer (even if the scale allows for fractional numbers), set with new function gimp_spin_scale_set_constrain_drag(). This is useful for settings where fractional numbers are technically possible, yet most common use case are with integers (such as pixel sizes, angles in degrees, etc.) so you want the easy interface to be constrained. Fractional numbers are still settable, for instance by keyboard edit; and arrow incrementation won't drop fraction parts. This is currently only activated for brush options in paint tools.


  • In scale tool, scale around center even when using numeric input.
  • New algorithm in the Bucket Fill tool when selecting the affected area "Fill by line art detection", based off the G'Mic algorithm for "smart colorization": In a few words, it identifies painted pixels (either based on grayscale or opacity values) and tries to close line arts to allow filling even with not perfectly closed zones; the second step of the algorithm will flood the colors under line art pixels to prevent "holes" in the filling. It is possible to control a max size (in pixels) for the flooding, as well as max length of closing segments and splines.
  • The Bucket Fill tool got new interaction allowing to hold the click and move the mouse to fill based on several seed zones (for "Fill by line art detection" as well as "Fill similar colors"). You can now cancel the fill in progress with right click as in other tools.
  • The Bucket Fill tool now allows color picking with ctrl-click, same as every painting tool. It will pick either the foreground or background color depending on the selected Fill Type. The ctrl-alt modifier combination is also possible to pick the non-Fill Type color.
  • In the Bucket Fill tool, the Alt modifier will now switch to "FG color fill" when "Pattern fill" was set (instead of doing nothing).
  • In the Unified Transform tool, default to preserving aspect ratio when scaling up or down.
  • In the Healing tool, "Sample merged" now also work for the target pixels, allowing to draw in empty layers.
  • Selection by color is now parallelized, hence improving speed of the Select by Color tool (and any other processing which may share this piece of code now or in the future).
  • Add "Constrain handles" and "Around center" options to the perspective-transform tool's GUI, which are similar to the corresponding options of the unified-transform tool.
  • Improve color picking on indexed image to always select an indexed color corresponding to the picked pixel in the colormap.


  • file-pdf-save GUI now clearly indicates the order the layers will be used to make multi-page PDFs.
  • Add DDS loading/exporting plug-in originally developed by Shawn Kirst and Arne Reuter.
  • Rename the Guillotine plug-in to Slice Using Guides.
  • Add a new option saving a color profile when exporting PNG, JPEG, TIFF. Always save it when exporting to PSD.
  • Remove the "Advanced" expanders from the PNG and TIFF export dialogs.
  • Full rewrite of the Spyrogimp plug-in with much more options and better interaction.
  • Indexed TIFF with alpha channel now supported.


  • Add on-canvas GUI (simple lines) for circular, linear, and zoom motion blur.


  • Link to the bugtracker directly from the Help menu, also link to the wiki and the roadmap. Remove the link to currently disabled


  • Windows: proper fix for libthai to stop GIMP from crashing in the Thai locale.


  • Czech, Danish, French, Italian, Japanese, Marathi, Polish, Russian, Spanish, Swedish, Ukrainian.


  • Bumping GTK+ dependency to the micro update GTK+ 2.24.32 to handle several bugs on Windows (broken shortcuts on non-latin layouts and broken vector icons).

comment:3 by Bruce Dubbs, 3 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 21441.

comment:4 by Bruce Dubbs, 3 years ago

Milestone: 8.59.0

Milestone renamed

Note: See TracTickets for help on using tickets.