Roadmaps

Feature Prioritization

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

ℹ️ Below 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 2.10.x (Stable branch roadmap)

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

We try to backport fixes and new features to 2.10.x when we can.

This branch is considered pretty stable and our focus really shifted on GIMP 3.0. It is still possible that new features appear in further 2.10 releases, yet expectation is low.

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

Milestone 2.10 in Gitlab

GIMP 3.0 (Development branch roadmap)

The focus of this version is 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 work in progress GObject Introspection introduced, along with refactoring, no wire protocol redesign in the end, big API improvements still worked on
Wayland support work in progress Various bugs still happen, especially in window management area (broken sizes and positions), color management…
Space invasion work in progress 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” nearly done Discussed on the gimp-gui mailing list, transform tools still create floating selections
Documentation work in progress 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)

Milestone 3.0 in Gitlab

Post-GIMP 3.0.0

After GIMP 3.0.0, we have several projects which we may focus on, in separate releases. These may happen either on minor (e.g. 3.2.0) or micro releases (e.g. 3.0.2) as our release policy change since 2.10.0 allows us to release new features on micro versions.

What we ultimately want is to make smaller and faster release points. We gathered features we want to work on in separate roadmaps, though they may be spread through several releases, or oppositely released in a single GIMP version.

Actual release numbers will be refined as we progress.

Non-destructive layer types

Some work has been started already around other types of layers. This might even end up in new “shape” abilities (something requested for a long time, which we wanted to make right, the non-destructive way).

Since some good code advancement already exist for several pieces of this plan, it may be included in a release soon after GIMP 3.0. Right now we are hoping it could be part of the first micro point after GIMP 3.0.0, i.e. that it could be available in GIMP 3.0.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.
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

This target was originally dubbed GIMP 3.2 though we will in fact release a first implementation in GIMP 3.0!

The reason why we had assigned a version number already for years is that this is a very important step which is a main development focus as part of the non-destructive editing workflows we are promoting.

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 No
Layer effects export to PSD No
Layer effects on layer groups No
Graph view Discussed As an alternative to the layer view, a graph-based view is regularly discussed.

Milestone 3.2 in Gitlab

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 3.0, where we started to store parameters of every successful plug-in run. Same should happen for GEGL operations and 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 Yes
Themes in extensions Yes
Brushes in extensions Yes
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 Yes
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!

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