Difference between revisions of "Roadmap"

From GIMP Developer Wiki
Jump to: navigation, search
(GIMP 3.0)
(Roadmap update)
 
(21 intermediate revisions by the same user not shown)
Line 22: Line 22:
 
|}
 
|}
  
=== GIMP 2.10 ===
+
=== GIMP 2.10.x ===
  
List of changes: [[Release:2.10 changelog]].
+
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 41: Line 45:
 
|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://bugzilla.gnome.org/show_bug.cgi?id=768772 bug 768772])
+
|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
Line 49: Line 53:
 
|Layer modes rewrite || {{yes}} || We need to support both legacy, gamma-corrected, and linear modes, sensible UI is missing
 
|Layer modes rewrite || {{yes}} || We need to support both legacy, gamma-corrected, and linear modes, sensible UI is missing
 
|-
 
|-
|Color management fixes and improvements || {{wip}} || Released in 2.9.4. Missing: make it work for GEGL ops
+
|Better support for image metadata || {{yes}} || Released in 2.9.6
 
|-
 
|-
|Seamless Clone tool || {{wip}} || Released as experimental in 2.9.2, needs work
+
|Support layer masks on layer groups || {{yes}} || Released in 2.10
|-
+
|Better support for image metadata || {{wip}} || Patch available in [https://bugzilla.gnome.org/show_bug.cgi?id=769820 Bug 769820], to be merged and released in 2.9.6
+
 
|-
 
|-
|Support layer masks on layer groups || {{wip}} || [https://bugzilla.gnome.org/show_bug.cgi?id=51112 Bug 51112] (the main issue here is undo support)
+
|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.
 
|-
 
|-
|Cleanup libgimp || {{wip}} || 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
 
|-
 
|-
|UI themes || {{wip}} || [https://bugzilla.gnome.org/show_bug.cgi?id=770424 #770424]
+
|Icon themes || {{yes}} || Released in 2.9.6
|-
+
|Icon themes || {{wip}} || The icon themes are missing icons, we don't have guidelines for icons, symbolic icons fail to have discernible shapes, defeating the purpose of a symbolic theme
+
 
|-
 
|-
 
|Icon size minimal support || {{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
 
|-
 
|-
|GtkEntry-Widget instead of GimpSizeEntry || {{wip}} || git branch 'soc-2011-gimpunitentry'
+
|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
 
|-
 
|-
|Fix compositing part of blending modes || {{yes}} || [https://bugzilla.gnome.org/show_bug.cgi?id=775653 Bug 775653]
+
|Wayland support fixes || {{wip}} || git branch "master"
 
|-
 
|-
|Redesign wire protocol for scripts/plug-ins || {{no}} || D-Bus should be investigated as a cleaner choice
+
|Space invasion || {{wip}} || various color management improvemnts
 
|-
 
|-
|Merge GIMP Motion plug-in || {{no}} || Currently sits in the [https://git.gnome.org/browse/gimp/log/?h=wip/animation wip/animation] branch
+
|Multi-layer selection || {{wip}} || Most tools are multi-layer selection aware but only work on the first selected layer
 +
|-
 +
|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 ===
  
The focus of this release is going to be on non-destructive editing. Note that both adjustment layers and layer effects/styles are the terminology currently used in requests by users. We haven't yet assessed, how exactly non-destructive editing is going to be implemented.
+
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 availability of developers.
+
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;"
Line 108: Line 121:
 
!'''Feature''' || '''Status''' || '''Comments'''
 
!'''Feature''' || '''Status''' || '''Comments'''
 
|-
 
|-
|Automatic layer boundary management || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=93639 Bug 93639]
+
|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
 
|-
 
|-
|Optionally save undo history in the XCF || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=148930]
+
|Optionally save undo history in the XCF || {{no}} || [https://gitlab.gnome.org/GNOME/gimp/issues/89 Bug #89]
 
|-
 
|-
|Smart objects || {{no}} || [https://bugzilla.gnome.org/show_bug.cgi?id=694206 Bug 694206], needs complete GEGL port first
+
|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 122: 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 RGB working spaces other than sRGB || {{no}} || babl and GEGL need to be patched accordingly first
+
|Support for gamma encodings other than the sRGB TRC || {{yes}} ||  
 
|-
 
|-
|Support for gamma encodings other than the sRGB TRC || {{no}} || babl and GEGL need to be patched accordingly first
+
|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]
 
|-
 
|-
|Better text handling || {{no}} || See [http://gui.gimp.org/index.php/Text-Handling_in_GIMP Improvements in the text handling], [https://bugzilla.gnome.org/show_bug.cgi?id=102822 Bug 102822]
+
|Shape tool || {{no}} || Easily create circles, rectangles, N-side polygons, stars etc.
 
|-
 
|-
|Shape tool || {{no}} || Easily create N-side polygons, stars etc.
+
|Vector layers || {{no}} || Back-end exists, there is no front-end.
 
|-
 
|-
|Simplified add-ons management || {{no}} || easily install/deinstall plug-ins, filters, scripts etc.
+
|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