Mitch and the team just released the GIMP 2.10.0RC1!
From the release email:
Overview of Changes from GIMP 2.9.8 to GIMP 2.10 RC1
- New dashboard dockable: shows the current GEGL cache and swap sizes
and CPU usage and active time, and their recent history. It has
options to control the update rate and history duration of the
data, and an option to warn (by raising/blinking the dialog) when
the swap size approaches its limit.
- Make the selection boundary detection the same as 2.8.
- The environment variable GIMP_DEBUG can now be set to “list-all” to
display available debug domains. Non-recognized flags will also
trigger the debug flag list output.
- Improve migration from 2.8 to 2.10 by recursively migrating
configuration files (up to 5 levels, to protect from recursive
- Mark legacy plug-ins and scripts in menus.
- Enable “save-tool-options” and “save-device-status” by default,
it’s the expected behavior these days.
- GIMP doesn’t warn any more for unknown darktable XMP metadata.
We now register the corresponding namespace.
- Adding settings for metadata export handling in “Image Import &
Export” page of Preferences. By default, the settings are checked,
but you can uncheck them (in particular since metadata can often
contain a lot of sensitive information).
- Splash image now scaled down to maximum 1/2 of the screen area.
This will allow to ship a big splash image which will be visible
on all type of screens, whichever low or high resolution.
Vector splash images are scaled both up or down to have them
always at ideal size.
- Brightness-Contrast, Curves, Levels and Threshold are now available
in “Repeat last” history.
- Improve action history to not show newly excluded actions (which
were already in our history from before the exclusion).
- Use GEGL for transform-tools preview, allowing faster and more
- Re-arrange color models in the Color dock (WIP).
- New debug tool and infrastructure to handle WARNING and CRITICAL
errors, as well as fatal errors (crashes), raising a pop-up with
all version information on GIMP and its main dependencies, as well
as the error message and backtraces, and encouraging people to
make bug reports.
- Support layer masks on layer groups.
- GIMP now attempts to backup unsaved images when it crashes. Then at
next startup, it will suggest to recover the salvaged images. Image
recovery is not 100% guaranteed.
- New gimp_spawn_async() function uses vfork() to help avoid hanging
during a fork process, currently used for plug-ins.
- Dock color picker is now color-managed on macOS.
- New gimp_export_exif(), gimp_export_xmp() and gimp_export_iptc()
functions returning the creator choice regarding default handling
for metadata export (as set in the Preferences).
- GIMP Protocol version incremented.
- New gimp_get_pdb_status() to return the status of the last PDB
call. This is needed for plug-ins which depend on other plug-ins’
procedures. If for instance, a second-level plug-in is interrupted
interactively, we don’t want to process this as an error but as a
- New gimp_stack_trace_available(), gimp_stack_trace_print() and
gimp_stack_trace_query() for debugging.
- Use gegl:distance-transform in gimp_edit_blend() implementation
making it much faster for all GRADIENT_SHAPEBURST_* gradient
types. Legacy gimp:shapeburst operation has been deleted.
- New gimp_context_get_distance_metric() and
gimp_context_set_distance_metric() for distance metric used in
gimp_edit_blend() (and future usage).
GUI and Usability:
- New icons: “gimp-attach”, “gimp-color-space-linear”,
“gimp-dashboard”, “gimp-detach”, “gimp-tool-desaturate”,
- Switching between linear and perceptual (gamma-corrected) spaces
in the Histogram dialog is easier now: two buttons instead of one
two-way button where current state was difficult to understand.
- Shorten color channel labels in the color frame (color picker tool,
sample point editor…) with conventional 1 or 2-letter
abbreviations, and split coordinates on 2 lines.
- We now switch to “Huge” icons by default when the display pixel
density is over 250 PPI (used to be 300 PPI).
- Improve action history sorting: items climb up the list faster,
while top items retain their relative position longer.
- Extend action search “initialism”: Extend initialism-based search
(e.g.: “gb” for “Gaussian Blur”), by matching arbitrarily-long
initialisms, and by allowing partial matches (with lesser
- Values in the GimpNumberPairEntry widgets can now be cleared by
clicking an icon.
- Transform Grid controller is now available for custom UIs of GEGL
operations (currently used for Recursive Transform op).
- New GimpHighlightableButton widget is used to draw attention to
buttons in certain cases. Currently used for anchoring and
removing loating selections.
- Composite modes were renamed to be more descriptive, as follows:
Source Over => Union
Source Atop => Clip to Backdrop
Destination Atop => Clip to Layer
Source In => Intersection
- Wilber logo in the toolbox can now be disabled via Preferences
(the Toolbox page).
- “Link brush size with canvas zoom” paint option becomes “Lock brush
to view” to make a brush invariant in display space whichever
scaling, rotation, and reflection.
- Blend tool now displays the line length (in current shell unit and
with ideal digit accuracy) and angle in the status bar.
- Constrain line angles in display space: all tools which have a line
constraint feature (for instance blend tool, paint tools in line
mode, etc.) will now do so relatively to the display, allowing you
to rotate the canvas in order to constrain to any arbitrary angle.
- Levels and Curves can now work on linear light data, the toggles
are at the top of respective dialogs, right next to linear/log
toggles for the histogram.
- Blend tool now has a distance metric option to determine how
distances are computed (Euclidean, Manhattan or Chebyshev
- New GEGL-based Shadows-Highlights filter now available in the
Colors menu. The implementation is based on the code from
- Screenshot with the generic Freedesktop API has been implemented.
It is meant to replace all desktop environment specific APIs
eventually but needs to get reasonable features first. Therefore
currently GNOME/KDE and X11 implementations still have priority.
- qbist ported to GEGL and float.
- Colors for the standard output and standard error texts in the
Python console are now themeable, mapping respectively to normal
text and insensitive text colors for the “python-fu-console”
widget. We updated the default colors a bit for our themes. If
this is not good enough (for instance, if one has a specific type
of color blindness), at least it is now possible to create a
custom theme adapted to one’s needs.
- PSD export now happens with progress bar update for feedback.
- Win32 Screenshot improved to handle hardware-rendered software and
- Fix various vulnerabilities in file plug-ins: GBR (CVE-2017-17784),
PSP (CVE-2017-17787 and CVE-2017-17789), TGA (CVE-2017-17786) and
- Fix WebP export under Windows.
- No more max dimension limitation for X cursors. We still warn when
cursor size is over a max limit for X bitmap cursors, but we don’t
clamp anymore on export.
- JPEG, PNG, TIFF and WebP export plug-ins updated to honor creator’s
default choice regarding metadata handling.
- Fix GIH brushes using different-sized layers.
- RGBE (Radiance HDR) format files can now be imported and exported.
- JPEG2000 loading now done via OpenJPEG library and supports any bit
depth (over 32-bit per channel will be clamped to 32-bit and
non-multiple of 8-bit will be promoted, for instance 12-bit will
end up as 16-bit per channel in GIMP). JPEG 2000 codestream also
supported and displays a dialog asking for the color space (whereas
JPEG 2000 image color space are auto-detected).
JPEG 2000 images or codestream in YCbCr, xvYCC and CMYK color
spaces are converted to sRGB images upon loading.
- poppler and poppler-data now hard dependencies. PDF import is
considered a granted feature nowadays and fallbacking to the
Postscript plug-in was bad experience.
- move PDB generation and sources to toplevel/pdb.
- New configure option
--enable-windows-installerto generate the
necessary files for the installer translations during the build.
- Improve POTFILES generation for po-*/ directories.
- Require glib >= 2.54.2.
- New dependency to mypaint-brushes-1.0 for stable MyPaint brushes
available at installation.
- AppStream ID renamed from gimp.desktop to org.gimp.GIMP following
- Require fontconfig >= 2.12.4. Lower versions are particularly a
problem on Win32, where many cache update failure were reported to
us, resulting in very slow startup and close-up (and not only the
first time, but every time).
- Windows installer now localized with gettext.
- String freeze has started and GIMP received updates from:
Basque, Brazilian Portuguese, Catalan, Chinese (Taiwan), Danish,
Esperanto, French, German, Greek, Hungarian, Icelandic, Italian,
Japanese, Latvian, Polish, Russian, Serbian, Slovenian, Spanish,