Difference between revisions of "Roadmap"

From GIMP Developer Wiki
Jump to: navigation, search
m (Future)
 
(53 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Feature prioritization ==
+
== Feature Prioritization ==
  
 
This is roughly how the core GIMP development team prioritizes feature development. Note that this does not mean we are not interested in contributions in other areas, or contributions of low prio features. Contributions of any kind are always welcomed. But at the end of the day, it is better to have one feature 100% complete than two features 50% complete, which is why features should be prioritized and then worked on in order.
 
This is roughly how the core GIMP development team prioritizes feature development. Note that this does not mean we are not interested in contributions in other areas, or contributions of low prio features. Contributions of any kind are always welcomed. But at the end of the day, it is better to have one feature 100% complete than two features 50% complete, which is why features should be prioritized and then worked on in order.
 +
 +
Starting with GIMP 2.10, features will be developed in isolation on feature branches and be merged to the main branch when they are ready.
 +
 +
The list below shows when coming features are expected to be ready, but that might change.
 +
 +
== Roadmap ==
  
 
'''Legend'''
 
'''Legend'''
Line 15: Line 21:
 
| {{yes|  }} || implementation finished
 
| {{yes|  }} || implementation finished
 
|}
 
|}
 +
 +
=== GIMP 2.10.x ===
 +
 +
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 from the master branch when we can.
 +
 +
More or less complete list of changes: [[Release:2.10 changelog]].
  
 
{| class="wikitable sortable" style="text-align: left;"
 
{| class="wikitable sortable" style="text-align: left;"
 
!'''Feature''' || '''Status''' || '''Comments'''
 
!'''Feature''' || '''Status''' || '''Comments'''
 
|-
 
|-
|Support layer masks on layer groups || {{wip}} || [https://bugzilla.gnome.org/show_bug.cgi?id=51112 Bug 51112]
+
|High bit depths || {{yes}} || Released in 2.9.2
 
|-
 
|-
|Cleanup libgimp || {{wip}} || (including major changes to plugin registration API)
+
|Preview filters on canvas || {{yes}} || Released in 2.9.2, [[Hacking:Porting filters to GEGL | porting status]]
 
|-
 
|-
|Port to GTK3 || {{wip}} || git branch "gtk3-port"
+
|OpenCL support || {{yes}} || Released in 2.9.2, more plugins need OpenCL version, see also the [[Hacking:Porting filters to GEGL |Porting Matrix]])
 
|-
 
|-
|High bit depths || {{wip}} || Up to 64bit per color channel, will be available in 2.10
+
|Turn the IWarp plug-in into an on-canvas tool || {{yes}} || Initial version released in 2.9.2. Improved version to be released in 2.9.6.
 
|-
 
|-
|Preview filters on canvas || {{yes}} || Will be available in 2.10 (partially done in Git master)
+
|Merge basic transformation tools || {{yes}} || Unified Transform tool, released in 2.9.2
 
|-
 
|-
|Automatic layer boundary management || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=93639 Bug 93639]
+
|Canvas rotation and flipping|| {{yes}} || Released in 2.9.2
 
|-
 
|-
|Filter/Adjustment layers || {{no}} || Needs complete GEGL port first, API for stacking GEGL ops on a layer will be available in 2.10
+
|MyPaint Brush tool || {{yes}} || Released as stable in 2.9.4. No dynamic support though ([https://gitlab.gnome.org/GNOME/gimp/issues/935 bug 768772])
 
|-
 
|-
|Layer effects || {{no}} || bevel/emboss, drop shadow etc., needs complete GEGL port first
+
|Support the XDG Base Directory Specification || {{yes}} || Released in 2.9.2
 
|-
 
|-
|Auto-anchoring of floating selection || {{no}} ||
+
|Symmetry painting|| {{yes}} || Released in 2.9.4
 
|-
 
|-
|Turn the IWarp plug-in into an on-canvas tool || {{yes}} || Mostly complete, no major changes planned.  Warp Transform will be part of 2.10 (available in Git master)
+
|Layer modes rewrite || {{yes}} || We need to support both legacy, gamma-corrected, and linear modes, sensible UI is missing
 
|-
 
|-
|Script recording and playback || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=51937 Bug 51937], needs complete GEGL port first
+
|Better support for image metadata || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Smart objects || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=694206 Bug 694206], needs complete GEGL port first
+
|Support layer masks on layer groups || {{yes}} || Released in 2.10
 
|-
 
|-
|Merge basic transformation tools || {{wip}} || [http://gui.gimp.org/index.php/Transformation_tool_specification Unified transform tool] will be part of v2.10 (available in Git master)
+
|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.
 
|-
 
|-
|Better support for image metadata || {{wip}} || [https://bugzilla.gnome.org/show_bug.cgi?id=704796 Bug 704796], [https://bugzilla.gnome.org/show_bug.cgi?id=61499 Bug 61499]
+
|UI themes || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Brushpack support || {{no}} ||  
+
|Icon themes || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Switch to SwatchBooker file format for palettes and gradients || {{no}} ||  
+
|Icon size minimal support || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Support the XDG Base Directory Specification || {{yes}} ||  
+
|Color management fixes and improvements || {{wip}} || Changes released in 2.10.x, more comeing in 3.x
 +
|}
 +
 
 +
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=2.10 Full list of open bugs with milestone 2.10].
 +
 
 +
=== GIMP 3.0 ===
 +
 
 +
The focus of this version is to complete the GTK+3 port.
 +
 
 +
Benefits:
 +
 
 +
* Better maintained version of GTK+
 +
* Better Wacom support
 +
* Better handling of HiDPI displays
 +
* Wayland support on Linux
 +
* Refactored code, easier to build new features upon
 +
 
 +
{| class="wikitable sortable" style="text-align: left;"
 +
!'''Feature''' || '''Status''' || '''Comments'''
 +
|-
 +
|Port to GTK3 || {{wip}} || git branch "master", GtkAction→GAction port is the big last thing
 +
|-
 +
|Redesign wire protocol for scripts/plug-ins || {{wip}} || GObject Intrpospection is being introduced into 3.0, along with refactoring for plug-ins, without wire protocol redesign though
 +
|-
 +
|Wayland support fixes || {{wip}} || git branch "master"
 
|-
 
|-
|Canvas rotation and flipping|| {{yes}} || Will be part of v2.10 (available in Git master)
+
|Space invasion || {{wip}} || various color management improvemnts
 
|-
 
|-
|High-end CMYK support || {{no}} || Low priority, needs complete GEGL port first, then a dedicated developer and a spec from usability team
+
|Multi-layer selection || {{wip}} || Most tools are multi-layer selection aware but only work on the first selected layer
 
|-
 
|-
|Support for more brush engines || {{wip}} || Experimental MyPaint engine support is available in Git master, various real media simulations could be considered. Low priority
+
|Extensions management || {{wip}} ||  
 
|}
 
|}
  
== Expected availability of developed features and solved bugs ==
+
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=3.0 List of open bugs with milestone 3.0]
  
Starting with GIMP 2.10, features will be developed in isolation on feature branches and be merged to the main branch when they are ready. <br/>
+
=== GIMP 3.2 ===
The list below shows when coming features are expected to be ready, but that might change.
+
  
Last updated: 25.05.2013
+
The focus of this release is going to be on non-destructive editing. Note that both adjustment layers and layer effects/styles are the terminologies currently used in requests by users. We haven't yet assessed, how exactly non-destructive editing is going to be implemented.
  
*'''GIMP 2.10'''
+
More features e.g. from the 'Future' section can sneak in, but that will depend on the availability of developers.
**Preview filter effects on canvas instead in preview window
+
**High bit depths: [[Hacking:Porting filters to GEGL | fully port to GEGL]] (work in progress)
+
**[http://www.google-melange.com/gsoc/project/google/gsoc2011/victor_matheus/8001 OpenCL in GEGL] (GSoC 2011 project, see also the [[Hacking:Porting filters to GEGL |Porting Matrix]])
+
**Support layer masks on layer groups
+
**Cleanup libgimp, deprecate all ancient pixel fiddling API
+
**[http://gui.gimp.org/index.php/Warp_tool_specification Warp tool] (GSoC 2011 project)
+
**[http://www.google-melange.com/gsoc/project/google/gsoc2011/lightningismyname/6001 Seamless cloning] (GSoC 2011 project)
+
**[http://www.google-melange.com/gsoc/project/google/gsoc2011/enrico_schroeder/12001 GtkEntry-Widget instead of GimpSizeEntry] (GSoC 2011 project, parts already integrated in GIMP 2.8)
+
**[http://gui.gimp.org/index.php/Transformation_tool_specification Unified transform tool] (GSoC 2012 project, work in progress)
+
**Update foreground selection tool to use advanced matte operations from GEGL [https://bugzilla.gnome.org/show_bug.cgi?id=709875 Bug 709875], work in progress, stalled
+
**Unified configuration path across platforms (using XDG when relevant) [done]
+
**Auto-anchoring of floating selection - or better, get rid of floating selections!
+
**Better support for image metadata (work in progress, master branch)
+
:*[https://bugzilla.gnome.org/buglist.cgi?order=Importance&classification=Other&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&target_milestone=2.10&product=GIMP List of open bugs with milestone 2.10]
+
:* TODO list: [[Hacking:TODO]]
+
  
*'''GIMP 3.0'''
+
{| class="wikitable sortable" style="text-align: left;"
**Port to GTK3 [work in progress, branch gtk3-port]
+
!'''Feature''' || '''Status''' || '''Comments'''
 +
|-
 +
|Filter/Adjustment layers || {{no}} || Needs complete GEGL port first, API for stacking GEGL ops on a layer will be available in 2.10
 +
|-
 +
|Layer effects || {{no}} || bevel/emboss, drop shadow etc., needs complete GEGL port first
 +
|}
 +
 
 +
== Future ==
 +
 
 +
Many of these features can be implemented in a branch and merged into the main development branch as we go, especially since we aim to loosen up the "no new features in stable releases" policy. Please talk to us, if you want to work on any of those.
 +
 
 +
{| class="wikitable sortable" style="text-align: left;"
 +
!'''Feature''' || '''Status''' || '''Comments'''
 +
|-
 +
|Fix compositing part of blending modes || {{yes}} ||
 +
|-
 +
|Improve animation features || {{wip}} || Animation plug-in is dropped, this is being rewritten as a core feature
 +
|-
 +
|Seamless Clone tool || {{wip}} || Released as experimental in 2.9.2, needs work
 +
|-
 +
|Automatic layer boundary management || {{wip}}  || [https://gitlab.gnome.org/GNOME/gimp/issues/32 Bug #32]
 +
|-
 +
|Auto-anchoring of floating selection || {{no}} ||
 +
|-
 +
|Script recording and playback || {{no}} || [https://gitlab.gnome.org/GNOME/gimp/issues/8 Bug #8], needs complete GEGL port first
 +
|-
 +
|Optionally save undo history in the XCF || {{no}} || [https://gitlab.gnome.org/GNOME/gimp/issues/89 Bug #89]
 +
|-
 +
|Smart objects || {{no}} || [https://gitlab.gnome.org/GNOME/gimp/issues/453 Bug #453], needs complete GEGL port first
 +
|-
 +
|Brushpack support || {{no}} ||
 +
|-
 +
|Support SwatchBooker file format for palettes and gradients || {{no}} ||
 +
|-
 +
|High-end CMYK support || {{wip}} || WIP in babl and GEGL. Also see [http://www.gimp.org/docs/userfaq.html#i-do-a-lot-of-desktop-publishing-related-work-will-you-ever-support-cmyk FAQ] for details
 +
|-
 +
|Support for RGB working spaces other than sRGB || {{wip}} || currently being worked on in babl
 +
|-
 +
|Support for gamma encodings other than the sRGB TRC || {{yes}} ||
 +
|-
 +
|Better text handling || {{no}} || See [http://gui.gimp.org/index.php/Text-Handling_in_GIMP Improvements in the text handling], [https://gitlab.gnome.org/GNOME/gimp/issues/35 Bug #35]
 +
|-
 +
|Shape tool || {{no}} || Easily create circles, rectangles, N-side polygons, stars etc.
 +
|-
 +
|Vector layers || {{no}} || Back-end exists since 2006, UI is missing.
 +
|-
 +
|Simplified add-ons management || {{wip}}  || easily install/deinstall plug-ins, filters, scripts etc.
 +
|}
  
:*[https://bugzilla.gnome.org/buglist.cgi?order=Importance&classification=Other&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&target_milestone=3.0&product=GIMP List of open bugs with milestone 3.0]
+
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=Future List of open bugs with milestone 'Future']
  
*'''"Future"''' The features here are on the roadmap, but have no milestone yet
+
== Further Reading ==
**[http://gui.gimp.org/index.php/Text-Handling_in_GIMP Improvements in the text handling]
+
**Automatic layer boundary management
+
**Filter layers
+
**Layer effects
+
**Non-destructive editing
+
**Script recording and playback
+
**"Smart objects"
+
  
:*[https://bugzilla.gnome.org/buglist.cgi?order=Importance&classification=Other&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&target_milestone=Future&product=GIMP List of open bugs with milestone 'Future']
+
TODO list: [[Hacking:TODO]]

Latest revision as of 01:54, 19 July 2021

Feature Prioritization

This is roughly how the core GIMP development team prioritizes feature development. Note that this does not mean we are not interested in contributions in other areas, or contributions of low prio features. Contributions of any kind are always welcomed. But at the end of the day, it is better to have one feature 100% complete than two features 50% complete, which is why features should be prioritized and then worked on in order.

Starting with GIMP 2.10, features will be developed in isolation on feature branches and be merged to the main branch when they are ready.

The list below shows when coming features are expected to be ready, but that might change.

Roadmap

Legend

Status Column:

work hasn't started yet
work in progress
implementation finished

GIMP 2.10.x

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 from the master branch when we can.

More or less complete list of changes: Release:2.10 changelog.

Feature Status Comments
High bit depths Yes Released in 2.9.2
Preview filters on canvas Yes Released in 2.9.2, porting status
OpenCL support Yes Released in 2.9.2, more plugins need OpenCL version, see also the Porting Matrix)
Turn the IWarp plug-in into an on-canvas tool Yes Initial version released in 2.9.2. Improved version to be 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 as stable in 2.9.4. No dynamic support though (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 comeing in 3.x

Full list of open bugs with milestone 2.10.

GIMP 3.0

The focus of this version is to complete the GTK+3 port.

Benefits:

  • Better maintained version of GTK+
  • Better Wacom support
  • Better handling of HiDPI displays
  • Wayland support on Linux
  • Refactored code, easier to build new features upon
Feature Status Comments
Port to GTK3 work in progress git branch "master", GtkAction→GAction port is the big last thing
Redesign wire protocol for scripts/plug-ins work in progress GObject Intrpospection is being introduced into 3.0, along with refactoring for plug-ins, without wire protocol redesign though
Wayland support fixes work in progress git branch "master"
Space invasion work in progress various color management improvemnts
Multi-layer selection work in progress Most tools are multi-layer selection aware but only work on the first selected layer
Extensions management work in progress

List of open bugs with milestone 3.0

GIMP 3.2

The focus of this release is going to be on non-destructive editing. Note that both adjustment layers and layer effects/styles are the terminologies currently used in requests by users. We haven't yet assessed, how exactly non-destructive editing is going to be implemented.

More features e.g. from the 'Future' section can sneak in, but that will depend on the availability of developers.

Feature Status Comments
Filter/Adjustment layers No Needs complete GEGL port first, API for stacking GEGL ops on a layer will be available in 2.10
Layer effects No bevel/emboss, drop shadow etc., needs complete GEGL port first

Future

Many of these features can be implemented in a branch and merged into the main development branch as we go, especially since we aim to loosen 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
Fix compositing part of blending modes Yes
Improve animation features work in progress Animation plug-in is dropped, this is being rewritten as a core feature
Seamless Clone tool work in progress Released as experimental in 2.9.2, needs work
Automatic layer boundary management work in progress Bug #32
Auto-anchoring of floating selection No
Script recording and playback No Bug #8, needs complete GEGL port first
Optionally save undo history in the XCF No Bug #89
Smart objects No Bug #453, needs complete GEGL port first
Brushpack support No
Support SwatchBooker file format for palettes and gradients No
High-end CMYK support work in progress WIP in babl and GEGL. Also see FAQ for details
Support for RGB working spaces other than sRGB work in progress currently being worked on in babl
Support for gamma encodings other than the sRGB TRC Yes
Better text handling No See Improvements in the text handling, Bug #35
Shape tool No Easily create circles, rectangles, N-side polygons, stars etc.
Vector layers No Back-end exists since 2006, UI is missing.
Simplified add-ons management work in progress easily install/deinstall plug-ins, filters, scripts etc.

List of open bugs with milestone 'Future'

Further Reading

TODO list: Hacking:TODO