Release:2.10 changelog

From GIMP Developer Wiki
Revision as of 11:53, 24 April 2018 by Prokoudine (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

The changes listed here are being filed as bug reports. We encourage you to contribute new docs and updates. For the list of reports please visit the bugzilla.

Core

GIMP 2.10 uses GEGL image processing library for all operations.

  • Processing with 8-bit, 16-bit, and 32-bit per color channel precision, accessible via new Image -> Precision submenu
  • 'Precision' option in the 'New Image' dialog
  • A switch between perceptual gamma and linear light for already opened images
  • Layer modes available in gamma-corrected and linear light versions now (where applicable), legacy rendering preserved for older XCF files
  • Gamma, precision, and color profile selector for newly created images (GimpTemplate)
  • Optional dithering during conversions between precision modes, never dither when converting to a higher bit depth, or to anything more than 16 bits
  • Optional experimental hardware-accelerated rendering and processing via OpenCL (see Edit -> Preferences -> System Resources)
  • Optional multi-threading available again, the default value is set to the amount of automatically discovered CPU cores, max is 64
  • Pre-initialize some babl-based pixel format conversion routines at the start-up to decrease the initial lazy initialization cost for some interactions

Layers, Masks, Paths, Channels

  • Substantial rewrite of layer modes and how they are stored in XCF
  • Simplistic widget for switching between legacy modes (2.8 and earlier), linear modes, gamma-corrected modes
  • New LCH layer modes: Hue, Chroma, Color, and Lightness. See http://ninedegreesbelow.com/photography/gimp-lch-blend-modes.html for details
  • New Pass Through mode for layer groups
  • New Linear Burn, Vivid Light, Linear Light, Pin Light, Hard Mix, and Exclusion layer modes (as described on http://www.deepskycolors.com/archivo/2010/04/21/formulas-for-Photoshop-blending-modes.html)
  • 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
  • Configurable compositing of layers with the following modes: Auto, Source over, Source atop, Source in, Destination atop
  • Support layer masks on layer groups.
  • Add content locking to items to prevent them from being edited
  • Add position locking to items to prevent them from being translated
  • Enhance the Layer Attributes dialog to provide the single UI for:
    • setting layer's name
    • changing blending mode and opacity
    • setting offset in X/Y
    • toggling visibility, link status, various locks
  • Add color tags to layers for better layers management (can be set via Layers menu, Layer Attributes dialog, and accessible via shortcuts), also available for channels and paths
  • Add new clipboard implementation for entire images to copy/paste layers and layer groups
  • Always paste layers as new layers, not floating selections; always paste new layers on top of the active layer
  • Add/Remove layer masks by clicking the layer preview
  • Remember the added mask's type and the invert boolean
  • Add a button to the layers dialog which supports add, add with last values, delete, apply masks
  • Add modifier-click shortcuts on the layer preview with the same modifiers as on the button

Tools

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 (experimental)

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

This tool is incomplete and unavailable by default. You need to run GIMP with --show-playground and then enable it in Preferences > Playground.

New Tool: Seamless Clone (experimental)

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.

This tool is incomplete and unavailable by default. You need to run GIMP with --show-playground and then enable it in Preferences > Playground.

New Tool: MyPaint Brush

Use MyPaint brushes for painting.

Updated Tool: all paint tools

All paint tools now display the angle (relatively to the horizontal line, centered on previously drawn position) alongside distance in status bar when straight line constraining (holding Shift when painting).

Updated Tool: Smudge

  • New No erase effect option to prevent the tool from changing alpha of pixels
  • FG color can now be blended into smudged pixels, controlled by new Flow slider. With 0, there is no blending.

Detailed information: https://www.gimp-forum.net/Thread-Customized-smudge-tool-Smudge-with-painting

Updated Tool: Flip

  • Add support for reflecting across guides to the Flip tool. When clicking on a guide while using the flip tool, reflect the active item across the guide, rather than around its center.
  • Add "clipping" option to the Flip tool. This option behaves similarly to the other transform tool, however it's limited to "adjust" and "clip" only. Now that the flip tool can reflect across guides, this option is meaningful.

Updated Tool: Blend

The Blend tool now features on-canvas gradient editing: adding, shifting, removing color stops, shifting midpoints and converting them to color stops, assigning colors to color stops, changing blending type for midpoints.

New options:

  • 'Instant mode' (active before you start blending), enables support of the old workflow where you can't edit color stops before applying the gradient fill
  • 'Modify active gradient', allows changing user-writable gradients directly rather than creating copies of them

Updated Tool: Align

Now features:

  • vertical and horizontal fill modes;
  • vertical offset.

Updated Tool: Move

Now features:

  • Show relative coordinates when moving guides and sample points.

Updated Tool: Text

  • Port text rendering to GEGL
  • Use HarfBuzz to inspect fonts for creating an example string
  • Improved support for languages using Input Method Engines (IME).

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: 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 neighbors option to select diagonally neighboring pixels

Updated Tool: Free Select

  • Closing a polygonal/free selection now doesn't confirm the selection automatically. Instead you still can tweak positions of nodes (where applicable), then press Enter or switch to another tool to confirm the selection.

Updated Tool: Intelligent Scissors

  • allow to remove the last added IScissors segment with backspace
  • GIMP now checks, whether the first and the last isegments are distinct before closing the curve

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

Updated Tool: Colorize

  • Remove the Colorize tool and replace it by a generic filter action.

Updated Tool: Color Balance

  • Replace the color balance tool by a generic filter action

Updated Tool: Hue-Saturation

  • Remove the Hue-Saturation tool and replace it by a generic filter action.

Updated Tool: Color Picker

  • Don't snap to anything when picking colors
  • Color picker tools now always draw the outline of the averaged region, not only while the mouse is being pressed
  • Support arbitrary range of values regardless of the actual image color precision
  • Add LAB and LCH readout to Info window

Removed menu: Color Tools

'Image -> Tools -> Color Tools' is gone now that all color tools are basically GEGL operations with custom UI.

Refactoring

Move on-canvas interaction code of some tools to new GimpToolWidget class and make it available to GEGL-based filters.

Plugins

  • Allow plug-ins to access image data at full bit depth.
  • 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).
  • On-canvas controls for Spiral (experimental) and Supernova GEGL-based filters.
  • 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, Extract Component, Dither, RGB Clip, Waterpixels, Image Gradient, Symmetric Nearest Neighbor, Wavelet Decompose, Simple Linear Interactive Clustering, Fattal, Mantiuk, Reinhard, Stress (FIXME: CHECK the full list).
  • New Hue-Chroma operation/tool.
  • New file-darktable and file-rawtherapee plug-ins to load raw (digital negative) files by having them developed in darktable or RawTherapee.
  • Removed plugins: Maximum RGB, iWarp (FIXME: CHECK the full list).
  • Decompose plugin supports LCH now (FIXME: CHECK the full list of supported color models).
  • 'File -> Send' plugin for emailing images is available again on platforms with `xdg-email` (Linux only?). The original sendmail implementation is still available if built with --with-sendmail option (since this requires less common configuration, usually only done on servers).
  • Add interpreter for the GUM (GEGL UI Metadata) language. GUM is a small DSL, used in some property keys of GEGL operations to dynamically control UI attributes based on context.
  • Allow plug-in inside first-level directories of plug-ins folders. GIMP doesn't search recursively, but only at the first level. If a plug-in is in its own subdirectory, the entry point has to be named the same (minus extension) as the directory. For instance my-plugin/my-plugin for a binary, or my-plugin/my-plugin.(py|exe|…).
  • Allow filter actions to have hardcoded default operation settings by encoding them directly in the string attached to all filter actions. The code now supports both "gegl:some-operation" and "gegl:some-operation\n<serialized config>".

Color Management, Color Spaces and Models

  • Implement all color management in the core (not as a plugin)
  • Depends on LCMS2.7+, because earlier LCMS2 releases caused problems with certain GIMP blend modes
  • 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
  • New 'Image -> Color Management -> Save Color Profile to File...' command
  • New 'View -> Color Management' submenu to enable softproofing, change rendering intent etc.
  • 'New Image' dialog allows selecting an ICC profile for a new image
  • New Prefs options to toggle color transforms optimization, disabling optimization may improve quality at the cost of speed
  • Ask user for intent and bpc settings in the profile import dialog (FIXME: FACTCHECK)
  • Mark out-of-gamut colors also in the RGB and HSV color areas
  • Make the screenshot plug-in color-managed
  • Now color-managed:
    • layer/image/color palette/gradient/pattern previews,
    • Color Picker tool,
    • GimpColorHistory,
    • GimpFgBgEditor,
    • GimpColorFrame (Mouse Pointer dialog),
    • color selectors,
    • script-fu color buttons,
    • DND widget,
    • painting tools,
    • copying layers/paste buffer between images
  • Add LCH channels to color selector dialog (FG/BG etc.)
  • Allow decomposing/composing to/from LCH
  • New Extract Channel command to extract channels in various color spaces
  • Re-arrange color models in the Color dock: add a switch between HSV and LCH

File Access

  • File access ported to GIO allowing to access remote files seamlessly, file-uri plugin therefore removed
  • SSL/TLS support is now a mandatory dependency (HTTPS being now the web standard, and HTTP being more and more deprecated by browsers everyday)
  • Improved automatic file formats recognition

Metadata

  • Implement metadata handling in the core
  • Add Image -> Metadata -> View Metadata dialog for viewing Exif, IPTC, and XMP info (DICOM metadata is displayed in the XMP tab)
  • Add Image -> Metadata -> Edit Metadata dialog for editing IPTC (plus extensions), GPS and DICOM metadata
  • PNG, JPEG, and TIFF exporters now have Save Exif, Save IPTC, and Save XMP options in the Advanced group of settings
  • Defaults for saving metadata are configurable now in the Preferences dialog

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, includes support for loading/saving, icc profiles, exif, and xmp data
  • PSD plug-in now supports more blend modes (import/export), reads Pass Through mode for layer groups
  • Add LZMA2 compressed file support (.xcf.xz/.xcfxz)
  • Internal tile compression for XCF is now zlib (instead of RLE)
  • Writing linear gamma TIFF images
  • Allow exporting layers as PDF pages
  • Improve the raw (not the digital negative) files plugin:
    • Add "data" - which is already a load extension - as save extension and adds "raw" as load and save extension as it is also a common suffix for such files
    • Export the image before saving, to get layers merged and so on. Currently only the top layer is saved (similar to PNG plugin)
    • Use GtkBuilder to construct the export dialog (similar to PNG plugin)
    • Make the plugin remember last used export settings (similar to PNG plugin)
    • Introduce some export defaults that can also be modified by the user (similar to PNG plugin)
    • Make the plugin able to be invoked non-interactively and with last used values [Ctrl+E] (similar to PNG plugin)

Printing

  • Print resolution can now be reset to defaults, new values for the same image is actually used now without reloading the image.

Color Palettes

  • Selecting multiple palettes and merging them into one is possible now (Palette > Merge Palettes...)
  • Add an automatic palette of recently used colors

Dockable Dialogs

  • The FG/BG Color dock features the 12 most recent colors at the bottom
  • Add MyPaint Brushes dialog
  • Add LAB and LCH readout to Pointer and Sample Points dialogs
  • 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.

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.
  • For bitmap brushes, GIMP now caches hardness and disables dynamic change of hardness to improve painting performance. Botmap brushes also don't get clipped anymore, when hardness is less than 100.

Configurability and usability

  • Icon Themes can be added, selected, and removed now (Edit -> Preferences -> Interface -> Icon Theme)
  • Pages in the Preferences dialog regrouped
  • Vertical scrollbar added to keep the height of the Preferences dialog sensible
  • New Image Import page in the Preferences dialog to define image importing policies (promoting to 32-bit float and dithering)
  • New Image Windows -> Snapping page in the Preferences dialog allows choosing default snapping settings for both normal and fullscreen modes
  • New Interface -> Dialog Defaults page in the Preferences dialog to control defaults values of various dialogs
  • Settings on individual pages of the Preferences dialog can be reset
  • 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
  • Existing settings on the Color Management page got reorganized, new settings got added
  • Undo preview size is now configurable via UI (on the Interface page of the 'Preferences' dialog)
  • Allow mouse to optionally configure tablet devices
  • Allow creating shortcuts containing the Cmd key + mouse wheel events
  • Default to 300ppi and 1920x1080px for new documents.
  • Do not allow Alt+[0-9] shortcuts, they are typically used for display switching
  • Configuration directory now follow OS-specific standards:
- UNIX platforms (except OSX) follow FreeDesktop's XDG standards: $XDG_CONFIG_HOME/GIMP/{GIMP_APP_VERSION}
- Windows: %APPDATA%/GIMP/{GIMP_APP_VERSION}
- OSX: NSApplicationSupportDirectory/GIMP/{GIMP_APP_VERSION}

Usability

  • Enable "save-tool-options" and "save-device-status" by default, it's the expected behavior these days.
  • Brightness-Contrast, Curves, Levels and Threshold are now available in "Repeat last" history.

General Changes

Internal Changes

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

UI changes

  • Add Save As buttons to the “Quit GIMP” dialog for every opened image
  • 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)
  • Turn invert-perceptual, -linear and -value into normal filter actions, so they show up in recent filters, and don't need their own callbacks.
  • Allow tool dialogs to be embedded on the canvas generically
  • Follows "Maximized" hint on Windows ("run" property on a shortcut or `start /max gimp-2.9.exe` from command line).
  • Allow to choose fill color when resizing layers and images
  • Allow to zoom with middle mouse button + control + drag up/down
  • Check and clean out duplicate accelerators on startup
  • Toolbox buttons do not grab focus anymore, which used to break usage of the Tab key and other canvas-related shortcuts after changing tools with a pointing device click
  • Delete Layer/Channel/Path are consistently the last option in respective dialogs now
  • Extend the text along the tangent of the last path stroke, when the length of the path along which the text layer content is warped is shorter than the width of the text
  • Allow to toggle the histogram dialog between gamma and linear
  • New Colors -> Linear Invert command to provide radiometrically correct color inversion
  • Optimal digit precision for length display in physical units in various widgets
  • 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).

Assets

  • Modernize default list of document templates.
  • Add 4x3 Landscape/Portrait, 3x2 Landscape/Portrait, 16x10, 16x9, and Square presets for the Crop tool.
  • Add a basic "Pressure Size" dynamics. This is a common dynamics, for instance when you do colorization bases. This allows to control the size of the brush with pressure and always keep unified color without opacity changes.

Batch processing

  • Batch commands can now be run on an existing GIMP instance.
  • A new 'with-files' macro is available to run commands on several files at once. For instance, if you want to invert colors of all png files in a directory, and save them as jpg, you could run:
gimp -i -b '(with-files "*.png" (gimp-invert layer) \
             (gimp-file-save 1 image layer \
             (string-append basename ".jpg") \
             (string-append basename ".jpg") ))'

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
  • 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).
  • 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).
  • app, pdb: Modify gimp_channel_border() to take a style parameter
  • pdb: Modify gimp-selection-border to use BORDER_STYLE_SMOOTH
  • pdb, app, libgimp: rename *-paste-as-new to *-paste-as-new-image
  • Add PDB API for color tags/labels (for layers/channels/paths)
  • pdb, app, libgimp: change ranges for histogram and threshold to 0.0..1.0
  • app, pdb, libgimp: allow to choose the channel when thresholding
  • app, pdb: use GeglDitherMethod instead of simply an integer
  • Add PDB API and UI to control a layer's composite mode
  • Remove the _LINEAR layer mode variants
  • Add PDB API for layer blend space and compositing space
  • Rename values of enum GimpConvertPaletteType and GimpConvertDitherType
  • pdb: add debug group; add debug-timer-{start,end} procs
  • pdb: fix input range of context-set-brush-size
  • app: add gimp_edit_paste_as_new_image() and use it from GUI and PDB
  • app, pdb, libgimp: make the raw image importer configurable
  • app, pdb: change a lot of GIMP_LAYER_MODE_NORMAL_LEGACY to just NORMAL
  • pdb: add new procedure gimp-get-default-new-layer-mode
  • pdb, libgimp: rename gimp_drawable_invert() to _invert_non_linear()
  • pdb, libgimp: change the gimp-drawable-invert API again
  • add file-pdf-load2 PDB API.
  • pdb, libgimp: add gimp-item-{get,set}-expanded()
  • app, pdb: prevent custom gradient from being renamed
  • add file-hgt-load new PDB call
  • pdb: fail layer-remove-mask if applying a mask to a group layer
  • pdb: allow adding masks to group layers in layer-add-mask
  • app, pdb, libgimp, plug-ins, menus: rename layer composite modes
  • app, libgimp, libgimpbase, pdb: s/GimpDistanceMetric/GeglDistanceMetric/
  • pdb, libgimp: allow to use external GType-registered enums in the PDB
  • pdb: prepend GEGL enum types with GEGL_TYPE.
  • app, libgimp, pdb: add "distance-metric" property to GimpPDBContext.
  • pdb: add jehan_pdb_misc() and use it in the new procedures
  • Rename Blend tool and provide PDB compatibility
  • app: add gimp_pdb_context_get_paint_options_list()
  • add drawable_edit.pdb and deprecate all non-clipboard functions in the "edit" group
  • pdb: never pass bogus supersample values to gimp_drawable_gradient()
  • pdb: add procedures to set the built-in gradients
  • pdb: fix use of "seed" properties in plug_in_compat.pdb
  • app, pdb: s/gimp_pdb_item_is_modifyable/gimp_pdb_item_is_modifiable/
  • pdb: add gimp-item-transform-translate procedure
  • pdb: deprecated gimp-layer-translate
  • pdb: make all item-transform procedures honor the "linked" flag
  • pdb: finally deprecate gimp-color-balance

Debugging and bug reporting

  • GIMP can be built with crash logs support on Windows thanks to Dr. MinGW.
  • 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.
  • 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.