Difference between revisions of "Roadmap"

From GIMP Developer Wiki
Jump to: navigation, search
(Roadmap update)
 
(48 intermediate revisions by 5 users not shown)
Line 22: Line 22:
 
|}
 
|}
  
=== GIMP 2.10 ===
+
=== 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;"
Line 33: Line 39:
 
|OpenCL support || {{yes}} || Released in 2.9.2, more plugins need OpenCL version, see also the [[Hacking:Porting filters to GEGL |Porting Matrix]])
 
|OpenCL support || {{yes}} || Released in 2.9.2, more plugins need OpenCL version, see also the [[Hacking:Porting filters to GEGL |Porting Matrix]])
 
|-
 
|-
|Turn the IWarp plug-in into an on-canvas tool || {{yes}} || Mostly complete, released in 2.9.2
+
|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}} || Released in 2.9.2
+
|Merge basic transformation tools || {{yes}} || Unified Transform tool, released in 2.9.2
 
|-
 
|-
 
|Canvas rotation and flipping|| {{yes}} || 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 ([https://gitlab.gnome.org/GNOME/gimp/issues/935 bug 768772])
 
|-
 
|-
 
|Support the XDG Base Directory Specification || {{yes}} || Released in 2.9.2
 
|Support the XDG Base Directory Specification || {{yes}} || Released in 2.9.2
 
|-
 
|-
|Seamless Clone tool || {{wip}} || Released as experimental in 2.9.2, needs work
+
|Symmetry painting|| {{yes}} || Released in 2.9.4
 
|-
 
|-
|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]
+
|Layer modes rewrite || {{yes}} || We need to support both legacy, gamma-corrected, and linear modes, sensible UI is missing
 
|-
 
|-
|Support layer masks on layer groups || {{wip}} || [https://bugzilla.gnome.org/show_bug.cgi?id=51112 Bug 51112]
+
|Better support for image metadata || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Cleanup libgimp || {{wip}} || (including major changes to plugin registration API)
+
|Support layer masks on layer groups || {{yes}} || Released in 2.10
 
|-
 
|-
|MyPaint Brush tool || {{wip}} || Released as experimental in 2.9.2
+
|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 || {{wip}} || Changes released in 2.10.x, more comeing in 3.x
 
|}
 
|}
  
[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].
+
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=2.10 Full list of open bugs with milestone 2.10].
 
+
  
 
=== GIMP 3.0 ===
 
=== 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;"
 
{| class="wikitable sortable" style="text-align: left;"
 
!'''Feature''' || '''Status''' || '''Comments'''
 
!'''Feature''' || '''Status''' || '''Comments'''
 
|-
 
|-
|Port to GTK3 || {{wip}} || git branch "gtk3-port"
+
|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"
 +
|-
 +
|Space invasion || {{wip}} || various color management improvemnts
 +
|-
 +
|Multi-layer selection || {{wip}} || Most tools are multi-layer selection aware but only work on the first selected layer
 
|-
 
|-
|GtkEntry-Widget instead of GimpSizeEntry || {{wip}} || git branch 'soc-2011-gimpunitentry'
+
|Extensions management || {{wip}} ||  
 
|}
 
|}
  
 +
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=3.0 List of open bugs with milestone 3.0]
  
[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]
+
=== GIMP 3.2 ===
  
=== GIMP 3.2 and beyond ===
+
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.
  
 
{| class="wikitable sortable" style="text-align: left;"
 
{| class="wikitable sortable" style="text-align: left;"
 
!'''Feature''' || '''Status''' || '''Comments'''
 
!'''Feature''' || '''Status''' || '''Comments'''
|-
 
|Automatic layer boundary management || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=93639 Bug 93639]
 
 
|-
 
|-
 
|Filter/Adjustment layers || {{no}} || Needs complete GEGL port first, API for stacking GEGL ops on a layer will be available in 2.10
 
|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
 
|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}} ||
 
|Auto-anchoring of floating selection || {{no}} ||
 
|-
 
|-
|Script recording and playback || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=51937 Bug 51937], needs complete GEGL port first
+
|Script recording and playback || {{no}} || [https://gitlab.gnome.org/GNOME/gimp/issues/8 Bug #8], needs complete GEGL port first
 
|-
 
|-
|Smart objects || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=694206 Bug 694206], 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}} ||  
 
|Brushpack support || {{no}} ||  
Line 89: Line 141:
 
|Support SwatchBooker file format for palettes and gradients || {{no}} ||  
 
|Support SwatchBooker file format for palettes and gradients || {{no}} ||  
 
|-
 
|-
|High-end CMYK support || {{no}} || 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
+
|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, there is no front-end.
 
|-
 
|-
|Better text handling || {{no}} || See [http://gui.gimp.org/index.php/Text-Handling_in_GIMP Improvements in the text handling]
+
|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=Future&product=GIMP List of open bugs with milestone 'Future']
+
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=Future List of open bugs with milestone 'Future']
  
 
== Further Reading ==
 
== Further Reading ==
  
 
TODO list: [[Hacking:TODO]]
 
TODO list: [[Hacking:TODO]]

Latest revision as of 12:45, 10 October 2020

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, there is no front-end.
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