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 |
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 | 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 | 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) |
Layer effects on layer groups | done | Initial limited implementation as !1376 |
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 | |
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 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 |