Roadmaps

Feature Prioritization

This page shows roughly how the core development team plans GIMP evolution. The absence of features from these roadmaps doesn’t mean we are not interested: since GIMP is developed as a community, all it takes to revise priority is for someone to contribute.

ℹ️ Our roadmaps are not “holy truth”, they are flexible and evolving.

The bottom line is that GIMP is what we all make of it. There is no single company or entity heading the software (code admission is based on quality and usefulness, not dictated by someone’s business).

GIMP 3.2

List of features for which some work was started and we hope to have in GIMP 3.2:

Feature Status Comments
Link layers WIP !823 (similar to the “smart objects” concept). See also #453 and some demo video.
Vector layers WIP !773 (see also !551). Back-end exists since 2006, UI is inadequate.

Milestone 3.2 in Gitlab

Development Focus

We have several focus projects these days. These will happen on minor point releases (when the second number of the version increases) as micro point releases (third number increment) is for bug fixes.

The features are gathered per topic below, though they may be spread through several releases.

Non-destructive layer types

Some work has been started already around new types of layers, which will also be the start point for new tools (such as a Shape Tool which makes sense as a vector tool).

Feature Status Comments
Link layers WIP !823 (similar to the “smart objects” concept). See also #453 and some demo video.
Vector layers WIP !773 (see also !551). Back-end exists since 2006, UI is inadequate.
Shape tool No Easily create circles, rectangles, N-side polygons, stars etc. Either a new tool or a rewrite of the path tool with shape options

Non-destructive filters

A first implementation of non-destructive filters was released in GIMP 3.0!

Note that both adjustment layers and layer effects/styles are the terminologies currently used in requests by users.

Feature Status Comments
Better GUI for layer effects Specified See UX specs. We might have to reimplement the item dockable widgets.
Layer effects and adjustement layers import from PSD WIP (legacy color overlays only are supported right now)
Layer effects export to PSD No
Graph view Discussed As an alternative to the layer view, a graph-based view is regularly discussed.

Animation and multi-page support

Long-term work has been done around animation concepts. It will also bring multi-page ability.

Feature Status Comments
Page support WIP
Core animation WIP Animation plug-in is dropped, this is being rewritten as a core feature
Story-board mode WIP
New XCF format Discussed An archive-based format should allow us more easily to load data on-use, therefore allowing much bigger project files (ex.: page and animation)
Improved export WIP More ability to export full-document, per-page, per layers… Web exports and alternative views were also discussed.
Auto-save No Implementation details are still being discussed; it might pass through a new XCF version based on GEGL buffers.

Macros (script recording)

Ultimate continuation of a work which started in GIMP 2.10 and 3.0, where we started to store parameters of every successful filter’s runs and plug-in’s runs. Same should happen for tool usage. Finally we need the proper infrastructure to allow replaying actions.

Feature Status Comments
Action storage infrastructure No Class (GimpMacro?) to handle a “recording” which can be replayed
Store GEGL ops, plug-in runs, GIMP actions and tool use WIP These must be recordable in a GimpMacro
On-disk storage No A GimpMacro must be serializable and deserializable across sessions
Script-export No A GimpMacro should also be exportable in “code form” which can be reused as a plug-in
Macro tweak No A GimpMacro should be viewable and tweakable: e.g. you could trigger a recorded drawing at a higher resolution!
Script recording and playback No #8

Extensions

The work was started for GIMP 3.0 for which we originally hoped to finalize the new concept of “GIMP extensions”, a new wrapper format (.gex) which can embed plug-ins, brushes, dynamics, themes and other data, (un)installable in 1 or 2 clicks.

The core infrastructure is already present since GIMP 3.0, but we also want to make this public with a new online infrastructure, allowing third-party extension creators to upload their extensions and everyone to browse available ones.

Feature Status Comments
Icon themes in extensions done
Themes in extensions done
Brushes in extensions done
Plug-ins in extensions nearly done plug-ins cannot be disabled or enabled live (without GIMP restart) yet
GEGL operations in extensions No
Installing extensions from .gex file done
Extension website No A repository has been created yet is still quite bare.
Searching, installing from remote repository WIP
In-GIMP GUI for extension display WIP The dialog exists, but it’s an early very-ugly implementation
Bi-direction core ⇆ plug-ins communication WIP !120 Allow core to send signals for plug-ins to react

Space Invasion

“Space Invasion” is the codename for a long-lived project, started with GIMP 2.10 development, i.e. back in 2012. The concept is to make GIMP more than a sRGB editor. First we focused on anyRGB, but nowadays we are even more into anySpace support. We want to be able to edit images with CMYK backend too (right now, we can do CMYK 🗘 RGB roundtrips which is nice but not enough), also allowing random channels (e.g. spot color channels), and of course why not CIELAB images or whatever could be useful.

HDR support is definitely also a good target eventually.

Feature Status Comments
High-end CMYK support WIP As a backend pixel storage. See early experiments. Also see the main GIMP FAQ for details
Spot Color support No Ability to add more channels for printing.
Reviewing/Improving Indexed color mode No Our Indexed mode is limited and not so well maintained. Make a review of how people use it and how to improve it would be a nice project.

Tools

We have been planning several new interesting tools or tool enhancements. Some are still only conceptual, though some already have experimental implementations which we consider not in a releasable state.

Feature Status Comments
Paint Select tool playground Released as experimental in 2.99.4, needs work
Seamless Clone tool playground Released as experimental in 2.9.2, needs work
N-point deformation tool playground Released as experimental in 2.9.2, needs work
Particle selection tool No See comment on issue 2912 The Foreground selection interaction should be reworked as a tool to select particles or object borders
Inpainting tool No Feature long-available with resynthesizer third-party plug-in; would deserve GEGL-based core implementation
Text tool re-work WIP This tool deserves a big rewrite of interaction (closer to well-known interactions, such as in LibreOffice); see also a proposal by Liam - part of gsoc 23 (#9274)
Text tool: OpenType support No See proposal in-progress
Better “smooth painting” in Paint tools No Find a proper algorithm to have good smooth painting at last!

Painting

Various interesting topics have been raised across the years and would be worth investigating for improving GIMP’s painting abilities.

Feature Status Comments
libmypaint v2 port WIP MR !749
Modern default set of resources WIP See #307
Better palettes WIP High bit depth, multi-format, etc. Some core work was already done in 3.0
Better brushes WIP High bit depth, color spaces, animations, other…
New Brush Engine No Some work from #268/GIMP-Painter might be worth studying
Study other brush engines? No Pigment-simulation engines, “mixbrush” engines, etc. Worth studying these new area for digital painting
Better painting smoothness algorithm No The current “weight” algorithm is not as good as we’d want
Linking dynamics to brushes? No See #1319
On-Canvas Customizable Menu No Some quick on-canvas editing happened in #498 though a more complete GUI solution (radial menu?) could be studied

Canvas

Since GIMP 2.10, we added some advanced canvas concept, such as the ability to see and even work off-canvas. This is still incomplete, and we still intend to add new concepts of either auto-growing layers or even infinite layers.

Feature Status Comments
Off-canvas selection No
“Show All” contextual actions WIP The “View > Show All” action should change more widely how various features interfere with the image.

GUI

GIMP’s interface has always been very customizable, though it can always be improved. For instance while the “single window mode” (since 2.8) was very welcome, in many case, we wished for a mix of the single and multi window modes. Moreover a horizontal toolbar is often wished for, as well as improvements of dockable management. These are all topics which could be redesigned and worked on.

Feature Status Comments
Improved toolbox No Simpler customization, draggable to other area, detachable, ability to show more than display size with icon, etc.
Toolbar No Customizable to set quick buttons to any possible action
Better window management No Rather than a SWM vs MWM, both able to do some things the other can’t, we should have a single window mode which can do everything
Dockable interaction review No Review and change how we can create, lock, unlock and reorganize dockables

Miscellenaous

Many of these features are on contributors wishlist and can be implemented in a branch and merged into the main development branch as we go, especially since we loosened up the “no new features in stable releases” policy. Please talk to us, if you want to work on any of those.

Feature Status Comments
Optionally save undo history in the XCF No #89
Brushpack support No
Improve resource creation No Dedicated GUI to create brushes, patterns, or other resources would be welcome
Milestone “Future” in Gitlab

Archived Roadmaps

GIMP 3.0

The focus of this version was to complete the GTK+3 port and reduce technical debt in used technologies.

Benefits:

  • Better maintained version of GTK
  • Better graphics tablet support
  • Better handling of HiPPI displays
  • Wayland support on Linux
  • Refactored code, easier to build new features upon
Feature Status Comments
Port to GTK3 done (except minor API usage, but no major tasks anymore)
Port away from intltool done We are now full gettext
Port to meson build done Autotools was removed
Redesign API for scripts/plug-ins done GObject Introspection introduced, along with refactoring, no wire protocol redesign in the end, big API improvements
Wayland support done Various bugs still happen, especially in window management area (broken sizes and positions), color management, but mostly because of missing protocols in Wayland…
Space invasion done Various color management improvements, CMYK support (not as core image format, but import/export and picking/choosing/viewing)…
Multi-layer selection done Most code is multilayer aware…
Less “floating selection” done Discussed on the gimp-gui mailing list, transform tools still create floating selections
Documentation done Make sure documentation is up-to-date by release time
Automatic layer boundary management done #32 - auto-growing layers are part of gsoc 23 (#9314)
Support SwatchBooker file format for palettes and gradients done !843 (GIMP 3.0)
Layer effects done Initial limited implementation as !958: started as part of gsoc 23 (#9244)
Layer effects on layer groups done Initial limited implementation as !1376

Milestone 3.0 in Gitlab

GIMP 2.10.x series

The 2.10.x series coexisted with the ongoing work to port GIMP to GTK+3 and cleanup obsolete API.

We tried to backport fixes and new features to 2.10.x when we could.

Feature Status Comments
High bit depths done Released in 2.9.2
Preview filters on canvas done Released in 2.9.2
OpenCL support done Released in 2.9.2, more plugins need OpenCL version
Turn the IWarp plug-in into an on-canvas tool done Initial version released in 2.9.2. Improved version released in 2.9.6.
Merge basic transformation tools done Unified Transform tool, released in 2.9.2
Canvas rotation and flipping done Released in 2.9.2
MyPaint Brush tool done Released in 2.9.4. No brush create/edit support (bug 768772)
Support the XDG Base Directory Specification done Released in 2.9.2
Symmetry painting done Released in 2.9.4
Layer modes rewrite done We need to support both legacy, gamma-corrected, and linear modes, sensible UI is missing
Better support for image metadata done Released in 2.9.6
Support layer masks on layer groups done Released in 2.10
Cleanup libgimp done We need to go through the API with a fine comb and check to deprecate all functions which are not suitable for 3.0.
UI themes done Released in 2.9.6
Icon themes done Released in 2.9.6
Icon size minimal support done Released in 2.9.6
Color management fixes and improvements done Changes released in 2.10.x, more coming in 3.x
Support for gamma encodings other than the sRGB TRC done
Support for RGB working spaces other than sRGB done currently being worked on in babl, more to be done
Fix compositing part of blending modes done

Milestone 2.10 in Gitlab