GIMP 2.8.22 Released

We are releasing GIMP 2.8.22 with various bug fixes.

All platforms will benefit from a change to the image window hierarchy in single window mode, which improves painting performance when certain GTK+ themes are used.

This version fixes an ancient CVE bug, CVE-2007-3126. Due to this bug, the ICO file import plug-in could be crashed by specially crafted image files. Our attempts to reproduce the bug failed with 2.8 and thus the impact had likely been minimal for years, but now it is gone for good.

Users on the Apple macOS platforms will benefit from fixes for crashes during drag&drop and copy&paste operations. On the Microsoft Windows platforms, crashes encountered when using the color picker with special multi-screen setups are gone, and picking the actual color instead of black from anywhere on the screen should finally be possible.

Check out the full list of fixed issues since 2.8.20.

The source code, the Microsoft Windows installer and the Apple Disk Image for GIMP 2.8.22 are available from our downloads page; so yes, this time we made an effort to publish everything in one go 🙂

GIMP 2.8.20 Released

We are releasing GIMP 2.8.20 with various bug fixes—the most noticeable one being changes to the weird initial user interface language selection on macOS to make it use the user’s preferred language.

Also, for users on the Microsoft Windows platforms, an annoying oscillating switching between different input devices has been fixed, this should make using a tablet more reliable.

Check out the full list of fixed issues since 2.8.18.

The source code for GIMP 2.8.20 is available from our downloads page; pre-built packages for Microsoft Windows and macOS will follow shortly.

GIMP 2.8.18 Released

We are releasing GIMP 2.8.18 to fix a vulnerability in the XCF loading code (CVE-2016-4994). With special XCF files, GIMP can be caused to crash, and possibly be made to execute arbitrary code provided by the attacker.

This release includes additional bug fixes since 2.8.16. An important change has happened to the initial startup experience on Microsoft Windows and OS X platforms – any “GIMP is not responding” errors encountered there should be gone.

The source code for GIMP 2.8.18 is available from our downloads page; pre-built packages for Microsoft Windows and OS X will follow shortly.

GIMP 2.9.4 Released

We have just released the second development version of GIMP in the 2.9.x series. After half a year in the works, GIMP 2.9.4 delivers a massive update: revamped look and feel, major improvements in color management, as well as production-ready MyPaint Brush tool, symmetric painting, and split preview for GEGL-based filters. Additionally, dozens of bugs have been fixed, and numerous small improvements have been applied.

GIMP 2.9.4 is quite reliable for production work, but there are still loose ends to tie, which is why releasing stable v2.10 will take a while. Please refer to the Roadmap for the list of major pending changes.

Revamped User Interface and Usability Changes

The new version features several new themes by Benoit Touchette in various shades of gray: Lighter, Light, Gray, Dark, Darker. The system theme has been preserved for users who prefer a completely consistent look of user interfaces across all desktop applications.

New User Interface Themes

Note that we still consider this feature a work in progress, as dark themes still need some fine-tuning (especially regarding the color of inactive menu items).

The new UI themes are accompanied by symbolic icons originally created by Barbara Muraus and Jakub Steiner, and heavily updated and completed by Klaus Staedtler. The existing icon theme from past releases of GIMP has also been preserved, and users can freely switch between available icon themes and easily add their own ones.

Note that themes and icon themes are now separate: you can easily mix your favorite UI with various icon sets. Also since most 2.8 themes would end up broken in 2.9.x, themes are not migrated from GIMP < 2.9. Users who want custom themes will have to install ones specifically made for GIMP 2.9/2.10.

All work on icons by Klaus Staedtler is made on vector (SVG) images, which should allow better support for HiDPI displays (also commonly known as Retina) soon. Vector icons are an experimental feature, available after using the --enable-vector-icons build configure option. Note that this option does not allow HiDPI support at this time.

We cleaned the Preferences dialog a little and reordered options in a more logical manner. The Color Management page was redesigned following both internal and user-visible changes in relevant parts of GIMP (see below), and the Snap Distance options have been moved to a dedicated Snapping page.

Additionally, it is now possible to configure the size of undo step previews in the Undo dialog via the Preferences dialog, which was previously only possible by manually editing GIMP’s configuration file GIMP’s configuration file, by a complete oversight on our part.

The startup splash screen now features a pulsing progress bar to indicate that GIMP is not frozen. This, as well as initializing fontconfig in the background (also a new feature in 2.9.4), is meant to address a common issue where rebuilding the fonts cache (or building it for the first time) can take a lot of time hence making an impression that GIMP freezes at startup. We acknowledge that this is a workaround. Fixing the actual reason involves hacking on fontconfig. If you are interested, there is a bug report on that.

Color Management Improvements

The color management implementation got a complete overhaul in this version of GIMP. Instead of being a pluggable module, it is now a core feature. Moreover, we added an abstraction layer that makes GIMP less dependent on LittleCMS. This means that in the future GIMP could use native APIs on Windows and OS X, and/or use OCIO.

For now, it has helped us to clean up the code a lot and introduce a clean implementation of color management to various bits of GIMP such as: previews for color swatches and gradients, patterns, various color widgets (including the drag-and-drop color widget), the Color Picker tool, layer and image preview etc. The only unmanaged bit for now is the color widget in the Script-Fu and Python-Fu plug-ins. Moreover, GIMP will track which monitor the widget is currently on (different monitors would have different ICC profiles assigned to them) and color-correct it accordingly.

Grayscale images are first class citizens in GIMP once again: since v2.9.4, GIMP can color-manage them as well.

Since GIMP currently relies on sRGB (this is bound to change in future versions of GIMP), we decided to expose that in the user interface. So currently GIMP has an option called ‘Color-manage this image’ in two places: the New Image dialog and the Image > Color Management submenu. What it means is that instead of taking into consideration the ICC profile embedded into an image (whichever profile it is) it will just treat everything as sRGB. Please note that we are likely to reword the option to make it even more explicit about what it does.

Additionally, there’s now a View > Color Management submenu where you can enable and control softproofing.

The Color Management section of the Preferences dialog has been reorganized to reflect recent changes and provide more consistent wording of options.

Color Management Preferences

Since color management comes with a speed penalty (at least with LittleCMS), there’s a new option that enables you to choose either better color fidelity of faster processing depending on the kind of work you usually do.

Among smaller changes there’s a new Image > Color Management > Save Color Profile to File... command that does exactly what it says: it dumps an embedded ICC profile to disk as a file. Note that copyright restrictions on ICC profiles may apply, so please be careful.

GEGL

GIMP now keeps track of all GEGL-based filters that you used within one session and allows re-running them via the Filters > Recently Used submenu, just like old GIMP plug-ins.

The Posterize and Desaturate color tools have been converted to regular GEGL-based filters, and both the Tile and Pagecurl filters have been converted to use GEGL buffers. A quite popular “photographic” Highpass filter commonly used for enhancing details was added to the Filters > Enhance submenu.

A way more noticeable new feature, however, is split preview for GEGL-based filters. You can compare before/after versions right on canvas and move a “curtain” around to see more of “before” or “after”, and swap their positions (Shift + click on the guide). You can also switch between vertical and horizontal division (Ctrl + click).

GEGL preview curtain - original image by Aryeom Han

darktable as Raw Processing Plug-in

On Linux, GIMP is now capable of using darktable for pre-processing raw images from DSLRs (Canon CR2, Nikon NEF etc.). darktable is an amazing project whose developers stick around at our IRC channel and even contribute to GIMP (most recently, they added reading various metadata from EXR files).

Note that the file-darktable plug-in is activated only when darktable is built with Lua support. Make sure your build of darktable for Linux is feature-complete.

It is still possible to use other raw development plug-ins like UFRaw. For cases when multiple plug-ins are installed in your system, we intend to add a preference option.

Screenshots

The code for capturing screenshots has undergone a major reorganization. It’s now split into a front-end and several back-ends specific for Windows, OS X, Wayland and X.org (Linux and UNIX systems).

While there are no immediate user-visible changes, this reorganization will greatly simplify further improvements, hence improving user experience on different operating systems.

Painting

MyPaint Brush Tool

The new MyPaint Brush tool is now enabled by default. Daniel Sabo and Michael Natterer improved its performance and made MyPaint brushes available via an already familiar dockable dialog interface, with previews and tagging.

Jehan Pagès collaborated with the MyPaint team: he ported libmypaint to autotools, allowing, in particular, standard builds on all platforms, and work is being done to turn the default brushes into a separately shipped package.

Symmetry Painting

Another major new feature is symmetric painting mode, also developed by Jehan Pagès with financial support from the GIMP community. It can be activated through the new Symmetry Painting dockable dialog and allows to use all paint tools with various symmetries (mirror, mandala, tiling…).

  • Mirror” allows to paint with horizontal, vertical (axial), and/or central symmetry. The symmetry guides can be placed anywhere on canvas.
  • Mandala” is a rotational symmetry of any order. The center can be placed anywhere on canvas.
  • Tiling” is a translational symmetry, which can be finite (with a maximum of strokes) or infinite. In the latter case, it is the perfect tool to create patterns or seamless tiles, with instant rendering of what it will look like, at painting time.

Quick 1-minute test by Aryeom Han:

Symmetry painting

Tool Options

The mouse scroll-wheel action mappings have been improved, allowing, in combination with various modifiers, to do useful things on the currently selected tool’s options:

  • Alt + Mousewheel: opacity increase/decrease;
  • Shift + Primary + Mousewheel: aspect increase/decrease;
  • Shift + Alt + Mousewheel: angle increase/decrease;
  • Primary + Alt + Mousewheel: size increase/decrease;
  • Shift + Primary + Alt + Mousewheel: spacing increase/decrease.

Note: the Primary modifier is usually Ctrl or Cmd, depending on your platform.

Selections

For cases when your selection has a lot of small unselected regions, you can now use the Select > Remove Holes command.

Removing holes in selection

The Select > Border... dialog now provides several border style options: hard, smooth, and feathered. Feathered creates a selection which goes gradually from 1 to 0 the farther you get from the middle of the border. Smooth preserves partial selection (antialiasing) along the edges of the selection.

Border styles selection

Better Tools

The Fuzzy Select and Bucket Fill tools got a new feature for selecting/filling diagonally neighboring pixels.

Diagonal neighbors selection

The Blend tool got shapeburst fills resurrected, and allows the placement of their handles on the canvas, outside of the image area. Additionally, the Blend tool now displays its progress thanks to a new GEGL feature available in several GEGL operations including gegl:distance-transform.

The Text tool now fully supports advanced input methods for CJK and other non-western languages. Minimal support already existed, but the pre-edit text was displayed in a floating pop-up instead of inline, within the text tool box, and without any preview styling. It is now displayed just as expected, depending on your platform and Input Method Engine. Several input method-related bugs and crashes have also been fixed.

Input Method Engine support in text tool

Batch Processing on Command Line

A new macro with-files is now available in order to easily process multiple files through GIMP from the command line, which was a much awaited feature.

For instance, if you want to invert the colors of all PNG images in the current folder, then save them as JPEG, you could run the following from the command line:

gimp -i -b '(with-files "*.png"
                (gimp-invert layer)
                (gimp-file-save 1 image layer
                    (string-append basename ".jpg")
                    (string-append basename ".jpg")
                )
            )
            (gimp-quit 0)'

Note: the name of the macro may change before the release of v2.10.

Email Plug-in Resurrected

The File > Send by email… dialog will open your default email client with an attached copy of the current image, to share your work-in-progress with a single click. This is available only on operating systems with xdg-email (likely GNU/Linux, BSD only).

The original implementation using sendmail is also available. Yet since it requires a properly configured sendmail, which is not common on desktop machines, the explicit --with-sendmail option has to be set at build time to replace the xdg-email implementation.

Debugging Facilities for Windows

In the unlikely event that GIMP crashes, we need as much information as possible to find out the actual bug. The raw crash log is one such source of information. Windows builds can now generate backtrace logs upon a crash with Dr.MinGW’s ExcHndl library, which must be available at build time. The logs will be stored in %APPDATA%\GIMP\2.9\CrashLog\.

What’s Left To Do for GIMP 2.10

Since the release of v2.9.2 we have been mostly fixing bugs and completing the work we had started earlier. We are not planning to add any major new features in v2.10. If you are interested in helping us release v2.10 earlier, you can find the list of bug reports in our bugtracker.

Some Statistics on Our Awesome Contributors

GIMP 2.9.2 was released on November 27, 2015. Since then, the work to reach GIMP 2.9.4 was done in 1348 commits, making an average of 5.9 commits a day, of which 894 are (mostly) code-related, 241 are icon-related, and 213 are translation updates.

As usual, the GIMP team is small yet as dedicated as ever: more than a third of the commits have been done by Michael Natterer (514), the next biggest contributors being Jehan Pagès (192) and Klaus Staedtler (187). The three of them represent 66% of all commits.

Note: contributions by Jehan Pagès were made on behalf of ZeMarmot Open Movie project: symmetry painting, MyPaint library integration, email plugin, Input Methods, management of the new themes and icons contributions, and more…

We have prolific newcomers among developers:

  • Ell joined us with significant code contributions (32 commits), such as the diagonal neighbours, the “Remove Hole” command, and many other fixes;
  • Tobias Ellinghaus, a darktable developer, contributed 14 commits on darktable integration and improving EXR and PNM support.

Of course, we also have our usual suspects with 10+ code commits: Alexandre Prokoudine, Daniel Sabo, Kristian Rietveld, Massimo Valentini, and Michael Henning.

And since no patch is too small, it would be completely unfair to forget all other code contributors: Adrian Likins, A S Alam, Carol Spears, Eugene Kuligin, Jasper Krijgsman, João S. O. Bueno, nmat, Richard Kreckel, saul, Shmuel H, Jonathan Tait, Michael Schumacher, Pedro Gimeno, Richard Hughes, Benoit Touchette, Hartmut Kuhse, Kevin Cozens, Elle Stone, Mukund Sivaraman, Øyvind Kolås, Sven Claussner, Thomas Manni, Alexia Death, Andrew Worsley, Simon Budig, and Piotr Drąg.

New icons are a big work in progress, with 241 commits, mostly by Klaus Staedtler, with additional contributions from Aryeom Han, Benoit Touchette, Jehan, Kevin Payne, Michael Natterer and Øyvind Kolås.
We should not forget Benoit Touchette for his work in progress on themes, as well as some code contribution.

We would like to thank as well every 30 translators: Alexandre Prokoudine, Ask Hjorth Larsen, Balázs Meskó, Balázs Úr, Christian Kirbach, Cédric Valmary, Daniel Korostil, Daniel Mustieles, Dimitris Spingos, Dušan Kazik, Gábor Kelemen, Hartmut Kuhse, J.M. Ruetter, Jordi Mas, Khaled Hosny, Marco Ciampa, Mario Blättermann, Martin Srebotnjak, Mónica Canizo, Necdet Yücel, Pedro Albuquerque, Piotr Drąg, Rūdolfs Mazurs, Sebastian Rasmussen, Sveinn í Felli, Tiago Santos, Yolanda Álvarez Pérez, Klaus Staedtler, kolbjoern, and Милош Поповић.

Note: Statistics based on the number of commits provide valuable information regarding the activity of a project, yet they are not always a perfect indicator of contribution, so the goal of this section is not to have any kind of contributor rank. For instance, one commit could be a one-liner, whereas another could contain several hundreds of lines (and even this may not always be a good indicator of the time spent on and the difficulty of the fix).

Moreover we should not forget all the “shadow contributors”, whose contributions cannot be counted as easily, working on things such as code review (which Massimo Valentini should be especially commended for), bug triaging and follow-up (Michael Schumacher here would get a prize!), community, website, and communication (Akkana Peck, Patrick David, and others)…

We sincerely hope we did not forget anyone, and we want to say: thank you.

Downloads

The source code is available from the Downloads page. An installer for Windows will be available shortly. A build for Mac OS X is not available at this time.

20 Years of GIMP, release of GIMP 2.8.16

This week the GIMP project celebrates its 20th anniversary.

Back in 1995, University of California students, Peter Mattis and Spencer Kimball, were members of the eXperimental Computing Facility, a Berkeley campus organization of undergraduate students enthusiastic about computers and programming. In June of that year, the two hinted at their intentions to write a free graphical image manipulation program as a means of giving back to the free software community.

On November 21st, 20 years ago today, Peter Mattis announced the availability of the “General Image Manipulation Program” on Usenet (later on, the acronym would be redefined to stand for the “GNU Image Manipulation Program”).

Wilber Birthday Strip

Since its public release the project has been evolving in many ways as a testbed for new ideas, which was considerably assisted by adding plug-in architecture. Over the years, GIMP amassed a huge amount of new features designed for all kinds of users and practical applications: general image editing, retouching and color grading, digital painting, graphic design, science imaging etc.

Between 2006 and 2012, the team collaborated with Peter Sikking of man+machine works to define product vision and improve user experience. Thanks to this collaboration GIMP’s user interface has become more conventional for professional users, and various tools have become more powerful and easy to use. But more importantly, we got a much better idea how to design good interfaces.

In the past several years we’ve been working hard on porting GIMP to a newer image processing engine called GEGL. The switch to GEGL made us rewrite or at least tweak pretty much every part of GIMP’s source code. Fortunately, this work is nearing completion, and you’ll soon be able to benefit from all the changes that it’s bringing.

New Releases and The Future

To celebrate the 20th anniversary, we released an update of the current stable version of GIMP. Newly released GIMP 2.8.16 features support for layer groups in OpenRaster files, fixes for layer groups support in PSD, various user inrterface improvements, OSX build system fixes, translation updates, and more changes.

Our immediate future plans are to release first public version in the unstable 2.9.x series that will feature fully functional GEGL port, 16/32bit per channel processing, basic OpenEXR support, vastly improved color management implementation, new tools, on-canvas preview for many filters, and more. This release will encompass over three years of work and become the first milestone towards 2.10.

Following v2.10 release, we shall complete the GTK+3 port that is required to bring back state of the art Wacom support for Windows users. When it’s done and GIMP 3.0 is out, we shall finally be able to get started on some very exciting and much anticipated features like non-destructive editing. Please refer to Roadmap for more details.

New website

In conjunction with the 20th anniversary we have updated and revamped the website.
The vast majority of the work on the new website was done by Pat David.

The update (finally) includes some much needed improvements such as news items with permalinks and full RSS/Atom feeds.
The site is also now responsive to adapt to various screen sizes.
Try it on a mobile device or tablet!

Wilber Birthday Snapshot


Wilber & Co. comics courtesy of Aryeom & Jehan.

SourceForge, What the…?

Some of you might remember that in November 2013, we abandoned SourceForge (SF) as the primary download site for the GIMP installers for Windows platforms and moved the files to our own download server, download.gimp.org

The tons of links on the web pointing to the former site made keeping the installers there as well a necessity, though, and since SF claimed that our outrage over their “installer with benefits” was based on a misunderstanding, this seemed to be a low-risk approach.

However we are receiving reports that people who get there by chance receive small installers that include additional software. And it’s no clicks on those ‘big green download arrow’ ads this time, we’ve tried ourselves. SF has not responded to our inquiry yet, and we found that the maintainer of the GIMP for Windows installers is locked out of that SF project now.

Update:
And now SF is launching an attempt at damage control.

Ars Technica has a nice summary, with insightful comments.

Please go to our own downloads page to get the GIMP for Windows installers.

GIMP Project’s Official Statement on SourceForge’s Actions

This is the GIMP project’s official statement on SourceForge’s actions in regard to “abandoned” projects on their service.
It is archived in the GIMP Developer mailing list archive.

We are fully aware that since their launch in 1999, SourceForge had been providing a valuable service to the Free Software community and that this service may still be relevant to some Free and Open Source Software projects today.

The GIMP project did benefit from this service: SourceForge was the place to download the Windows installer for GIMP for many years and we appreciate it as an important part of GIMP history.

When it comes to distributing GIMP, our goal is to make it as easy as possible for users to install GIMP.
We do not want our users having to dodge any “offers” or to worry about possibly installing malware in the process.

With our shared history, it was painful to watch the invasion of the big green “Download” button ads appearing on the SourceForge site. Our decision to move the Windows installers away from SourceForge in 2013 was a direct result of how its service degraded in this respect.

The situation became worse recently when SourceForge started to wrap its downloader/installer around the GIMP project binaries. That SourceForge installer put other software apart from GIMP on our users’ systems. This was done without our knowledge and permission, and we would never have permitted it. It was done in spite of the following promise made by SourceForge in November 2013:

we want to reassure you that we will NEVER bundle offers with any project without the developers consent. (emphasis in original)

To us, this firmly places SourceForge among the dodgy crowd of download sites.
SourceForge are abusing the trust that we and our users had put into their service in the past.

We don’t believe that this is a fixable situation.
Even if they promise to adhere to the set of guidelines outlined below, these promises are likely to become worthless with any upcoming management change at SourceForge.

However, if SourceForge’s current management are willing to collaborate with us on these matters, then there might be a reduction in the damage and feeling of betrayal among the Free and Open Source Software communities.

An acceptable approach would be to provide a method for any project to cease hosting at any SourceForge site if desired, including the ability to:

  • completely remove the project and URLs permanently, and not allow any other projects to take its place
  • remove any hosted files from the service, and not maintain mirrors serving installers or files differing from those provided by the project or wrap those in any way
  • provide permanent HTTP redirects (301) to any other location as desired by the project

This is not unreasonable to expect from a service that purports to support the free software community.

gimpguru.org — R.I.P.

We noticed that gimpguru.org, once the host of GIMP tutorials (some of which are also present in our Tutorials section) has been abandoned by its original owner and is redirecting visitors to some very suspicious downloads—don’t go there.

We have removed all links pointing there from the tutorials (please do tell if we missed one), and caution everyone to only consider links on our own downloads page and the sites linked from there.

Special announcement for domain owners: if you own a domain with gimp in its name and host a forum or something else, and don’t feel like you want to continue to do so or renew it some day, please approach us – we’d rather take it over ourselves and have it point to www.gimp.org than see it being abused like that.

GIMP 2.6.9 Released

It’s been a while since the last release. Quite a few bug-fixes have piled up in the stable branch, so here’s another release in the stable GIMP 2.6 series. Please have a look at the NEWS file for a detailed list of changes.

The source can be downloaded from ftp.gimp.org. Binary packages for various supported platforms should become available soon; please check the Downloads section.