GIMP 2.10.10 Released

The GIMP team just pushed a new v2.10.10 release to the world! :slight_smile:

There’s a news item on the page here:

From mitch’s release email:

Download

GIMP 2.10.10 is available from:

Index of /pub/gimp/v2.10

and from the mirrors listed at:

GIMP - Development Downloads

The sha256 and sha512 checksums of the tarball are:

12d1f243265c7aee1f2c6e97883a5c90ddc0b19b4346cf822e24adbb6c998c77 gimp-
2.10.10.tar.bz2

87caab9643a018e741e5e51c61220b7b282a66ed5bb723750cdf4139950f98c9ab246f4
d6450420531d0e878c4561150efc4063cda896f08b25669bac4d1d172 gimp-
2.10.10.tar.bz2

Overview of Changes from GIMP 2.10.8 to GIMP 2.10.10

Core:

  • 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.

Usability:

  • 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.

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”:
    A Fast and Efficient Semi-guided Algorithm for Flat Coloring Line-arts - Archive ouverte HAL
    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.

Plug-ins:

  • 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.

Filters:

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

Help:

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

Installers:

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

Translations:

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

Build:

  • 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).
13 Likes

A Linux AppImage package for GIMP 2.10.10 is available here: https://github.com/aferrero2707/gimp-appimage/releases/download/continuous/GIMP_AppImage-release-2.10.10-x86_64.AppImage

You can also download several plug-ins for the above AppImage from Release Continuous build · aferrero2707/gimp-plugins-collection · GitHub

4 Likes

Congrats to the whole gimp team!

Definitely cool news; already posted my reply at GIMPChat. I’ll just wait a bit before I delve into installing the new version. :slight_smile:

When is 2.10.12 going to be released ?

The usual answer is: “When it’s ready.” But the LGM is next week and I think the developers will use this to release 2.10.12.