Release:2.10 changelog

From GIMP Developer Wiki
Revision as of 17:57, 23 April 2016 by Jehan (Talk | contribs)

Jump to: navigation, search

This page should aid documentation authors in updating the user manual for the upcoming 2.10 release.


GIMP 2.10 uses GEGL image processing library for all operations.

  • new Image -> Precision submenu
  • switch between perceptual gamma and linear light
  • optional dithering during conversions between precision modes
  • optional experimental hardware-accelerated rendering and processing via OpenCL (see Edit -> Preferences -> System Resources)

Layers, Paths, Channels

  • Add content locking to items to prevent them from being edited
  • Add position locking to items to prevent them from being translated
  • Overlay mode is not identical to Soft Light mode anymore and finally relies on a widely used formula from both PDF specification, as well as W3C’s “Compositing and Blending Level 1” spec
  • Add LCH layer modes: Hue, Chroma, Color, and Lightness. See for details


New Tool: Unified Transform

Combines rotation, scaling, skewing, and adjusting perspective in a single tool.

New Tool: Warp Transform

Replaces the old iWarp plugin and provides its features in a tool that works directly on images, without a preview window.

New Tool: Handle Transform

Apply scaling, rotating, and perspective correction using handles placed on the canvas.

New Tool: N-Point Deformation

A new way to bend objects while preserving a natural look.

New Tool: Seamless Clone

Simplifies merging one image into another by adjusting brightness and colors of the pasted image to match the look of the image it is pasted to.

New Tool: MyPaint Brush

Use MyPaint brushes for painting.

Updated Tool: Blend

The tool is now more interactive. After drawing with the tool to define the beginning and the end of the gradient fill, you can adjust start/end positions and change colors.

Updated Tool: Align

Now features vertical and horizontal fill modes.

Updated Tool: Foreground Select

Can finally make subpixel selections in complex cases such as strays of hair on textured background. Two new masking methods for that were added, and the user interface was updated accordingly.

Updated Tool: Text

  • Port text rendering to GEGL
  • Use HarfBuzz to inspect fonts for creating an example string

Updated Tool: Select by Color

  • new Draw mask option to display future selection area with a magenta fill

Updated Tool: Fuzzy Select

  • new Draw mask option to display future selection area with a magenta fill
  • new Diagonal neighbours option to select diagonally neighboring pixels

Updated Tool: Bucket Fill

  • new Diagonal neighbours option to fill diagonally neighboring pixels

Updated Tool: Desaturate

  • turn the Desaturate tool into a normal GEGL filter
  • move "Desaturate" to Colors -> Desaturate

Updated Tool: Posterize

  • Turn the posterize tool into an ordinary GEGL filter
  • Remove posterize from Tools -> Colors


  • On-canvas preview for all filters that use a GEGL operation
  • On-canvas preview can be split to see part of the image before and part after the filter (preview curtain)
  • Allow plug-ins to access image data at full bit depth
  • Add a compat mode so unported plug-ins always get 8-bit data
  • New plugins/filters: Mono Mixer, Color to Gray, Sepia, Color Temperature, Exposure (FIXME: CHECK the full list)
  • Removed plugins: Maximum RGB, iWarp (FIXME: CHECK the full list)
  • Decompose plugin supports LCH now (FIXME: CHECK the full list of supported color models)

Color Management

  • Implement all color management in the core (not as a plugin)
  • Support ICC v4 color profiles
  • Make both RGB and Greyscale images color managed
  • Reimplement assigning, converting, and discarding ICC profiles
  • Display ICC profiles metadata in various parts of UI (color space conversion, selection of a profile from the disk etc.)
  • Add preferred RGB and GREY color profiles settings to the Preferences dialog to make them quickly accessible in profile selection combo boxes

File Access

File access ported to GIO allowing to access remote files seamlessly.


  • Implement metadata handling in the core
  • Add Image -> Image Metadata dialog for viewing Exif, IPTC, and XMP info
  • PNG, JPEG, and TIFF exporters now have Save Exif, Save IPTC, and Save XMP options in the Advanced group of settings

File Format Support

  • 16-bit per color channel support for PNG
  • 16/32-bit per color channel support for TIFF and PSD
  • 16/32/64-bit per color channel support for FITS
  • OpenEXR loading and exporting
  • WebP loading and exporting
  • Add zlib compression to XCF loading/saving

Dockable Dialogs

  • Add an automatic palette of recently used colors
  • The FG/BG Color dock features the 12 most recent colors at the bottom
  • Add MyPaint Brushes dialog

Digital Painting

  • Canvas rotation and flipping have been added to facilitate users who need to paint from a different angle or check composition for errors (View -> Flip and Rotate submenu, Shift (+ Ctrl) + middle mouse button drag).
  • Symmetry painting for all painting tools (Paintbrush, MyPaint Brush, Eraser etc.). Available through likewise named dockable dialog, enabled on per-image basis. Modes: Mirror, Tiling, Mandala (Kaleidoscope).
  • Optional locking of brush size to zoom (bottom of every painting tool's options).
  • All tools that use GIMP’s brush engine have Hardness and Force sliders now.


  • Icon Themes can be added, selected, and removed now (Edit -> Preferences -> Interface -> Icon Theme)
  • Pages in the Preferences dialog regrouped
  • New Image Windows -> Snapping page in the Preferences dialog allows choosing default snapping settings for both normal and fullscreen modes
  • Snapping distance setting has move to the Image Windows -> Snapping page
  • Selection of visible tools in the toolbox has moved to the Interface -> Toolbox page
  • Configuration directory now follow OS-specific standards:
- UNIX platforms (except OSX) follow FreeDesktop's XDG standards: $XDG_CONFIG_HOME/GIMP/{GIMP_APP_VERSION}
- OSX: NSApplicationSupportDirectory/GIMP/{GIMP_APP_VERSION}

General Changes

Internal Changes

  • Add undo/redo to many tools using the normal shortcuts (FIXME: provide a more detailed explanation)

UI changes

  • Allow zooming to the selection
  • Make the image tab position configurable in single window mode
  • Add more format string options for the image title ('%e' for offsets, '%r' for rotation, '%o' for current ICC profile)
  • Simplify and reduce the actions that modify paint tool behavior (FIXME: provide a more detailed explanation)
  • Allow selecting colors from an image's colormap
  • New symbolic icon themes (light and dark)
  • New color icon theme (previous color theme is still here under the name "Legacy")
  • 5 new themes (lighter, light, gray, dark, darker).
  • The new theming defaults are: "Dark" theme and "Symbolic" icon theme. Note: old themes will likely be broken and won't be migrated when updating to GIMP 2.10.
  • New "Action Search" dialog
  • New "Select -> Remove holes" command to clean up selection with small unselected areas inside (see bug 761060)
  • Allow tool dialogs to be embedded on the canvas generically

Batch processing

  • Batch commands can now be run on an existing GIMP instance.

API Changes

  • Add gimp_pdb_image_get_guide()
  • Add PDB sample point API similar to how the guide API works.
  • Add core API similar to the core guide API to make guide and sample point APIs as similar as possible.
  • Add PDB API to configure/query all aspects of line stroking.
  • Add gimp_context_set/get_mypaint_brush()
  • Add gimp_image_convert_color_profile_from_file()
  • Add gimp_image_set_color_profile_from_file()
  • Remove "set" and "set-rgb" from the lcms plug-in
  • Remove the lcms plug-in and add PDB compat procedures
  • Add gimp_image_convert_color_profile() PDB wrapper
  • Add gimp_image_get_effective_color_profile()
  • Add gimp_image_get_color_profile() and gimp_image_set_color_profile()
  • Rename the "guides" PDB group to "imageguides"
  • Rename the "grid" PDB group to "imagegrid"
  • Rename the "convert" PDB group to "imageconvert"
  • Rename the "undo" PDB group to "imageundo"
  • Change range of brush-spacing to 0.01..5.0
  • Add gimp_context_get_brush_hardness and gimp_context_set_brush_hardness
  • Add gimp_context_get_brush_force and gimp_context_set_brush_force
  • Add gimp_context_get_brush_spacing and gimp_context_set_brush_spacing
  • Remove enum GimpConvolutionType from the public API
  • Add gimp_paint_options_set_default_brush_size()
  • Deprecate gimp-brightness-contrast, add gimp-drawable-brightness-contrast
  • Deprecate gimp-levels, add gimp-drawable-levels
  • Deprecate gimp-levels-auto, add gimp-drawable-levels-stretch
  • Deprecate gimp-levels-stretch, add gimp-drawable-levels-stretch
  • Deprecate gimp-posterize, add gimp-drawable-posterize
  • Deprecate gimp-desaturate, add gimp-drawable-desaturate
  • Deprecate gimp-desaturate-full, add gimp-drawable-desaturate
  • Deprecate gimp-equalize, add gimp-drawable-equalize
  • Deprecate gimp-equalize, add gimp-drawable-colorize-hsl
  • Deprecate gimp-hue-saturation, add gimp-drawable-hue-saturation
  • Remove all traces of the supersampling recursion level from all transform APIs
  • Add gimp_image_get_precision
  • Add gimp_image_new_with_precision
  • Add gimp_image_convert_precision
  • Port drawable pixel access API to GEGL
  • Add support for omitting the "gimp-" prefix from the procedure name
  • Add gimp-selection-flood PDB op to clean up selection with small unselected areas inside