GIMP 2.7 Release Notes

This is an unstable development version of the GNU Image Manipulation Program. Please realize that this is just a snapshot of the development tree. We are working hard towards GIMP 2.8, the next stable release. GIMP 2.7 is in no way a final product. A lot of new features are incomplete and some things may even be completely broken. If you need to get work done, please use the stable version, GIMP 2.6.

Introduction

GIMP 2.7 is the result of three years of hard work and collaborative development. This version of GIMP is equipped with a wealth of new features, including some highly requested ones. Keep reading to find out exactly what GIMP 2.7 has to offer you in areas such as the user interface, tools, and plug-ins.

User Interface

Single-Window Mode

Single-window mode screenshot

GIMP 2.7 introduces an optional single-window mode. You can toggle between the default multi-window mode and the new single-window mode through the Single-window mode checkbox in the Windows menu. In single-window mode, GIMP will put dockable dialogs and images in a single, tabbed image window. The single-window mode setting is of course preserved if you quit and start GIMP again. Single-window mode liberates the user from the burden to manage windows. Developers: Martin Nordholts, Michael Natterer Interaction Architect: Peter Sikking

Layer Groups

Layer groups screenshot

For complex compositions, a flat layer structure is very limiting. GIMP 2.7 enables users to better organize their compositions through the introduction of layer groups. Layer groups allow layers to be organized in tree-like structures. Layer groups are fully scriptable through the GIMP plug-in API. Developer: Michael Natterer Interaction Architect: Peter Sikking

Multi-Column Dock Windows

Multi-column dock windows screenshot

GIMP 2.7 allows dockable dialogs in a dock window to be placed in multiple columns. To create a new column in a dock window, drag and drop a dockable dialog on the vertical edges of the dock window. This is an appealing feature for multi-monitor users where on screen can have a big dock window with the all dialogs and the tools, while all images are on other displays. Developer: Martin Nordholts Interaction Architect: Peter Sikking

Tools drawn with cairo

Tools drawn with cairo screenshot

All tools rendering on canvas has been ported to Cairo to provide smooth antialiased graphics and make GIMP's look and feel match modern users expectations. All but a few plug-ins have been ported over to Cairo as well. Additionally all tools now use an on-canvas progress indicator instead of the one in the statusbar. Developer: Michael Natterer

On-Canvas Text Editing

On-canvas text editing screenshot

Text editing with the Text Tool is now performed on-canvas instead of in a separate window. The editing on-canvas is rather sophisticated: apart from the usual text formatting features like font family, style and size selectors you get numeric control over baseline offset and kerning, as well as ability to change text color for a selection. You can also use a combination of Alt and arrow keys to change baseline offset and kerning. This feature was originally developed during Google Summer of Code 2008 and heavily improved since. Change the Text Tool to perform text editing on-canvas (GSoC 2008) and add the ability to mix different text styles in the same layer Add support for color tags in text layers Developers: Daniel Eddeland, Michael Natterer

Save And Export

Save and export screenshot

A rather big conceptual change is that saving and exporting images now are clearly separated activities. Saving an image can only be done in the XCF format. To export into other formats File->Export... needs to be used. There are some optimizations for alternative workflows such as opening a jpg, polishing it, and quickly exporting back to the original file. This conceptual change has also allowed us to get rid of the annoying dialogs that warned about the flatting of images when saving to non-layered formats. Developer: Martin Nordholts

Keyboard Shortcut Changes

Since the keyboard shortcuts Ctrl+E and Ctrl+Shift+E has been taken over by the image export mechanisms, new keyboard shortcuts have been setup for "Shrink Wrap" and "Fit in Window", namely Ctrl+J and Ctrl+Shift+J respectively. Developer: Martin Nordholts

Simple math in size entries

Math in size entries screenshot

Enhancements have also been made to the size entry widget, the widgets that are used for most of the x, y, width, height input. For example, in the scale dialog it is now possible to write "50%" in the Width field to scale the image to 50% of the width. Expressions such as "30in + 40px" and "4 * 5.4in" works too. Developer: Fredrik Alströmer

More screen real estate for dockable dialogs

Removed docking bars screenshot

The docking bars have been removed and replaced with overlaid highlights. The dockable drag handle has been removed and the dockable menu button has been moved up to the tabs. A new Automatic tab style has been added which makes dockable tabs use the available space. Developer: Martin Nordholts

Minor Changes

Math in size entries screenshot

Developers: TODO

Tools & Plug-ins

Brush System Improvements

Brush system improvements screenshot

The brush dynamics engine has been expanded considerably, making almost all aspects of the brush engine drivable by a multitude of inputs, all of them configurable with their own response curve. Because of the expansion, dynamics were separated from tool options and converted into a resource in their own right. The Google Summer of Code 2009 Advanced GUI for Brush Dynamics project was the start of its development. Developers: Alexia Death, Michael Natterer, Zhenfeng Zhao

Tool preset improvements

You can now save existing state of any tool as a preset and give it a meaningful name. The presets are accessible from a new Tool Presets dockable dialog and additionally can be tagged so that you could easily manage a lot of presets. This new feature completely replaces the previously existing tool presets system to a new level of accessibility. It also makes it possible to distribute tool presets just like any other resource because each preset is saved as an individual file. A python script for converting old tool presets to new ones will be provided with the next development release. Developers: Michael Natterer, Alexia Death

Cage Transform Tool

Cage transform tool screenshot

A completely new Cage transform tool has been added thanks to excellent work of one of our Google Summer of Code 2010 students. The tool implements an innovative approach to free transformation and makes it possible to easily warp parts of objects using an adjustable user-defined polygonal frame. Developers: Michael Muré

File Plug-Ins

A plug-in for loading JPEG2000 images have been added, and also a plug-in for X11 Mouse Cursor files. Also add fundamental OpenRaster (.ora) import and export support. Add RGB565 support to the csource plug-in. Developers: Aurimas Juška, Takeshi Matsuyama

A Cairo based PDF exporter was implemented. While being somewhat simplistic the exporter saves text, embedding fonts into final PDF file, and attempts to convert all flat filled areas to vector objects. Developer: Barat Itkin

Last, but not least a Web-page plug-in was added to render any web page into an image using Webkit.

For Tablet Users

For stylus users screenshot

A new experimental widget was added to meet requirements of graphic tablets users. The widget combines a slider, a label and a numeric value control which both simplifies adjusting value using a stylus, better visualizes the current value and provides more compact UI. It is now used in the Tools Options dockable dialog for opacity control and most options of brush based tools. Developer: Michael Natterer

Another useful feature for users of advanced input devices such as graphic tablets is a completely new dialog for input device configuration that allows to configure per-device pressure curves to compensate for hardware differences and personal per-pen preferences. Developer: Michael Natterer

People with Intuos tablets and either Artpen or Airbrush styluses will be glad to find that Airbrush wheel and Artpen rotation are available for driving dynamics via the "Wheel" input. Developer: Alexia Death

Resource tagging

Resource tagging screenshot

It is now possible to tag GIMP resources such as brushes and patterns. The tagging is performed from the respective dockables e.g. the Brushes dockable, and it is possible to filter resources based on these tags. The tags are saved to an XML file, external to the data files themselves. This feature finally enables grouping of resources and the plan is to add a bigger set of default resources for GIMP 2.8. It is possible to tag multiple resources simultaneously in the UI. There are still work that needs to be done here, for example providing a set of default brushes. This feature was developed during Google Summer of Code 2008. Developer: Aurimas Juška Interaction Architect: Peter Sikking

Resources

We have started to overhaul the default set of resources and in this version there have been some changes to the default set of brushes. The silly "Untitled" has been removed from unnamed palette entries. Developer: Martin Nordholts Artist: Johannes Engelhardt

Minor Changes

Developers: Alexia Death, gcpatch, Mikael Magnusson, Jon Nordby, Martin Nordholts, Jakub Steiner, Massimo Valentini, TODO

Miscellaneous

Plug-in Development

GIMP 2.6 also further enhances its scripting abilities. For example, API changes to support layer groups have been made. Here is a list of new symbols in GIMP 2.8.

API changes

A lot of GIMP's APIs have been refactored to simplify developing new scripts.

Licence

The GIMP license has been changed to (L)GPLv3+.

GEGL

The projection code, the code that composes a single image from layers, have been ported to GEGL. This includes the layer modes, as well as support for nested layers aka layer groups. Also, preparations have been made for better and more intuitive handling of the floating selection. Developers: Michael Natterer, Martin Nordholts

Roadmap

The GIMP developers now maintain a roadmap for GIMP development found here: http://wiki.gimp.org/index.php/Roadmap

GIMP 2.7 Screenshots (Todo, these are from 2.6)

First GIMP 2.6 startup

First startup of GIMP 2.6 on a 1280x800 GNOME desktop.

Alternative UI example

UI layout example: Tool Options moved out of the toolbox.

Another alternative UI example

UI layout example: Using the image window as a background window.

Brush Dynamics at use

Demonstrating the kind of effects the new Brush Dynamics can create.

On-canvas Gaussian Blur

Full screenshot of on-canvas preview of Gaussian Blur using the experimental GEGL Operation tool.

Known Regressions

GIMP 2.8 relies on a newer version of GTK+2 that unfortunately has partially broken support for graphics tablets such as Wacom. If your graphic tablet doesn't work in GIMP 2.8 as it should, we recommend downgrading to 2.6 until we release GIMP 3.0 that relies on GTK+3 which has fully functional support for advanced input devices.

To address the needs to migrate from the old tools presets system to the new one we provide a script in Python. However, the old tools presets are not 100% convertible to the new tool presets. For instance, brush scale from 2.6 can't be converted to brush size in 2.8.

Download

The development snapshots of GIMP can be downloaded as source code from ftp.gimp.org or from one of the mirrors listed in the Downloads section.

Distribution of binary packages of the development version is discouraged unless it is made clear that this is an early development snapshot. Users should be referred to these release notes or similar information.

Installation

GIMP 2.7 must not be installed in the same prefix as other GIMP 2.x versions. If you want to keep your GIMP 2.6 installation in parallel to GIMP 2.7, you have to choose a separate installation prefix at compile-time and ensure that you use different library search paths for each version. If you do not set up your environment differently for each version, you will experience conflicts with the libraries and at least one version is likely to fail.

Also, do not install GIMP 2.7 to /usr/local because on most systems, its libraries would override the libraries of a stable GIMP 2.6 installed into /usr, breaking your distribution-installed GIMP from slightly to completely. The same applies to any prefix your system uses for the purpose or overriding things in /usr/lib.

You install the new version into a separate prefix, say /opt/gimp-2.7 by passing --prefix=/opt/gimp-2.7 to the configure script. Then, in order to run the binary installed there, you change your environment to look for executables in /opt/gimp-2.7/bin by setting PATH=/opt/gimp-2.7/bin and you tell your linker to pick up libraries from /opt/gimp-2.7/lib by setting LD_LIBRARY_PATH=/opt/gimp-2.7/lib. Do not forget to export both variables.

You can use a tiny wrapper script called gimp-2.7 and place it into /usr/local/bin or elsewhere in your PATH. The script would look something like this:

#!/bin/sh

PATH=/opt/gimp-2.7/bin:$PATH
export PATH
LD_LIBRARY_PATH=/opt/gimp-2.7/lib
export LD_LIBRARY_PATH

/opt/gimp-2.7/bin/gimp-2.7 "$@"

Bugs

If you think you found a bug in a development version, please make sure that it hasn't been already reported. Search Bugzilla before filing a new bug-report. Here are some interesting Bugzilla queries:

Contributing

We need your help to make GIMP 2.8 a success. If you want to join us hacking, show up in #gimp or introduce yourself on the gimp-developer mailing-list. We are also looking for people to look after the web-site and update the tutorials. Or you might want to join the documentation team.