Difference between revisions of "Roadmap"

From GIMP Developer Wiki
Jump to: navigation, search
(Expected availability of developed features: gtk3 port in progress)
m (Future)
 
(83 intermediate revisions by 6 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.
  
# Support layer masks on layer groups
+
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.
# Cleanup libgimp (including major changes to plugin registration API, work in progress)
+
# Port to GTK3
+
# High bit depths (work in progress)
+
# Automatic layer boundary management
+
# Filter layers (brightness/contrast, blur, etc)
+
# Auto-anchoring of floating selection
+
# Turn the IWarp plug-in into an on-canvas tool (GSoC2011 project to be merged)
+
# Script recording and playback
+
# "Smart objects"
+
# "Layer effects" (bevel/emboss, draw line at edges, etc)
+
# [http://gui.gimp.org/index.php/Transformation_tool_specification Unified transform tool] (GSoC2012 project, done)
+
# Better support for image metadata (work in progress)
+
# Support the XDG Base Directory Specification (done)
+
  
Low priority:
+
The list below shows when coming features are expected to be ready, but that might change.
* High-end CMYK support
+
  
== Expected availability of developed features ==
+
== Roadmap ==
  
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/>
+
'''Legend'''
The below list shows when coming features are expected to be ready, but that might change.
+
  
*'''GIMP 2.10'''
+
<u>Status Column:</u>
**Fully port to GEGL [work in progress]
+
{|
**High bit depths [done]
+
! scope="col" width="50px" |
**Support layer masks on layer groups
+
|-
**Cleanup libgimp, deprecate all ancient pixel fiddling API
+
| {{no|}} || work hasn't started yet
**GSoC 2011 projects
+
|-
**Unified transform tool [done]
+
| {{wip|  }} || work in progress
**Unified configuration path across platforms (using XDG when relevant) [done]
+
|-
*'''GIMP 3.0'''
+
| {{yes|  }} || implementation finished
**Port to GTK3 [work in progress, branch gtk3-port]
+
|}
  
*'''"Future"''' The features here are on the roadmap, but have no milestone yet
+
=== GIMP 2.10.x ===
**[http://gui.gimp.org/index.php/Text-Handling_in_GIMP Improvements in the text handling]
+
 
**Automatic layer boundary management
+
The 2.10.x series coexists with the ongoing work to port GIMP to GTK+3 and cleanup/obsolete API.
**Filter layers and "Layer effects"
+
 
**Non-destructive editing
+
We try to backport fixes and new features to 2.10.x from the master branch when we can.
**Auto-anchoring of floating selection - or better, get rid of floating selections!
+
 
**Script recording and playback
+
More or less complete list of changes: [[Release:2.10 changelog]].
**"Smart objects"
+
 
 +
{| class="wikitable sortable" style="text-align: left;"
 +
!'''Feature''' || '''Status''' || '''Comments'''
 +
|-
 +
|High bit depths || {{yes}} || Released in 2.9.2
 +
|-
 +
|Preview filters on canvas || {{yes}} || Released in 2.9.2, [[Hacking:Porting filters to GEGL | porting status]]
 +
|-
 +
|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}} || 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 ([https://gitlab.gnome.org/GNOME/gimp/issues/935 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 || {{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"
 +
|-
 +
|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
 +
|-
 +
|Extensions management || {{wip}} ||
 +
|}
 +
 
 +
[https://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=3.0 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.
 +
 
 +
{| class="wikitable sortable" style="text-align: left;"
 +
!'''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://gitlab.gnome.org/GNOME/gimp/issues?milestone_title=Future List of open bugs with milestone 'Future']
 +
 
 +
== Further Reading ==
 +
 
 +
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