GIMP 2.10.0 Release Candidate 1 Available

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

Core:

  • 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
    symbolic links).
  • 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
    accurate previews.
  • 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.

Libgimp:

  • 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
    cancellation.
  • 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-color-space-perceptual”, “gimp-color-temperature”,
    “gimp-dashboard”, “gimp-detach”, “gimp-tool-desaturate”,
    “gimp-tool-exposure”, “gimp-tool-shadows-highlights”.
  • 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
    priority).
  • 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

Configurability:

  • Wilber logo in the toolbox can now be disabled via Preferences
    (the Toolbox page).

Tools:

  • “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
    distances).

Filters:

  • New GEGL-based Shadows-Highlights filter now available in the
    Colors menu. The implementation is based on the code from
    darktable.

Plug-ins:

  • 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
    multi-monitor displays.

File formats:

  • Fix various vulnerabilities in file plug-ins: GBR (CVE-2017-17784),
    PSP (CVE-2017-17787 and CVE-2017-17789), TGA (CVE-2017-17786) and
    FLI (CVE-2017-17785).
  • 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.

Building:

  • 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-installer to 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
    current convention.
  • 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).

Translations:

  • 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,
    Swedish, Turkish.
16 Likes

Wow; finally see it about to happen. Sort of not sure to jump yet, though, since I want to make sure my plugins still work (PSP, User filter, G’MIC, etc). Thanks for sharing the info. :slight_smile:

I really like the color management in the image menu, the color temperature in the color menu, the GEGL filters and the storage of the filter parameters after each use.

:o)

As announced in a separate thread, a 2.10.0-RC1 AppImage is available for download here.

3 Likes

Well done GIMP!

Are there GIMP devs in our forum?

I used @Carmelo_DrRaw’s AppImage to check it out, and noticed that the “playground” section in Preferences where responsible adults can enable experimental code is gone, it was there in 2.9.8. I was hoping to check out gegl:matting-levin but it wasn’t there. Can someone shed some light about the missing playground and whether gegl:matting-levin will be available in 2.10?

1 Like

Per Ell on #gimp:

Ell (IRC)
patdavid_m: the playground is hidden by default for stable releases, but you can enable it with $ gimp --show-playground

matting-levin is part of the Foreground Select tool, I believe.

1 Like

I was hoping to check out gegl:matting-levin but it wasn’t there

it’s one of the two matting options in the new Foreground Select tool. You don’t have to enable it in the Playground :slight_smile:

2 Likes

I only saw one option in the AppImage, did I miss it?

I think @Carmelo_DrRaw just needs to make sure gegl is built with libumfpack :

2 Likes

Also, Ell has built Windows binaries.

2 Likes

I’ve added the missing dependency, and a new package is ready for download.

I have checked, and the “Matting Levin” option is now available on my test system:

16

@Morgan_Hardwood: could you check if you see it as well?

Thanks!

3 Likes

I see “Matting Global” and “Matting Levin” here on debian 9.

2 Likes

Thanks @Carmelo_DrRaw, it’s there now.

1 Like

Hi,

I am using a quite old AMD Athlon x2 64 system with Windows 10 and have noticed that Partha’s portable build “GIMP 2.10 RC1 64-bit Standard Edition portable” is much faster than the build provided by the installer on the official gimp website.

For example, on a particular image the filter “Olify” finishes with Partha’s build after eight seconds. The official Gimp 2.10 takes about 30 seconds to complete this task. I have used the same image, same filter settings, same bit depth (16-bit) and set the threads to be used to two on both versions.

I didn’t change any of the default settings on both builds as far as I remember.

Personally I am not using Gimp at the moment (just tried it out) but I thought that this information might be helpful.

Best regards!

1 Like

Thanks for the feedback @Fridolin! All I can say is that @partha is quite skilled, some I’m sure he’s got some secret sauce to his builds. Maybe he’ll share what that is with us. :slight_smile:

Installed Partha’s version on win7, used the Monkey Business image via darktable, some G’MIC and such, really looks smooth and stable. The AppImage will have to wait till tomorrow. Be well!

1 Like

What has to be done to get the DT or RT plugins active?

It should be enough to have the corresponding executable in your path… are you testing in Linux or something else?

@Carmelo_DrRaw

I am testing on W10 with Partha’s build and with official build.

It works for Darktable but not for RawTherapee.

1 Like

Bonjour,

Following a request I compiled Gimp 2.10.0 RC1.

English translation and specificities :

https://translate.google.com/translate?sl=fr&tl=en&js=y&prev=_t&hl=fr&ie=UTF-8&u=https%3A%2F%2Fsamjcreations.blogspot.ca%2F2018%2F03%2Fversion-de-developpement-gimp-210.html

https://translate.google.com/translate?sl=fr&tl=en&js=y&prev=_t&hl=fr&ie=UTF-8&u=https%3A%2F%2Fgimp-attitude.org%2Fforum2%2Fviewtopic.php%3Ff%3D65%26t%3D12021

GimpEval is a bit technical…

:o)