GIMPhttps://www.gimp.org/2024-02-21T00:00:00+01:00GIMP 2.99.18 Released: The Last Development Preview Before 3.0!2024-02-21T00:00:00+01:002024-02-21T00:00:00+01:00Wilbertag:www.gimp.org,2024-02-21:/news/2024/02/21/gimp-2-99-18-released/<p>Release news for version <span class="caps">GIMP</span> 2.99.18</p><p>At long last, we bring you the final development version before <span class="caps">GIMP</span> 3! While the release of 2.99.18 is a bit behind <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/10373#timeline">our intended schedule</a>, there are a number of new features and improvements that we’re very excited to share with you.</p>
<p>⚠️ ☢️ <br/>
We remind that a <em>development version</em> means that this is a release to show
work-in-progress but also give an opportunity to the community to detect issues
early and report issues. In other word, this is an <strong>unstable</strong> version and we
do not recommend to use it in production. Use it because you want to help <span class="caps">GIMP</span>
improve by <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">reporting bugs</a>.</p>
<p>This version 2.99.18 in particular might be one of the most unstable releases in
the 2.99 series because of the space invasion. It is expected and normal.<br/>
⚠️ ☢️</p>
<div class="toc">
<ul>
<li><a href="#color-space-invasion">(Color) Space Invasion</a></li>
<li><a href="#improved-color-algorithms">Improved Color Algorithms</a></li>
<li><a href="#initial-non-destructive-layer-effects">Initial Non-Destructive Layer Effects</a></li>
<li><a href="#font-handling-improvements">Font Handling Improvements</a></li>
<li><a href="#auto-expanding-layers">Auto-Expanding Layers</a></li>
<li><a href="#new-snapping-options">New Snapping Options</a></li>
<li><a href="#themes">Themes</a></li>
<li><a href="#welcome-dialog">Welcome Dialog</a></li>
<li><a href="#file-formats">File Formats</a><ul>
<li><a href="#dds"><span class="caps">DDS</span></a></li>
<li><a href="#gif"><span class="caps">GIF</span></a></li>
<li><a href="#heif-and-jpeg-xl"><span class="caps">HEIF</span> and <span class="caps">JPEG</span>-<span class="caps">XL</span></a></li>
<li><a href="#openexr">OpenEXR</a></li>
<li><a href="#pdf"><span class="caps">PDF</span></a></li>
<li><a href="#png"><span class="caps">PNG</span></a></li>
<li><a href="#psd"><span class="caps">PSD</span></a></li>
<li><a href="#psp"><span class="caps">PSP</span></a></li>
<li><a href="#new-image-format-supports-farbfeld-esm-software-pix-hej2">New image format supports: Farbfeld, Esm Software <span class="caps">PIX</span>, <span class="caps">HEJ2</span></a></li>
<li><a href="#new-palette-format-support-swatchbooker">New palette format support: Swatchbooker</a></li>
</ul>
</li>
<li><a href="#wayland-tablet-pad-interactions">Wayland Tablet Pad Interactions</a></li>
<li><a href="#api-updates"><span class="caps">API</span> Updates</a></li>
<li><a href="#gegl-and-babl"><span class="caps">GEGL</span> and babl</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#team-news-and-release-process">Team news and release process</a></li>
<li><a href="#around-gimp">Around <span class="caps">GIMP</span></a><ul>
<li><a href="#mirror-news">Mirror News</a></li>
<li><a href="#gimp-on-windowsarm"><span class="caps">GIMP</span> on Windows/<span class="caps">ARM</span></a></li>
</ul>
</li>
<li><a href="#downloading-gimp-29918">Downloading <span class="caps">GIMP</span> 2.99.18</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news post lists the most notable and visible changes. We do not list minor bug fixes or smaller improvements here. To get a more complete list of changes, you should refer to the <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/1f85924e3cbd7a3e24f3bcb23cd854433d9b5271/NEWS#L9"><span class="caps">NEWS</span></a> file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit history</a>.</em></p>
<h2 id="color-space-invasion">(Color) Space Invasion<a class="headerlink" href="#color-space-invasion" title="Permanent link">¶</a></h2>
<p>We have been working very hard on the Space Invasion project, which is — as <a href="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/#prepare-for-the-space-invasion">you might
recall</a> —
our codename for the project of making <span class="caps">GIMP</span> more <em>correct</em> regarding colors.</p>
<p>Lately we have been porting older internal color structures (<code>GimpRGB</code>,
<code>GimpCMYK</code>, <code>GimpHSV</code>…) which we used to carry color information to
<a href="https://developer.gimp.org/api/gegl/class.Color.html"><code>GeglColor</code></a>. This
generic object can contain any color data regardless of color model, precision
or space supported by <a href="https://gegl.org/babl/">babl</a>, our pixel encoding engine.</p>
<p>What it means for color correctness in particular is that we will now do color
conversion only when needed (last-second conversion) and therefore won’t lose
information when it could have been avoided. For instance, say you color-pick
color from an image: if we were to convert to an intermediate format, before
using it on a second image (which may or may not be in another color format),
we’d do 2 conversions. Which means more possibility of precision loss. The issue
is even more flagrant if the input and output formats are the same (i.e. no
conversion should happen at all). And this will be even more a problem when we
will have core <span class="caps">CMYK</span> backend (we really want to avoid doing a round-trip to an
intermediate format with <span class="caps">CMYK</span>, which doesn’t have bijective conversion with most
other color models, even when working unbounded and ignoring precision issues).</p>
<p>We are also slowly moving stored data to this generic color object. In
particular it means that color palettes will be able to contain <span class="caps">CMYK</span> colors,
<span class="caps">CIELAB</span> colors or in any other supported model (and not only these colors after a
conversion to unbounded sRGB).</p>
<p>A consequence for code maintainance is that it makes it a lot easier to handle
color conversions within our codebase, now that the structure embeds both the
data and its “meaning”. It makes color handling a lot less bug-prone compared to
when we had to keep track of both information as separate data.</p>
<p>Lastly we are working toward showing color space information in various parts of
the interface, when relevant, such as when displaying or choosing <span class="caps">RGB</span>, <span class="caps">CMYK</span>, <span class="caps">HSL</span>
or <span class="caps">HSV</span> data.
Values in these color models without the associated color space are
near-meaningless. Interface displaying values in <code>RGB</code> without further
information are a remnant of the past when it mostly meant sRGB. This is
clearly not true anymore in modern graphic work and the interface should make
this clear.</p>
<p>The below video shows some of this interface work where <span class="caps">RGB</span>, <span class="caps">HSV</span> or <span class="caps">CMYK</span> models
for instance are always displaying the color space the values are in (which very
often means the name of the <span class="caps">ICC</span> profile). This is being done in the color picker
tool, color samples, <span class="caps">FG</span>/<span class="caps">BG</span> Color dockable, “<em>Change Foreground/Background Color</em>”
dialog and in more places.</p>
<p>Not only this, but when people select a soft-proofing profile and activate
soft-proofing (e.g. through the nice new simulation toggle which <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#simulation-toggle-in-the-status-bar">was added in <span class="caps">GIMP</span>
2.99.12</a>),
we will also show out-of-gamut area not only within the image’s color space, but
also the soft-proof space.</p>
<figure>
<iframe title="Demo of GIMP 2.99.18: (Color) Space Invasion in the interface" width="560" height="315" src="https://peer.tube/videos/embed/0c97ef12-ba6e-479c-9835-a213bfe58e33" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<figcaption>
<em>(Color) Space Invasion in the interface - <span class="caps">GIMP</span> 2.99.18</em>
</figcaption>
</figure>
<p><strong>Very important warning</strong>: this is once again a huge port in our codebase,
which impacted litterally thousands of lines of code. This work is unfinished
though it will have to be finished before the first release candidate. Therefore
unstabilities or bugs are to be expected in this update so if you encounter any
issue, we recommend to <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">report
them</a>.</p>
<h2 id="improved-color-algorithms">Improved Color Algorithms<a class="headerlink" href="#improved-color-algorithms" title="Permanent link">¶</a></h2>
<p>Øyvind Kolås improved a few internal algorithms:</p>
<ul>
<li>Achromatic pixels in the Hue-Saturation tool are now special-cased so that
grayscale pixels (saturation of 0) are only changed by the master adjustment,
not by the red adjustment.</li>
<li>Grayscale gradients are now kept achromatic even with “Dithering” checked in
the Gradient tool.</li>
</ul>
<p>As the <a href="#color-space-invasion">space invasion</a> project goes on, getting things
consistent is getting easier in various color-related algorithms, hence enabling
us to discover issues quickly and fix them.</p>
<h2 id="initial-non-destructive-layer-effects">Initial Non-Destructive Layer Effects<a class="headerlink" href="#initial-non-destructive-layer-effects" title="Permanent link">¶</a></h2>
<p>One area we’re “ahead of schedule” on are the much-requested non-destructive
layer effects! The foundation for these features has been laid by many
developers over many years, since the introduction of <span class="caps">GEGL</span> into <span class="caps">GIMP</span>. Originally
planned for the 3.2 roadmap, an initial implementation was made as a
continuation of a Google Summer of Code project.</p>
<p>If you are not familiar with the term, “non-destructive editing” implies the
ability of changing the output pixels while keeping the source pixels intact.
For filter effects, such as Blur, it means that layer effects are kept separate
from the layer’s pixels. This means that if later on you want to change a
setting, rearrange, or even remove the filter, you can easily do so without
affecting the rest of the image. Until now, <span class="caps">GIMP</span> has followed a destructive
editing workflow where effects were immediately merged down onto the layer, so
this is a major change!</p>
<p>Any <span class="caps">GEGL</span> operation that has a <span class="caps">GUI</span> is now applied to layers non-destructively (Non-destructive effects for layer masks and channels are planned for future updates.). This includes third-party <span class="caps">GEGL</span> plug-ins and custom operations created with our <span class="caps">GEGL</span> Graph tool. These effects can be saved and loaded in <code>.xcf</code> project files, although not all <span class="caps">GEGL</span> properties are supported in the current build.</p>
<p>Once a filter has been applied, you can interact with it further by clicking the filter icon in the layers dockable. This will open a pop-up that shows all filters currently applied to the layer. From here, you can toggle the filter’s visibility, edit the filter settings, re-order the filters, and delete individual effects. You can also merge down all filters to recreate a destructive workflow. </p>
<figure>
<iframe title="Demo of GIMP 2.99.18: non-destructive layer effects" width="560" height="315" src="https://peer.tube/videos/embed/d15e2dbf-0d32-4970-9264-f2190ef9f111" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<figcaption>
<em>Non-destructive layer effects - <span class="caps">GIMP</span> 2.99.18</em>
</figcaption>
</figure>
<p>Note that this is only an early implementation, and much work remains to be done for a full-featured version of non-destructive editing. We will continue to refine the existing features for the 3.0 release based on user testing and feedback, and extend them further afterwards.
The interface itself is not how we envision this feature ideally and a first
<a href="https://developer.gimp.org/core/specifications/layer-effects-ui/">specification draft was layed out</a>
for a much more integrated workflow.</p>
<p>The below screenshot is a mockup from this first specification which would show
layer effects within the main layer list, sharing the same “eye” and “lock”
buttons, but also with their own easily editable mask:</p>
<figure>
<img src="https://developer.gimp.org/core/specifications/layer-effects-ui/advanced/edit_mask/3_result.jpg"
alt="Non-destructive layer effect Specification mockup image"/>
<figcaption>
<em>Specification mockup image: vision of layer effects directly in the layer list with their own mask</em>
</figcaption>
</figure>
<p>Nevertheless creating this new interface will be its own challenge so we decided
to delay it to after <span class="caps">GIMP</span> 3 release and to propose this early implementation at first.</p>
<p>Please share your thoughts on the <a href="https://www.gimp.org/discuss.html">discussion forums</a> and <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">issue tracker</a>!</p>
<h2 id="font-handling-improvements">Font Handling Improvements<a class="headerlink" href="#font-handling-improvements" title="Permanent link">¶</a></h2>
<p>Idriss Fekir, another GSoC 2023 student, has been working with long-time developer Liam Quinn to improve how <span class="caps">GIMP</span> handles fonts. A lot of this work was internal to improve <span class="caps">GIMP</span>’s ability to handle future font and text updates. Some of the more visible changes include:</p>
<ul>
<li>
<p><span class="caps">GIMP</span> no longer relies on font names being unique to distinguish between them. This means it won’t append “#1”, “#2” and so on but instead keep the original names in the font selection list. Despite the apparent name clash, both identically named font will now work properly.</p>
</li>
<li>
<p><span class="caps">GIMP</span> can now load fonts using custom styles (bypassing Pango which is unable
to load them).</p>
</li>
<li>
<p>We can now load more types of fonts than before. In cases where we don’t support a font yet (or the font is non-existent), we can better detect this and fall back to a default font. This also improves support when loading an .xcf file created on another computer to different fonts available.</p>
</li>
<li>
<p>On Windows, we force the Pango backend to always use anti-aliasing. This improves the readability of menu text on that operating system, especially with a dark theme.</p>
</li>
<li>
<p>The <span class="caps">XCF</span>-saving code now stores font information much more accurately which
helps to avoid loading the wrong font when reopening some <span class="caps">XCF</span>.</p>
</li>
<li>
<p>Alignment of text in text layers for <span class="caps">RTL</span> languages is now more consistent with
how it works in other software (such as LibreOffice or Scribus).</p>
</li>
</ul>
<p>These changes are a lot less flashy relatively to some of the other features and
therefore may feel less important, yet they are actually the foundation work on
making text handling a lot more reliable in <span class="caps">GIMP</span>. We are envisionning a future
where text editing will be simpler while much more powerful and featureful (in
particular OpenType features are some of the big improvements we hope to get eventually).</p>
<h2 id="auto-expanding-layers">Auto-Expanding Layers<a class="headerlink" href="#auto-expanding-layers" title="Permanent link">¶</a></h2>
<p>The third GSoC project last summer by student Shubham Daule brought a long requested feature – auto-expanding layers! Brush tools now have an additional “Expand Layers” option. When checked, painting past the layer boundaries will cause them to automatically expand so you don’t have to manage the layer size yourself. If you want to expand the layer beyond the current size of the canvas, you’ll need to also check the “Show All” option in the View menu.</p>
<figure>
<iframe title="Demo of GIMP 2.99.18: auto-expanding layers" width="560" height="315" src="https://peer.tube/videos/embed/adaa59b4-6f0c-491a-9ccd-baa1a8c7cc80" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<figcaption>
<em>Auto-expanding layers - <span class="caps">GIMP</span> 2.99.18</em>
</figcaption>
</figure>
<p>The Expand Layers option also has additional settings when selected. You can decide how much you want the layer boundaries to expand by whenever the brush reaches them. There are also options to specify how the new areas of the layer and layer mask should be filled in when expanded.</p>
<h2 id="new-snapping-options">New Snapping Options<a class="headerlink" href="#new-snapping-options" title="Permanent link">¶</a></h2>
<p>New contributor mr. fantastic developed two new options for aligning layers on the canvas. With “Snap to Bounding Boxes” enabled, dynamic guides will now show when the layer you are moving is aligned with the center or sides of others. The active layer will also snap to those boundaries to assist you with arranging them properly. The second option, “Snap to Equidistance”, allows you to snap between three layers that are equidistant from each other.</p>
<figure>
<iframe title="Demo of GIMP 2.99.18: Snap to Bounding Boxes and Snap to Equidistance" width="560" height="315" src="https://peer.tube/videos/embed/57be0a8d-a34c-4aab-a453-d34705d583cc" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<figcaption>
<em>New snapping options - <span class="caps">GIMP</span> 2.99.18</em>
</figcaption>
</figure>
<h2 id="themes">Themes<a class="headerlink" href="#themes" title="Permanent link">¶</a></h2>
<p>We continued to improve the user interface and style for this release. One of the biggest improvements was dealing with “system theme leaks”. There are styles that were not specifically defined in our themes, thus allowing different systems to supply their own (often conflicting) styles. With the help and feedback of several contributors and users, we’ve made a lot of progress in defining those styles so that everyone has a consistent experience!</p>
<p>Recently Jehan worked on re-organizing and simplifying our theme system. In past development versions we had five different themes: Default, Gray, System, Darker, and Compact (Each with light and dark options). These have been simplified into the System theme and a single Default theme with three possible states – light, dark, and gray. Similarly, our four separate icon themes were condensed into the Legacy set and a Default with Color and Symbolic options. We think these changes will reduce user confusion and make it easier for them to find their preferred interface appearance.</p>
<p>In addition, on Windows the main titlebar (and most dialog title bars) now adjust to light or dark mode depending on the selected theme. </p>
<h2 id="welcome-dialog">Welcome Dialog<a class="headerlink" href="#welcome-dialog" title="Permanent link">¶</a></h2>
<p>The Welcome Dialog has been expanded to provide quick access to a number of useful features and options. There are now four new sections:</p>
<ul>
<li>
<p>Personalize: There are several customization options that require you to dig through the Preference Dialog to change. Now from this page you can easily change the color and icon themes, the user interface language and font size, and <span class="caps">OS</span>-specific settings.</p>
</li>
<li>
<p>Create: This page shows your eight most recently opened images and allows you to quickly reopen them. There are also buttons to create a new image or load an existing one. As with other programs, you can set this screen to automatically appear when <span class="caps">GIMP</span> starts for immediate access to these features.</p>
</li>
<li>
<p>Contribute: We consolidated some of the many ways you can be involved in <span class="caps">GIMP</span>’s development on this page. There are direct links to report bugs, write code, assist with translation or donate financially.</p>
</li>
<li>
<p>Release Notes: Originally these were shown on the lower half of the Welcome page. Now we have a full tab dedicated to them for easier reading.</p>
</li>
</ul>
<h2 id="file-formats">File Formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<p>As in other releases, we have made improvements to existing file formats and added import and export support for some new ones.</p>
<h3 id="dds"><span class="caps">DDS</span><a class="headerlink" href="#dds" title="Permanent link">¶</a></h3>
<p>A new contributor Stayd has been working with developer Jacob Boerema to make many improvements to the <span class="caps">DDS</span> plug-in. As a start, the import functions have been written to be simpler and easier to extend in the future. Some of the other additional updates include:</p>
<ul>
<li>
<p>Loading 16 and 32 bits per channel <span class="caps">RGBA</span> <span class="caps">DDS</span> images is now possible.</p>
</li>
<li>
<p>The <a href="https://www.mvps.org/directx/articles/catmull/">Catmull-Rom</a> cubic filter has been added for mipmap generation, and all mipmap generation calculations are performed at 32-bit precision.</p>
</li>
<li>
<p><span class="caps">DDS</span> images in the <span class="caps">R8G8</span>, R16, and <span class="caps">R16G16</span> formats can now be loaded as well.</p>
</li>
<li>
<p>An option to flip <span class="caps">DDS</span> images vertical on import was added to mirror the existing export option, as some game images store their data this way.</p>
</li>
</ul>
<h3 id="gif"><span class="caps">GIF</span><a class="headerlink" href="#gif" title="Permanent link">¶</a></h3>
<p>In the past, overwriting a <span class="caps">GIF</span> rather than exporting would always convert it into a single frame image. Now we check to see if the <span class="caps">GIF</span> is an animation on load, so it will stay that way when overwritten.</p>
<h3 id="heif-and-jpeg-xl"><span class="caps">HEIF</span> and <span class="caps">JPEG</span>-<span class="caps">XL</span><a class="headerlink" href="#heif-and-jpeg-xl" title="Permanent link">¶</a></h3>
<p>Both plug-ins now use their respective libraries (<a href="https://github.com/strukturag/libheif">libheif</a> and <a href="https://github.com/libjxl/libjxl">libjxl</a>) to load metadata. As a result, we have removed our custom code to interpret the image orientation and rely on the information supplied from the library instead.</p>
<h3 id="openexr">OpenEXR<a class="headerlink" href="#openexr" title="Permanent link">¶</a></h3>
<p>OpenEXR allows for channels to have custom names besides the color type. In these cases we now treat any single channel image with an unconventional name as grayscale. On import, we also display a notification so that users are aware of the conversion.</p>
<h3 id="pdf"><span class="caps">PDF</span><a class="headerlink" href="#pdf" title="Permanent link">¶</a></h3>
<p>The “Layers as Pages” export option now works even if there is only a single layer group. Previously this option was not available, as the plug-in only checked if there was more than one “layer” without considering if it was a layer group with multiple sub-layers.</p>
<h3 id="png"><span class="caps">PNG</span><a class="headerlink" href="#png" title="Permanent link">¶</a></h3>
<p>Safe-to-copy <span class="caps">PNG</span> chunks are now preserved on import and included in the exported image. Additionally, an often-reported issue with exporting transparent indexed PNGs has been fixed. Now the exported indexed colors should be displayed correctly.</p>
<h3 id="psd"><span class="caps">PSD</span><a class="headerlink" href="#psd" title="Permanent link">¶</a></h3>
<p>Jacob Boerema continued his work to improve the <span class="caps">PSD</span> plug-in. In addition to bug fixes such as correcting the layer order on import, he also clarified the export warning on layer mode compatibility between <span class="caps">GIMP</span> and Photoshop.</p>
<h3 id="psp"><span class="caps">PSP</span><a class="headerlink" href="#psp" title="Permanent link">¶</a></h3>
<p>The Paintshop Pro plug-in now supports importing more features from the project file, such as the <span class="caps">ICC</span> color profile, guides, grids, and the active selection from when the file was saved. The <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22096 and <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22097 security vulnerabilities were also patched in this release.</p>
<h3 id="new-image-format-supports-farbfeld-esm-software-pix-hej2">New image format supports: Farbfeld, Esm Software <span class="caps">PIX</span>, <span class="caps">HEJ2</span><a class="headerlink" href="#new-image-format-supports-farbfeld-esm-software-pix-hej2" title="Permanent link">¶</a></h3>
<p>We recently added import and export support for <a href="https://tools.suckless.org/farbfeld/">Farbfeld</a>, an sRGB image format intended to be easy to parse, pipe, and compress externally.</p>
<p>We also added import only support for the following new file formats:</p>
<ul>
<li>
<p><a href="http://fileformats.archiveteam.org/wiki/Esm_Software_PIX">Esm Software <span class="caps">PIX</span></a>: A modified <span class="caps">JPEG</span> format used exclusively by the Esm Software company to store their customized images. This was implemented in response to a <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/10058">bug report</a> that confused this format with our existing <a href="http://justsolve.archiveteam.org/wiki/Alias_PIX">Alias <span class="caps">PIX</span></a> image support.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format#JPEG_compression_formats_in_HEIF_files"><span class="caps">HEJ2</span></a>: An addition to our existing <span class="caps">HEIF</span> plug-in by contributor Daniel Novomeský which allows importing <span class="caps">JPEG</span> 2000 compressed images.</p>
</li>
</ul>
<h3 id="new-palette-format-support-swatchbooker">New palette format support: Swatchbooker<a class="headerlink" href="#new-palette-format-support-swatchbooker" title="Permanent link">¶</a></h3>
<p><a href="https://www.selapa.net/swatchbooker/">Swatchbooker</a> is a free/libre open source software that creates and converts color palettes in a variety of formats. While the software itself has not been updated in many years, its custom palette format .sbz is the most comprehensive of all the ones we currently support. Among its many features are allowing multiple color model definitions per palette entry, localizable names and descriptions, and support for per-entry <span class="caps">ICC</span> color profiles. </p>
<p>While working on our import support, we were able to contribute information that led to <a href="https://bugs.kde.org/show_bug.cgi?id=474583">a bug fix</a> in Krita’s support for Swatchbooker. It’s always great when projects can work together and help each other!</p>
<h2 id="wayland-tablet-pad-interactions">Wayland Tablet Pad Interactions<a class="headerlink" href="#wayland-tablet-pad-interactions" title="Permanent link">¶</a></h2>
<p>Long-time <span class="caps">GNOME</span> contributor Carlos Garnacho added support for <a href="https://blogs.gnome.org/carlosg/2023/06/16/getting-the-best-of-tablet-pads/">interacting with <span class="caps">GIMP</span> via tablet pads</a>. When a tablet is plugged in, you can now assign different actions to the tablet controls via the “Input Device” dialog under the Edit menu. In particular you don’t have to map keyboard shortcuts to the tablet’s buttons, system-side, then map the same shortcut to actions, <span class="caps">GIMP</span>-side. You can directly map the tablet’s buttons to actions without the intermediary of keyboard shortcuts.</p>
<figure>
<img src="https://blogs.gnome.org/carlosg/files/2023/06/Screenshot-from-2023-06-16-13-54-18.png"
alt="Assigning actions to tablet pad buttons - GIMP 2.99.18"/>
<figcaption>
<em>Assigning actions to tablet pad buttons - <span class="caps">GIMP</span> 2.99.18</em>
</figcaption>
</figure>
<p>This work also involved <a href="https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6095">porting features</a> to <span class="caps">GTK</span> 3, the <span class="caps">GUI</span> framework that <span class="caps">GIMP</span> is built on. Note that this feature is currently only supported on Wayland.</p>
<h2 id="api-updates"><span class="caps">API</span> Updates<a class="headerlink" href="#api-updates" title="Permanent link">¶</a></h2>
<p>The Application Programming Interface, for plug-in makers, is steadily being
reworked as part of the <span class="caps">GIMP</span> 3 overhaul. Part of it is that when colors are
involved, we are moving the <span class="caps">API</span> to use <code>GeglColor</code> as part of the more general
<a href="#color-space-invasion">Space Invasion project</a>. Yet it’s only a small part of
the whole <span class="caps">API</span> improvements.</p>
<p>We are also moving towards more classes to represent the various resources
managed by <span class="caps">GIMP</span> (brushes, fonts, patterns, etc.) instead of only representing
these by names (which was a historical limitation whereas it is absolutely
possible for 2 resource makers to choose the same name and the fact is that we
see such cases in the wild — for instance 2 fonts independently created may have
the same name).</p>
<p>Another big move is replacing the <code>GimpValueArray</code> representing the ordered
arguments of a plug-in procedure by a <code>GimpProcedureConfig</code> which contains
arguments by name instead of by order. This allows much more semantic usage of
plug-in procedures (especially when they have long list of arguments) but also
will make it easier to enhance plug-ins in the future, with new or reordered
arguments without creating new procedures because the order and number arguments
matter a lot less. It means that adding new arguments in the future won’t break
existing scripts depending on past versions of these plug-ins anymore (plug-in
writers will still have to choose appropriate defaults for the new arguments in
order for this to be true, of course).</p>
<p>In parallel, we continue to improve the ability of automatic <span class="caps">GUI</span> creation given
to plug-ins, making creating dialogs more easy than ever. This includes (among
many other enhancements) a new type of procedure argument named <code>GimpChoice</code>
which is a string list of choices which can be displayed to creators as
drop-down list widgets in your plug-in dialog.</p>
<p>We are planning to write and release tutorial for plug-in writers in the
<a href="https://developer.gimp.org/resource/">Resource Development</a> section of our
<a href="https://developer.gimp.org/">developer website</a> in the same time as <span class="caps">GIMP</span> 3
release, or not long after.</p>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>This release of <span class="caps">GIMP</span> is accompanied by new releases of <a href="https://gegl.org/"><span class="caps">GEGL</span></a> and <a href="https://gegl.org/babl/">babl</a>, both of which assist with the color space invasion project.</p>
<p>babl 0.1.108 brings a new <code>babl_space_is_rgb</code> function to help us directly confirm a color space is <span class="caps">RGB</span> (rather than doing multiple tests to see if it’s not <span class="caps">CMYK</span> or grayscale). There were also several improvements to the build process and to the babl command-line interface tool.</p>
<p><span class="caps">GEGL</span> 0.4.48 provides several updates to the <code>GeglColor</code> object which now supports much of <span class="caps">GIMP</span>’s color operation. Specific improvements include being able to directly get and set <span class="caps">CMYK</span> color values, as well as assigning the color space when setting <span class="caps">RGB</span>(A) colors.</p>
<p>A crash in the existing <code>gegl:voroni</code> filter was fixed, and a long-standing bug with the <code>gegl:dropshadow</code> filter which prevented the effect from shrinking was corrected too. </p>
<p>Last but not least, a new <code>gegl:shuffle-search</code> filter was added to the workshop. It shuffles neighboring pixels to create a more optimized dithering effect.</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>Apart from the first version in the series (2.99.2), <span class="caps">GIMP</span> 2.99.18 is clearly the
biggest update in most numbers. Since 2.99.16:</p>
<ul>
<li>238 reports were closed as <span class="caps">FIXED</span>.</li>
<li>201 merge requests were merged.</li>
<li>1358 commits were pushed.</li>
<li>26 translations were updated: Basque, Belarusian, Brazilian Portuguese,
Bulgarian, Catalan, Chinese (China), Danish, Esperanto, Finnish, Georgian,
German, Greek, Hungarian, Icelandic, Italian, Lithuanian, Norwegian Nynorsk,
Persian, Polish, Russian, Slovenian, Spanish, Swedish, Turkish, Ukrainian, Vietnamese.</li>
</ul>
<p>60 people contributed changes or fixes to <span class="caps">GIMP</span> 2.99.18 codebase (order is
determined by number of commits; some people are in several groups):</p>
<ul>
<li>23 developers to core code: Jehan, Alx Sa, Shubham, Jacob Boerema, Idriss
Fekir, bootchk, Anders Jonsson, Carlos Garnacho, mr.fantastic, Stanislav
Grinkov, lillolollo, Øyvind Kolås, Sabri Ünal, programmer_ceds, Lukas
Oberhuber, programmer-ceds, James Golden, Luca Bacci, Massimo Valentini, Niels
De Graef, Zander Brown, psykose, sonia.</li>
<li>17 developers to plug-ins or modules: Jehan, Alx Sa, Jacob Boerema, bootchk,
Anders Jonsson, Stayd, Zander Brown, Bruno Lopes, Daniel Novomeský, Sabri
Ünal, programmer_ceds, Kamil Burda, Mark, Michael Schumacher, Stanislav
Grinkov, programmer-ceds, sonia.</li>
<li>31 translators: Yuri Chornoivan, Martin, Ekaterine Papava, Luming Zh, Sabri
Ünal, Anders Jonsson, Rodrigo Lledó, Jordi Mas, Alan Mortensen, Vasil Pupkin,
Asier Sarasua Garmendia, Kolbjørn Stuestøl, Boyuan Yang, Víttor Paulo Vieira
da Costa, dimspingos, Alexander Shopov, Alexandre Prokoudine, Aurimas Černius,
Balázs Úr, Marco Ciampa, Sveinn í Felli, Danial Behzadi, Ngọc Quân Trần,
Jürgen Benvenuti, Piotr Drąg, Timo Jyrinki, Andre Klapper, Kristjan <span class="caps">SCHMIDT</span>,
MohammadSaleh Kamyab, Rafael Fontenelle, Tim Sabsch.</li>
<li>9 resource creators (icons, themes, cursors, splash screen, metadata…): Alx
Sa, Jehan, Ferry Jérémie, Stanislav Grinkov, Anders Jonsson, Bruno Lopes,
Jacob Boerema, Sabri Ünal, mr.fantastic.</li>
<li>5 documentation contributors: Jehan, Bruno Lopes, Jacob Boerema, Alx Sa,
Anders Jonsson.</li>
<li>14 build, packaging or <span class="caps">CI</span> contributors: Jehan, Bruno Lopes, bootchk, Alx Sa,
Zander Brown, Jacob Boerema, Jacob Boerema, Stayd, Carlos Garnacho, Heiko
Becker, mr.fantastic, Daniel Novomeský, U-<span class="caps">YGGDRASIL</span>\ender, lillolollo.</li>
</ul>
<p>Contributions on other repositories in the GIMPverse (order is determined by
number of commits):</p>
<ul>
<li>babl 0.1.108 is made of 17 commits by 6 contributors: Jehan, Øyvind Kolås,
John Marshall, Andre Klapper, John, sid.</li>
<li><span class="caps">GEGL</span> 0.4.48 is made of 77 commits by 20 contributors: Øyvind Kolås, Jehan,
Anders Jonsson, Jacob Boerema, Yuri Chornoivan, Alan Mortensen, Sabri Ünal,
Andre Klapper, Ekaterine Papava, Jan Tojnar, Jordi Mas, Luming Zh, Martin,
Piotr Drąg, Víttor Paulo Vieira da Costa, Asier Sarasua Garmendia, Marco
Ciampa, Rodrigo Lledó, dimspingos, woob.</li>
<li><a href="https://ctx.graphics/">ctx</a> had 308 commits since 2.99.14 release by 1
contributor: Øyvind Kolås.</li>
<li>The <code>gimp-macos-build</code> (macOS packaging scripts) release is made of 32 commits
by 1 contributor: Lukas Oberhuber.</li>
<li>The flatpak release is made of 15 commits by 3 contributors: Jehan, Daniel
Novomeský and Hubert Figuière.</li>
<li>Our main website (what you are reading right now) had 31 commits since
2.10.36 release by 6 contributors: Jehan, Alx Sa, Sabri Ünal, Anders Jonsson,
Bruno Lopes, Jonathan Demeyer.</li>
<li>Our <a href="https://developer.gimp.org/">developer website</a> had 30 commits since
2.10.36 release by 5 contributors: Bruno Lopes, Jehan, Alx Sa, bootchk, Robin Swift.</li>
<li>Our <a href="https://testing.docs.gimp.org/">3.0 documentation</a> had 247 commits since
2.99.16 release by 17 contributors: Andre Klapper, Jacob Boerema, Yuri
Chornoivan, Alx Sa, Jordi Mas, Alan Mortensen, dimspingos, Anders Jonsson,
Boyuan Yang, Sabri Ünal, Víttor Paulo Vieira da Costa, Juliano de Souza
Camargo, Rodrigo Lledó, Kolbjørn Stuestøl, Marco Ciampa, Danial Behzadi, Emin
Tufan Çetin.</li>
</ul>
<p>Let’s not forget to thank all the people who help us triaging in Gitlab, report
bugs and discuss possible improvements with us.
Our community is deeply thankful as well to the internet warriors who manage our
various <a href="https://www.gimp.org/discuss.html">discussion channels</a> or social
network accounts such as Ville Pätsi, Liam Quin, Michael Schumacher and Sevenix!</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting, errors may slip inside these
stats. Feel free to tell us if we missed or mis-categorized some
contributors or contributions.</em></p>
<h2 id="team-news-and-release-process">Team news and release process<a class="headerlink" href="#team-news-and-release-process" title="Permanent link">¶</a></h2>
<p>Access rights to the <code>git</code> repository were recently given to Bruno Lopes (who has been very active improving our build process and Windows packaging).</p>
<p>Several long term or recent developers or packagers who started to contribute to
the new developer website were also given access to the associated <code>git</code>
repository.</p>
<p>More contributors are now actively participating to testing releases and
packaging, and this is the first news for years which Jehan has not written
nearly entirely! Thanks a lot to Alx Sa (a.k.a. Nikc or CmykStudent) for taking
up on collaborative news writing!</p>
<p>Clearly we are consolidating day after day a solid core team of contributors and
this shows in our release process having more and more feedback at each release.</p>
<p>We are also particularly happy and proud that the 4 GSoC projects we had, since
we started again subscribing to this mentoring program, were all successful and
ended up being merged to the main code branch within half a year at most after
the internship end.</p>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="mirror-news">Mirror News<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h3>
<p>Since our <a href="https://www.gimp.org/news/2023/11/07/gimp-2-10-36-released/">last
news</a>, a new
<a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">mirror</a> has been
contributed to <span class="caps">GIMP</span> by:</p>
<ul>
<li><em>Sahil Dhiman</em>, in Nürnberg, Germany, as a personal project.</li>
</ul>
<p>This brings us to a total of 46 mirrors all over the world.</p>
<p>Mirrors are important as they help the project by sharing the load for dozens of
thousands of daily downloads. Moreover by having mirrors spread across the
globe, we ensure that everyone can have fast download access to <span class="caps">GIMP</span>.</p>
<h3 id="gimp-on-windowsarm"><span class="caps">GIMP</span> on Windows/<span class="caps">ARM</span><a class="headerlink" href="#gimp-on-windowsarm" title="Permanent link">¶</a></h3>
<p>Since our <a href="https://www.gimp.org/news/2023/08/13/experimental-windows-arm-installer/">news for an experimental build on Windows for <span class="caps">ARM</span> 64-bit
architecture</a>,
we received help from Hernan Martinez, well known contributor in the <span class="caps">MSYS2</span>
project, who hosted our first ever <span class="caps">CI</span> runner for Windows on Aarch64
architecture. Though this was only a temporary setup (literally a build machine
in someone’s living room) until we get a more stable situation, we are extremely
thankful to Hernan who helped us make our second step on this platform (the
first step was done by Jernej, who made our first experimental installer), make
sure our automatic build process worked there and more.</p>
<p>Since then, we got the stabler situation: Arm Ltd. themselves stepped up and
contributed officially 3 runners for our Continuous Integration process in
Gitlab! Arm Ltd. also sponsored a Windows devkit to one of our developers.</p>
<p>While we still do consider this build experimental, because of lack of testing
and because only 2 contributors have a machine able to run it right now, the
biggest blocker got removed and we are happy to announce that our universal
Windows installer for <span class="caps">GIMP</span> 2.99.18 contains <span class="caps">GIMP</span> for all 3 platforms (x86 32 and
64-bit, and now <span class="caps">ARM</span> 64-bit)!</p>
<h2 id="downloading-gimp-29918">Downloading <span class="caps">GIMP</span> 2.99.18<a class="headerlink" href="#downloading-gimp-29918" title="Permanent link">¶</a></h2>
<p>You will find all our official builds on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>Linux flatpaks for x86 and <span class="caps">ARM</span> (64-bit)</li>
<li>Universal Windows installer for x86 (32 and 64-bit) and for <span class="caps">ARM</span> (64-bit)</li>
<li>macOS <span class="caps">DMG</span> packages for Intel hardware</li>
<li>macOS <span class="caps">DMG</span> packages for Apple Silicon hardware</li>
</ul>
<p>Other packages made by third-parties are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>As we have now entered a feature freeze, our focus has shifted to bug-fixing, clean-up, and preparing for the first 3.0 release candidate.</p>
<p>We indeed think that this should be the last development release since no new
feature will be introduced from now on, at least <span class="caps">GUI</span> features (the <span class="caps">API</span> is still
evolving until the first release candidate). So what you see now is basically
what you should get in <span class="caps">GIMP</span> 3.0.0, feature-wise.</p>
<p>This is why we released this version even though we know it is quite unstable.
Now is the time for last minute comments! Also it’s the moment to report and fix
bugs like there is no tomorrow. We hope to be able to deliver a <abbr
title="Release Candidate"><span class="caps">RC</span></abbr>1 soon and it should be as bugless as possible.</p>
<p>Our current expectation is to be able to release <span class="caps">GIMP</span> for the upcoming <a href="https://libregraphicsmeeting.org/2024/">Libre
Graphics Meeting</a> in May 9-12. To be
fair, this is not an easy goal and therefore we are not sure if we can make it.
What is sure is that even if we did not manage this on time, it should not
happen too long after.
In particular we won’t release just because we set a <em>deadline</em>. We want to
provide the best experience, which means that if we discover last minute blocker
bugs, we will delay the release until they are fixed.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to give back and
<strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>GIMP 2.10.36 Released2023-11-07T00:00:00+01:002023-11-07T00:00:00+01:00Jehantag:www.gimp.org,2023-11-07:/news/2023/11/07/gimp-2-10-36-released/<p>Release news for version <span class="caps">GIMP</span> 2.10.36</p><p>This stable release of <span class="caps">GIMP</span> comes with a few security fixes, so we advise you to
update even if you feel like your current version works fine for you. Apart from
the many bug fixes and security updates, it also provides new support for
palette formats and a new generated gradient.</p>
<div class="toc">
<ul>
<li><a href="#new-features-and-improvements">New features and improvements</a><ul>
<li><a href="#ase-and-acb-palettes-support"><span class="caps">ASE</span> and <span class="caps">ACB</span> palettes support</a></li>
<li><a href="#new-gradient-fg-to-transparent-hardedge">New Gradient: <span class="caps">FG</span> to Transparent (Hardedge)</a></li>
<li><a href="#gif-non-square-ratio-support"><span class="caps">GIF</span>: non-square ratio support</a></li>
<li><a href="#more-enhancements">More enhancements</a></li>
</ul>
</li>
<li><a href="#security-and-bug-fixes">Security and bug fixes</a><ul>
<li><a href="#fixed-vulnerabilities">Fixed Vulnerabilities</a></li>
<li><a href="#broken-graphics-tablets-with-recent-linuxwacom-driver">Broken Graphics Tablets with recent linuxwacom driver</a></li>
</ul>
</li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#team-news-and-release-process">Team news and release process</a></li>
<li><a href="#around-gimp">Around <span class="caps">GIMP</span></a><ul>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
</ul>
</li>
<li><a href="#downloading-gimp-21036">Downloading <span class="caps">GIMP</span> 2.10.36</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news lists the most notable and visible changes. In particular, we
do not list here bug fixes or smaller improvements.
To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/70ad9853928ed7887df3aaaa3b607d6b646c51ed/NEWS#L11"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/gimp-2-10">commit
history</a>.</em></p>
<h2 id="new-features-and-improvements">New features and improvements<a class="headerlink" href="#new-features-and-improvements" title="Permanent link">¶</a></h2>
<h3 id="ase-and-acb-palettes-support"><span class="caps">ASE</span> and <span class="caps">ACB</span> palettes support<a class="headerlink" href="#ase-and-acb-palettes-support" title="Permanent link">¶</a></h3>
<p>In addition to already supported palette formats, <span class="caps">GIMP</span> can now load palettes in
the following formats:</p>
<ul>
<li><strong>Adobe Swatch Exchange (<span class="caps">ASE</span>)</strong></li>
<li><strong>Adobe Color Book (<span class="caps">ACB</span>)</strong></li>
</ul>
<p>This will make it easier to exchange palettes coming from other software.</p>
<h3 id="new-gradient-fg-to-transparent-hardedge">New Gradient: <span class="caps">FG</span> to Transparent (Hardedge)<a class="headerlink" href="#new-gradient-fg-to-transparent-hardedge" title="Permanent link">¶</a></h3>
<p>Everywhere a gradient option is available, the gradient list will now feature
the additional “<em><span class="caps">FG</span> to Transparent (Hardedge)</em>” option. It generates a gradient
from the foreground color to transparency, with hard-edge transitions between
the 2 colors.</p>
<p>In the Gradient Tool in particular, you can generate patterns very quickly with
the “Repeat” option, alternating repetitive colored shapes with full transparency
over a given background.</p>
<figure>
<iframe title="New "FG to Transparent (Hardedge)" gradient - GIMP
2.10.36" width="640" height="438"
src="https://peer.tube/videos/embed/92f104c1-51c3-436c-bf82-4c9673edc357"
frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts
allow-popups"></iframe>
<figcaption>
<em>New <span class="caps">FG</span> to Transparent (Hardedge) gradient - <span class="caps">GIMP</span> 2.10.36</em>
</figcaption>
</figure>
<h3 id="gif-non-square-ratio-support"><span class="caps">GIF</span>: non-square ratio support<a class="headerlink" href="#gif-non-square-ratio-support" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now loads <span class="caps">GIF</span> images containing the <code>PixelAspectRatio</code> header metadata by
setting different resolutions per dimension, hence rendering the image correctly
(instead of looking squashed on the screen).</p>
<p>Of course the option “<em>Dot for Dot</em>” in the <code>View</code> menu must be unchecked to see
the image at its expected ratio.</p>
<h3 id="more-enhancements">More enhancements<a class="headerlink" href="#more-enhancements" title="Permanent link">¶</a></h3>
<p>A few more improvements were sprinkled across this update, such as:</p>
<ul>
<li>Text tool: improved formatting behavior when selecting and changing text on canvas.</li>
<li>Theme: better feedback when hovering lock buttons (with a white frame) as well
as when activating a lock (a small padlock shows up in the corner).</li>
<li>Help: The <code>Help > User Manual</code> submenu now features a “<em>[Table of Contents]</em>” link.</li>
</ul>
<h2 id="security-and-bug-fixes">Security and bug fixes<a class="headerlink" href="#security-and-bug-fixes" title="Permanent link">¶</a></h2>
<h3 id="fixed-vulnerabilities">Fixed Vulnerabilities<a class="headerlink" href="#fixed-vulnerabilities" title="Permanent link">¶</a></h3>
<p>Four vulnerabilities were reported by the Zero Day Initiative in code for the
following formats and fixed immediately:</p>
<ul>
<li><span class="caps">DDS</span>: <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22093</li>
<li><span class="caps">PSD</span>: <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22094</li>
<li><span class="caps">PSP</span>: <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22096 and <span class="caps">ZDI</span>-<span class="caps">CAN</span>-22097</li>
</ul>
<p>Additionally dependencies have been updated in our binary packages, and with
them, some vulnerabilities recently reported in these libraries were fixed.</p>
<p>In any case, we recommend to update <span class="caps">GIMP</span> with the latest packages.</p>
<h3 id="broken-graphics-tablets-with-recent-linuxwacom-driver">Broken Graphics Tablets with recent linuxwacom driver<a class="headerlink" href="#broken-graphics-tablets-with-recent-linuxwacom-driver" title="Permanent link">¶</a></h3>
<p>We don’t usually mention bug fixes prominently but an ugly one happened
recently after a change in the <code>xf86-input-wacom</code> (linuxwacom) driver, which
provoked crashes of <span class="caps">GIMP</span> when using a graphic tablet on Linux.</p>
<p>Various distributions already downgraded the driver, or backported the fix,
since a patch to the driver has been quickly pushed as well. Nevertheless if you
are in the unlucky situation of using the non-patched driver, this version of
<span class="caps">GIMP</span> also contains a workaround to the bug.</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>Since <span class="caps">GIMP</span> 2.10.34:</p>
<ul>
<li>26 reports were closed as <span class="caps">FIXED</span> in 2.10.36.</li>
<li>10 merge requests were merged.</li>
<li>155 commits were pushed.</li>
<li>20 translations were updated: Belarusian, Catalan, Chinese (China), Danish,
Dutch, Georgian, German, Greek, Hungarian, Icelandic, Italian, Lithuanian,
Polish, Portuguese, Romanian, Slovenian, Spanish, Swedish, Turkish, Ukrainian.</li>
</ul>
<p>29 people contributed changes or fixes to <span class="caps">GIMP</span> 2.10.36 codebase (order is
determined by number of commits):</p>
<ul>
<li>7 developers: Alx Sa, Jehan, Stanislav Grinkov, Jacob Boerema, Daniel
Novomeský, Andras Timar and Gabriel Scherer.</li>
<li>22 translators: Marco Ciampa, Sabri Ünal, Luming Zh, Anders Jonsson, Yuri
Chornoivan, Martin, Rodrigo Lledó, Balázs Úr, Hugo Carvalho, Jürgen Benvenuti,
Nathan Follens, Piotr Drąg, Alan Mortensen, Cristian Secară, Ekaterine Papava,
Jordi Mas, Vasil Pupkin, Aurimas Černius, Danial Behzadi, Petr Kovář, Sveinn í
Felli and dimspingos.</li>
<li>3 resource creators (icons, themes, cursors, splash screen, metadata…):
Stanislav Grinkov, Jehan, Daniel Novomeský.</li>
<li>One documentation contributor: Jehan.</li>
<li>3 build or <span class="caps">CI</span> contributors: Jernej Simončič, Jehan and Stanislav Grinkov.</li>
</ul>
<p>Contributions on other repositories in the GIMPverse (order is determined by
number of commits):</p>
<ul>
<li>babl, <span class="caps">GEGL</span> and ctx are actively developed, but no releases have accompanied
this version of <span class="caps">GIMP</span> for once. So we will provide relevant statistics at next release.</li>
<li>The <code>gimp-2-10</code> branch of <code>gimp-macos-build</code> (macOS build scripts) had 45
commits since 2.10.34 release by 1 contributor: Lukas Oberhuber.</li>
<li>The stable flatpak branch had 28 commits since 2.10.34, by 3 contributors (and
a bot): Jehan, Daniel Novomeský and Hubert Figuière.</li>
<li>Our main website (what you are reading right now) had 165 commits since
2.99.16 release by 6 contributors: Sabri Ünal, Jehan, Bruno Lopes, lillolollo,
Alx Sa and Robin Swift.</li>
<li>Our <a href="https://developer.gimp.org/">developer website</a> had 17 commits since
2.99.16 release by 5 contributors: Jehan, Bruno Lopes, Aryeom, Jacob Boerema
and Robin Swift.</li>
<li>Our <a href="https://docs.gimp.org/">2.10 documentation</a> had 138 commits since 2.10.34
release by 16 contributors: Andre Klapper, Jacob Boerema, Marco Ciampa, Anders
Jonsson, Boyuan Yang, dimspingos, Yuri Chornoivan, Jordi Mas, Rodrigo Lledó,
Martin, Alexander Shopov, Alx Sa, Balázs Úr, Piotr Drąg, Sabri Ünal and Tim Sabsch.</li>
</ul>
<p>Let’s not forget to thank all the people who help us triaging in Gitlab, report
bugs and discuss possible improvements with us.
Our community is deeply thankful as well to the internet warriors who manage our
various <a href="https://www.gimp.org/discuss.html">discussion channels</a> or social
network accounts such as Ville Pätsi, Liam Quin, Michael Schumacher and Sevenix!</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting, errors may slip inside these
stats. Feel free to tell us if we missed or mis-categorized some
contributors or contributions.</em></p>
<h2 id="team-news-and-release-process">Team news and release process<a class="headerlink" href="#team-news-and-release-process" title="Permanent link">¶</a></h2>
<p>Access rights to the <code>git</code> repository were recently given to Lukas Oberhuber
(our maintainer for the macOS packages).</p>
<p>During the duration of
<a href="https://www.gimp.org/news/2023/03/20/gimp-in-gsoc-2023/">GSoC</a>, “reporter”
rights on our Gitlab project were given to Idriss and Shubham, 2 of the GSoC
contributors (the third one already had git access).</p>
<p>Robin Swift, who already helped with <a href="https://www.gimp.org/news/2022/10/16/gimp-developer-website-rewrite/"><span class="caps">GIMP</span>’s developer
website</a>
has started working on a port of the main website (which you are reading right
now) from Pelican to Hugo, a project which was long planned yet had stalled so far.</p>
<p>Finally we remind that we are <a href="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/#team-news-and-release-process">actively looking for people helping us
test</a>
packages before releases (especially for <span class="caps">GIMP</span> 3.0 and forward). This will help
make <span class="caps">GIMP</span> releases much more robust. Since the last release, Anders Jonsson and
Mark Sweeney were added as Flatpak testers. We also have several testers of the
Windows packages, yet we still have no testers for macOS.
Whatever your <span class="caps">OS</span> and the architecture you test on, we welcome your feedback to
detect issues early! Together, the community is stronger! 💪</p>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h3>
<p>Since our latest news, 4 new
<a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">mirrors</a> were
contributed to <span class="caps">GIMP</span> by:</p>
<ul>
<li><em>Silicon Hill</em>, student club of the Czech Technical University in Prague,
Czech Republic;</li>
<li><em>Lancaster-Lebanon <span class="caps">IU13</span></em>, an organization comprised of more than 20 public
school districts and several non-public, parochial, and charter schools in
Lancaster, Pennsylvania, <span class="caps">USA</span>;</li>
<li>the <em>Moroccan Academic and Research Wide Area Network</em> (<span class="caps">MARWAN</span>) in Rabat, Morocco;</li>
<li>Jing Luo, in Tokyo, Japan.</li>
</ul>
<p>This brings us to a total of 45 mirrors so far, from all over the world.</p>
<p>Mirrors are important as they help the project by sharing the load for dozens of
thousands of daily downloads. Moreover by having mirrors spread across the
globe, we ensure that everyone can have fast download access to <span class="caps">GIMP</span>.</p>
<h3 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h3>
<p>Sabri Ünal continued their 📚 bibliographic research, adding so many published
books that we decided to completely reorganize the books as a structured file
database, allowing us to easily process the information or change the page
styling separately from the data.</p>
<p>This also triggered us to split the books page into 2:</p>
<ul>
<li><a href="/books/">Recent Books About <span class="caps">GIMP</span></a></li>
<li><a href="/books/older.html">Ancient Books About <span class="caps">GIMP</span></a></li>
</ul>
<p>As book descriptions don’t always clearly state the version of <span class="caps">GIMP</span> they pertain
to, we used the release date of <span class="caps">GIMP</span> 2.10.0 (April 27, 2018) as the split date.</p>
<p>Last but not least, this new structure allows us to easily generate statistics,
which we now show at the bottom of the books pages. At least 44 books were
published after <span class="caps">GIMP</span> 2.10.0 release, and 305 were published before it.
Therefore we are currently listing a grand total of 349 books about <span class="caps">GIMP</span> in 17 languages!</p>
<p>We remind everyone that we welcome book additions. If you know (or even are the
author) of a not-listed-yet book about <span class="caps">GIMP</span>, please <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the same information
as other books in the
list</a>. Thanks!</p>
<h2 id="downloading-gimp-21036">Downloading <span class="caps">GIMP</span> 2.10.36<a class="headerlink" href="#downloading-gimp-21036" title="Permanent link">¶</a></h2>
<p>You will find all our official builds on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>Linux flatpaks for x86 and <span class="caps">ARM</span> (64-bit)</li>
<li>Universal Windows installer for x86 (32 and 64-bit) and for <span class="caps">ARM</span> (64-bit)</li>
<li>macOS <span class="caps">DMG</span> packages for Intel hardware</li>
<li>macOS <span class="caps">DMG</span> packages for Apple Silicon hardware</li>
</ul>
<p><del>Note: <em>macOS packages are a bit late but will come shortly.</em></del></p>
<p>Other packages made by third-parties are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>I believe it might be the next to last release in the 2.10 branch, though of
course, this is still to be confirmed. What may happen in real life does not
always align with plans.</p>
<p>In the meantime, we are working harder than ever to release <span class="caps">GIMP</span> 3.0. You will
hear shortly about this in our next development release.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to give back and
<strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>GIMP now on Windows for ARM (experimental)2023-08-13T00:00:00+02:002023-08-13T00:00:00+02:00Jehantag:www.gimp.org,2023-08-13:/news/2023/08/13/experimental-windows-arm-installer/<p><span class="caps">GIMP</span>’s Windows installer now supports <span class="caps">ARM</span> 64-bit architecture.</p><p>As architecture platform usage widens, Windows on <span class="caps">ARM</span> (64-bit) is now a thing.
So we decided to support experimentally <span class="caps">GIMP</span> for Windows on <span class="caps">ARM</span>!</p>
<p>With the newly published revision 2, our universal installer of <span class="caps">GIMP</span> 2.10.34 for
Windows (as found on our <a href="https://www.gimp.org/downloads/">downloads page</a>)
will auto-detect the running platform and install the <span class="caps">ARM</span> build when relevant.</p>
<p>Thanks in particular to our Windows packager, Jernej Simončič, for his
continuous work!</p>
<h2 id="future-work">Future work<a class="headerlink" href="#future-work" title="Permanent link">¶</a></h2>
<p>The “<strong>experimental</strong>” qualificative for this new support is for the following reasons:</p>
<ol>
<li>It is not as widely tested. We are aware of some issues already and hope that
releasing this experimental build will help us get more feedback.</li>
<li>Only Jernej has a machine with Windows on <span class="caps">ARM</span> so far. In particular none of
the developers have such hardware, as far as we know. So we don’t expect to
be able to fix issues for Windows/<span class="caps">ARM</span> as fast as for other supported platforms.</li>
<li>Last, but not least, this additional build is not set up yet in our
continuous integration platform, which means we cannot discover appearing
issues as thoroughly and quickly as for other architectures, nor can we
automatize builds as transparently as we wish.</li>
</ol>
<h2 id="how-you-can-help">How you can help<a class="headerlink" href="#how-you-can-help" title="Permanent link">¶</a></h2>
<p>Aside from <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">reports</a> and
<a href="https://gitlab.gnome.org/GNOME/gimp/-/merge_requests">patches</a>, we really need
to set up a Windows/<span class="caps">ARM</span> machine in our continuous integration platform.
Indeed this is considered a blocker and may be cause for abandoning the
experimentation when we release <span class="caps">GIMP</span> 3 since we don’t want to backtrack and get
back to manual builds done by a single contributor on their personal machine for
the 3.0 series.</p>
<p>This means that we are looking for anyone willing to help us set up a machine
with Windows on <span class="caps">ARM</span> and configure it as a runner on <a href="https://gitlab.gnome.org/GNOME/gimp/">our Gitlab
project</a>.</p>
<p>Because of obvious security requirements, such a volunteer would need to have
sysadmin experience, willing to commit themselves in the long run (let’s not
leave a Windows machine with holes on the internet) and have had some experience
in <span class="caps">FLOSS</span> contributions.</p>
<p>It might also be interesting to coordinate with other cross-platform Free
Software projects to share the administration burden of a <span class="caps">CI</span> runner which we can
use together to build for Windows/<span class="caps">ARM</span>.</p>
<p>If you are interested, please get in touch on
<a href="https://www.gimp.org/discuss.html#irc-matrix"><span class="caps">IRC</span></a> or in the <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/9170">dedicated
report</a>.</p>GIMP 2.99.16 Released: Wilber Week 2023 edition!2023-07-09T00:00:00+02:002023-07-09T00:00:00+02:00Jehantag:www.gimp.org,2023-07-09:/news/2023/07/09/gimp-2-99-16-released/<p>Release news for version <span class="caps">GIMP</span> 2.99.16</p><p>Closer than ever to a release candidate for <span class="caps">GIMP</span> 3.0, we introduce the latest
development version: <span class="caps">GIMP</span> 2.99.16!<br/>
This news covers some of the more noteworthy or interesting parts of this update
and we are very happy to be able to showcase these.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-splash.jpg"
alt="GIMP 2.99.16: splash screen"/>
<figcaption>
<em>New development splash screen, by <a href="https://film.zemarmot.net">Aryeom</a> - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p><em>Note: the fun story behind this splash screen is
<a href="https://film.zemarmot.net/#team">Aryeom</a> molding a <a href="https://fosstodon.org/@zemarmot/110403126751688605">pizza dough
Wilber</a> on the first evening
at Wilber Week. The oven-cooked dough <a href="https://chaos.social/@nomis/110406801052021728">stayed with
us</a> during the whole stay. This
release was dubbed the “Wilber Week 2023 edition” as a homage to our very
<a href="https://www.gimp.org/news/2023/06/29/wilber-week-2023/">successful contributor
meetup</a>.</em></p>
<div class="toc">
<ul>
<li><a href="#gtk3-port-officially-done"><span class="caps">GTK</span>+3 port officially done</a><ul>
<li><a href="#gimpaction-infrastructure">GimpAction infrastructure</a></li>
<li><a href="#multiple-shortcuts-per-action">Multiple shortcuts per action</a></li>
<li><a href="#action-search-improvements">Action Search improvements</a></li>
</ul>
</li>
<li><a href="#improved-gegl-operations-gui-integration">Improved <span class="caps">GEGL</span> operations’ <span class="caps">GUI</span> integration</a></li>
<li><a href="#tools">Tools</a><ul>
<li><a href="#text-tool">Text tool</a></li>
<li><a href="#align-and-distribute-tool">Align and Distribute tool</a></li>
<li><a href="#unified-transform-tool">Unified Transform tool</a></li>
</ul>
</li>
<li><a href="#space-invasion">Space Invasion</a></li>
<li><a href="#graphical-user-interface">Graphical User Interface</a><ul>
<li><a href="#new-option-merge-menu-and-title-bar">New option “Merge menu and title bar”</a></li>
<li><a href="#themes">Themes</a></li>
</ul>
</li>
<li><a href="#fill-and-stroke-selectionpath-improvements">Fill and Stroke selection/path improvements</a></li>
<li><a href="#middle-gray-cielab-layer-fill-option"><span class="dquo">“</span>Middle Gray (<span class="caps">CIELAB</span>)” layer fill option</a></li>
<li><a href="#file-formats">File Formats</a><ul>
<li><a href="#fits"><span class="caps">FITS</span></a></li>
<li><a href="#psd-and-a-bit-of-tiff-and-jpeg"><span class="caps">PSD</span> (and a bit of <span class="caps">TIFF</span> and <span class="caps">JPEG</span>)</a></li>
<li><a href="#jpeg"><span class="caps">JPEG</span></a></li>
<li><a href="#jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span></a></li>
<li><a href="#dds"><span class="caps">DDS</span></a></li>
<li><a href="#new-image-format-supports-pam-qoi-amiga-iffilbm-dcx">New image format supports: <span class="caps">PAM</span>, <span class="caps">QOI</span>, Amiga <span class="caps">IFF</span>/<span class="caps">ILBM</span>, <span class="caps">DCX</span></a></li>
</ul>
</li>
<li><a href="#plug-in-api">Plug-in <span class="caps">API</span></a><ul>
<li><a href="#resources-data-get-their-own-class">Resources data get their own class</a></li>
<li><a href="#plug-in-localization-improved">Plug-in localization improved</a></li>
<li><a href="#more-specialized-plug-in-argument-types">More specialized plug-in argument types</a></li>
<li><a href="#and-more">And more…</a></li>
</ul>
</li>
<li><a href="#gegl-babl"><span class="caps">GEGL</span>, babl</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#team-news-and-release-process">Team news and release process</a></li>
<li><a href="#around-gimp">Around <span class="caps">GIMP</span></a><ul>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
</ul>
</li>
<li><a href="#downloading-gimp-29916">Downloading <span class="caps">GIMP</span> 2.99.16</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news lists the most notable and visible changes. In particular, we
do not list here bug fixes or smaller improvements.
To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/d3c5536ac85bb84e1beaba68aea12cf28062e08c/NEWS#L9"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</em></p>
<h2 id="gtk3-port-officially-done"><span class="caps">GTK</span>+3 port officially done<a class="headerlink" href="#gtk3-port-officially-done" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> 3.0 has been known as the <span class="caps">GTK</span>+3 port version, so you will be happy to read
that this port is finally over. To be fair, we still have a few minor
deprecation warnings here and there, but nothing like the hundreds we used to have.</p>
<h3 id="gimpaction-infrastructure"><code>GimpAction</code> infrastructure<a class="headerlink" href="#gimpaction-infrastructure" title="Permanent link">¶</a></h3>
<p>Our last big work was to port how “actions” are handled, which in <span class="caps">GTK</span> vocabulary
means shortcuts, their mechanism, but also how menus are handled and how generic
widgets can be quickly assigned shared action code. Starting from <span class="caps">GTK</span>+3, actions
moved to GLib (<code>GtkAction</code> became <code>GAction</code>) while losing a lot of features
(everything user-facing basically, i.e. labels, descriptions, icons, and so on)
or broken apart (the concept of shortcut itself stayed in <span class="caps">GTK</span>).<br/>
Therefore we had to reimplement the whole thing as a wrapper around <code>GAction</code>,
called obviously <code>GimpAction</code>, because for us, these user-facing features are
major parts of what makes an action (especially as we do a lot of <abbr
title="Graphical User Interface"><span class="caps">GUI</span></abbr> and code generation so things like
labels or icons are not to be associated to a widget — be it a button, a menu
item or anything else — but to the action assigned to this widget, for easy
and generic reuse).</p>
<p>We also had to wrap a bunch of other <em>widgets</em>, such as our own menus (mostly
because menus generated from menu models don’t have tooltips anymore in <span class="caps">GTK</span>+3,
yet we make extensive use of tooltips) and menu models (<code>GimpMenu</code> and
<code>GimpMenuModel</code>), our own toolbar and menu bar (<code>GimpToolbar</code> and <code>GimpMenuBar</code>)
and more.</p>
<p>It took me about 2 months to finish while also having to take care of other
code, maintenance and usual bug fixes. Boring and exhausting, but this is now
done! 😅</p>
<p>It also gives us a whole new world of possibilities as we added new concepts
which we wanted for a long time, such as the ability to associate a short and
long label to an action (e.g. when it’s used in a contextual interface such as a
menu vs. when it’s used without context, such as the action search). It is also
the path for planned future improvements (e.g. for a future <a href="https://developer.gimp.org/core/roadmap/#gui">customizable
toolbar</a>).</p>
<p>We still have a bit more work to do to get our new menu and action code exactly
how we want it, but we are in a good enough state to showcase it. It won’t feel
very different to most of you (and you may also find issues), but not feeling
too different was the point too.</p>
<p>Now there are much more immediate improvements which are worth noting.</p>
<h3 id="multiple-shortcuts-per-action">Multiple shortcuts per action<a class="headerlink" href="#multiple-shortcuts-per-action" title="Permanent link">¶</a></h3>
<p>The new Glib/<span class="caps">GTK</span>+3 actions make it possible to assign several shortcuts for a
single action. For the time being, the shortcut dialog doesn’t allow you to do so,
yet we already use this ability internally for default shortcuts. For instance
number keypad keys are not the same as the ones from the number key row so we
used to create a duplicate action doing the same thing to support both (because
for most people <code>Ctrl-1</code> should work the same whether from keypad or top row).
Now we can just assign both variants to a same action.</p>
<p>As another example, it is now possible to support the special semantic media key
(such as media key <code>Copy</code>, <code>Cut</code> and <code>Paste</code> which can be found on some keyboards).</p>
<p>An updated shortcut dialog allowing you to set your own multiple shortcuts might
not come for <span class="caps">GIMP</span> 3.0, though hopefully not too long after.</p>
<h3 id="action-search-improvements">Action Search improvements<a class="headerlink" href="#action-search-improvements" title="Permanent link">¶</a></h3>
<p>Now that we have our own action wrapper, we made so that it also tracks its own
menu position, so that we can show this menu path in the action search dialog.
This will help people who prefer menus to better find their ways.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-action-search.jpg"
alt="Action search dialog in GIMP 2.99.16"/>
<figcaption>
<em>Action search dialog now showing menu paths - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p>You may also notice a small “Manual” 📓 icon in this screenshot. Clicking it will
open the manual page for a given action (if no help section exists for this
specific action yet, you will be redirected to the action search help page).</p>
<p>Alternatively, hitting the <code>F1</code> key will open the help page of the selected action.</p>
<h2 id="improved-gegl-operations-gui-integration">Improved <span class="caps">GEGL</span> operations’ <span class="caps">GUI</span> integration<a class="headerlink" href="#improved-gegl-operations-gui-integration" title="Permanent link">¶</a></h2>
<p><a href="https://gegl.org/"><span class="caps">GEGL</span></a> is our image processing engine. Filters are
implemented as separate modules, which we call “operations”. While it is
released with a long list of default operations, third-party developers can
implement their own filters, hence benefitting from automatic dialog generation,
on-canvas live preview, curtain preview, preset saving, previous use settings
history and more.</p>
<p><span class="caps">GEGL</span> has been a major component since <span class="caps">GIMP</span> 2.10, yet we still needed specific
code to place <span class="caps">GEGL</span> operations in menus.<br/>
As for third-party filters developers, they had to either implement a bogus
plug-in to wrap their <span class="caps">GEGL</span> operation, or settle for being only visible in the
long list of filters shown inside the <span class="caps">GEGL</span> operation tool.</p>
<p>Well this has changed as <span class="caps">GEGL</span> filters now have easy access to menus in their own
right, just like plug-ins do.</p>
<p>From now on, <span class="caps">GIMP</span> reads the <span class="caps">GEGL</span> key <code>"gimp:menu-path"</code> to add an operation in
menus. For instance, say that I wrote an artistic filter to stylize an image and
I want it to be under the submenu <code>Filters > Artistic</code>. So my operation code
could contain the following code:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="n">gegl_operation_class_set_keys</span><span class="w"> </span><span class="p">(</span><span class="n">operation_class</span><span class="p">,</span>
<span class="w"> </span><span class="s">"name"</span><span class="p">,</span><span class="w"> </span><span class="s">"Jehan:my-style"</span><span class="p">,</span>
<span class="w"> </span><span class="s">"title"</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">(</span><span class="s">"My Super Cool Style"</span><span class="p">),</span>
<span class="w"> </span><span class="s">"description"</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">(</span><span class="s">"Stylize an image the way I like it"</span><span class="p">),</span>
<span class="w"> </span><span class="s">"gimp:menu-path"</span><span class="p">,</span><span class="w"> </span><span class="s">"<Image>/Filters/Artistic"</span><span class="p">,</span>
<span class="w"> </span><span class="nb">NULL</span><span class="p">);</span>
</code></pre></div>
<p>And here it is:</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-custom-filter.jpg"
alt="Easily adding a third-party filter to menus in GIMP 2.99.16"/>
<figcaption>
<em>Easily adding a third-party filter to menus - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p><span class="caps">GIMP</span> will generate automatically the <span class="caps">GUI</span> according to the properties declared in
your operation.</p>
<p>Of course, you can also create your own menu folders. Say I create a bunch of
filters which we use specifically for our <a href="https://film.zemarmot.net/">movie
project</a>, I could create a submenu
<code>"<Image>/Filters/ZeMarmot"</code> (or even a top-level menu. You’ll notice the
“Girin” menu in my screenshot which is where we install our custom plug-ins already).</p>
<p>We will use this to simplify core <span class="caps">GIMP</span> code as well, even though for now, only
<a href="#gegl-babl">two new <span class="caps">GEGL</span> filters</a> use this feature.</p>
<p>ℹ️ <em>About <span class="caps">GEGL</span> operation namespaces: you may notice that I prefixed my
hypothetical filter name with “Jehan:”. This is a way to “namespace” your
filters with a unique name and avoid clashes if someone were to implement a
filter with the same name. Choose this namespace wisely, and in particular do
not use “gegl:” or “svg:” namespaces which are reserved for <span class="caps">GEGL</span> core operations
(and might even be forbidden some day to third-party operations).</em></p>
<p>The second big improvement is that your custom filters will now appear in the
action search (<code>/</code> key by default), whether or not you added them to a menu. It
allows searching and running them very easily!</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-search-gegl-ops.jpg"
alt="Third party filters are now searchable - GIMP 2.99.16"/>
<figcaption>
<em>Third party filters are now searchable - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<h2 id="tools">Tools<a class="headerlink" href="#tools" title="Permanent link">¶</a></h2>
<h3 id="text-tool">Text tool<a class="headerlink" href="#text-tool" title="Permanent link">¶</a></h3>
<p>While the on-canvas editor of the text tool is very practical, it was sometimes
a bother as it is in your way. There are cases when you’d like to be able to see
the bare canvas while editing text.</p>
<p>It is now possible thanks to the new option “<em>Show on-canvas editor</em>” to toggle
its visibility.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-text-tool-hide-on-canvas-gui.gif"
alt="Hiding the on-canvas text editor - GIMP 2.99.16"/>
<figcaption>
<em>Hiding the on-canvas text editor - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<h3 id="align-and-distribute-tool">Align and Distribute tool<a class="headerlink" href="#align-and-distribute-tool" title="Permanent link">¶</a></h3>
<p>The tool had been fully <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#align-and-distribute-tool-fully-reworked-interaction">reworked in <span class="caps">GIMP</span>
2.99.14</a>.</p>
<p>In this version, we modified the option “<em>Use extents of layer contents</em>” so that
it applies to the alignment reference as well (not only the target objects).</p>
<h3 id="unified-transform-tool">Unified Transform tool<a class="headerlink" href="#unified-transform-tool" title="Permanent link">¶</a></h3>
<p>A patch was submitted to make the Transform Matrix selectable in the tool’s
on-canvas dialog. This makes it easier to reuse the matrix in other software
(while first testing in <span class="caps">GIMP</span> for immediate preview of the transformation, then
copying and pasting the matrix).</p>
<h2 id="space-invasion">Space Invasion<a class="headerlink" href="#space-invasion" title="Permanent link">¶</a></h2>
<p><em>Space Invasion</em> is our project to ensure color correctness everywhere we show
or use colors, choose proper color defaults, propose relevant color options…</p>
<p>In this version, some work was done in internal code which was still assuming
sRGB input or output and was used in a few situations. It is now possible to
choose more easily out-of-sRGB foreground and background colors, and the Color
Picker tool shows color values from the proper image space.</p>
<p>Still in the Color Picker tool (and the Sample Points dockable), a new
“<em>Grayscale (%)</em>” display mode was added, which shows the pixel’s Grayscale
value if the picked image were converted to Grayscale mode.</p>
<p>There is still much more work-in-progress regarding these interfaces, such as
ensuring the colors are correctly displayed in the various color boxes (not only
on canvas), that we get reasonable behavior on shared color widgets when
switching from an image’s color space to another, and so on.</p>
<p>Also we plan to become more explicit on the color space currently in use on all
these shared interfaces where you can choose or show colors (Colors dockable,
Foreground/Background colors, Color Picker tool, Sample Points dockable…). This
is going to be one of the biggest parts of the next development release.</p>
<h2 id="graphical-user-interface">Graphical User Interface<a class="headerlink" href="#graphical-user-interface" title="Permanent link">¶</a></h2>
<h3 id="new-option-merge-menu-and-title-bar">New option “Merge menu and title bar”<a class="headerlink" href="#new-option-merge-menu-and-title-bar" title="Permanent link">¶</a></h3>
<p>In the <code>Preferences</code> dialog, <code>Image Windows</code> settings, you will find a new
checkbox titled “<em>Merge menu and title bar</em>“. This is basically an option to
switch to <em>Client Side Decoration</em> for the image windows, which mostly means
that the menu will be merged inside the title bar, hence saving vertical space.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-csd.webp"
alt="Preferences settings "Merge menu and title bar" - GIMP 2.99.16"/>
<figcaption>
<em>Preferences settings “Merge menu and title bar” - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p><em>Note: this option doesn’t work for macOS which always has its own
platform-specific menu style.</em></p>
<p>Since the header bar is set to be hidden when maximizing, if you checked “<em>Show
menubar</em>” for the “<em>Default Appearance in Fullscreen Mode</em>” in <code>Preferences > Image
Windows > Appearance</code>, the menu will be temporarily moved out of the title bar.
This makes the menu visible (if relevant option is checked, which is the
default) even in fullscreen mode.</p>
<p>Now we know that client-side decoration is quite a controversial feature. You
find people who love this with all their might as much as the opposite (in
particular because you lose window styling consistency since decorations are not
handled by the window manager anymore). Moreover we are being told that in some
specific cases, the system refuses to drop its own window decoration and you may
end up with 2 title bars (one drawn by the system and one by <span class="caps">GIMP</span>).</p>
<p>For these reasons, this option is disabled by default.</p>
<h3 id="themes">Themes<a class="headerlink" href="#themes" title="Permanent link">¶</a></h3>
<p>The dark variant of the <code>Default</code> theme has been reworked because it was a bit
too dark. The older version has been moved temporarily as a new theme titled
<code>Darker</code>, though we aren’t sure if we will keep it.</p>
<p>During our last <a href="https://www.gimp.org/news/2023/06/29/wilber-week-2023/">in-person developer
meeting</a>, where this
work happened, the concept of a “High Contrast” theme was also evoked.
At some point, we even discussed the possibility to implement settings for
color customization of the theme.</p>
<p>Now we are not sure which will happen for <span class="caps">GIMP</span> 3.0. It will really depend on
whether we get more theme contributions by the time we release.</p>
<h2 id="fill-and-stroke-selectionpath-improvements">Fill and Stroke selection/path improvements<a class="headerlink" href="#fill-and-stroke-selectionpath-improvements" title="Permanent link">¶</a></h2>
<p>The “<em>Stroke/Fill Selection Outline</em>” or “<em>Stroke/Fill Path</em>” dialogs used to
propose to stroke (respectively fill) either with a “<em>Solid color</em>” (in fact the
foreground color) or with a “<em>Pattern</em>“. We split the “Solid Color” into
“<em>Foreground color</em>” and “<em>Background color</em>“, so that you don’t have to
constantly switch their positions.</p>
<p>Furthermore the “<em>Stroke Selection</em>” and “<em>Stroke Path</em>” dialogs in particular
have been reorganized in a stack switcher making the 2 options “<em>Line</em>” and
“<em>Paint tool</em>” easier to use.<br/>
As a result of saving dialog space, we don’t hide anymore the “Line Style”
settings under an expander, in order to show more prominently the line rendering options.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-stroke-dialog.webp"
alt="Reorganized Stroke dialogs - GIMP 2.99.16"/>
<figcaption>
<em>Reorganized Stroke dialogs - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<h2 id="middle-gray-cielab-layer-fill-option"><span class="dquo">“</span>Middle Gray (<span class="caps">CIELAB</span>)” layer fill option<a class="headerlink" href="#middle-gray-cielab-layer-fill-option" title="Permanent link">¶</a></h2>
<p>When creating a new image or a new layer, there is this “<em>Fill with</em>” field
where you can choose the created layer color among the <span class="caps">FG</span>/<span class="caps">BG</span> colors, white,
black, transparency or a pattern. We added “<em>Middle Gray (<span class="caps">CIELAB</span>)</em>” which
corresponds to 50% of perceptual lightness (the <code>L*</code> of <code>CIELAB</code> or <code>CIELCh</code>),
or again 18.42% luminance.</p>
<p>Though the concept of “Middle Gray” may have different values depending on the
chosen definition, this is one of the most common, considered as perceptually
halfway between darkness and light to the average human observer’s eye.</p>
<h2 id="file-formats">File Formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<p>A major chunk of the work on file formats is from Alx Sa (known as Nikc in
previous news), who has a knack for adding support for various formats and
improving the existing ones. And that’s awesome work so <em>bravo</em> Alx! 👍</p>
<h3 id="fits"><span class="caps">FITS</span><a class="headerlink" href="#fits" title="Permanent link">¶</a></h3>
<p><span class="caps">FITS</span> is an image format most commonly used in astronomy.</p>
<p>While we used to embed our own code for <span class="caps">FITS</span> support, we now ported it to
<a href="https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html">cfitsio</a>, a library
maintained by the <span class="caps">NASA</span>.</p>
<p>This allows us to import compressed <span class="caps">FITS</span> files (<span class="caps">GZIP</span>, <span class="caps">HCOMP</span>, <span class="caps">PLIO</span>, <span class="caps">RICE</span>) in
8/16/32-bit and float/double precision. As a general rule, it will greatly
improve our support level for this format.</p>
<p>Since we now use an external library, <span class="caps">FITS</span> support becomes optional (especially
relevant to Linux distribution packages; on our own packages, it is always present).</p>
<p>Additionally we would like to thank <a href="https://siril.org/">Siril</a> (the
astronomical image processing tool) whose developers exchanged with us to
improve the support in <span class="caps">GIMP</span>.</p>
<h3 id="psd-and-a-bit-of-tiff-and-jpeg"><span class="caps">PSD</span> (and a bit of <span class="caps">TIFF</span> and <span class="caps">JPEG</span>)<a class="headerlink" href="#psd-and-a-bit-of-tiff-and-jpeg" title="Permanent link">¶</a></h3>
<p>Clipping paths can now be imported from and exported to <span class="caps">PSD</span> files!</p>
<p>If your image has any path, a <span class="caps">PSD</span> export dialog will propose you to “<em>Assign a
Clipping Path</em>“, and a combo menu will allow you to select the path to use.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-clipping-path.jpg"
alt="Exporting a clipping path - GIMP 2.99.16"/>
<figcaption>
<em>Exporting a clipping path - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p>This clipping path can be used in programs which support clipping paths,
e.g.
<a href="https://www.scribus.net/">Scribus</a> (desktop publishing)
already <a href="https://wiki.scribus.net/canvas/How_to_Isolate_an_image_and_create_a_clipping_path_for_text_flow">lists all the paths as usable as clipping path</a>
yet will highlight in green the selected clipping path hence allowing to better
tag the path you want to use for this purpose.</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-scribus-clipping-path.gif"
alt="Using a clipping path in Scribus - GIMP 2.99.16"/>
<figcaption>
<em>Using a clipping path in Scribus (note in particular the path highlighted in green) - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p>Similarly, on import, any clipping path information stored in the <span class="caps">PSD</span> will be
reused as default for export.</p>
<p>Another interesting change is that on import, if some <span class="caps">PSD</span> features are not
supported, a compatibility warning dialog will be displayed, listing all the
missing features:</p>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-psd-compatibility-warning.png"
alt="PSD compatibility warnings when importing a PSD - GIMP 2.99.16"/>
<figcaption>
<em>Compatibility warnings when importing a <span class="caps">PSD</span> - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
<p>This way, you can make an informed decision when working with exchanged <span class="caps">PSD</span> files.</p>
<p><em>Note that the export dialog also has a new “Compatibility Notice” regarding
legacy layer modes, as some people have noted that they have better
compatibility when exporting PSDs and reopening them in Photoshop.</em></p>
<p>Last but not least, a new <abbr title="GIMP's Procedure DataBase"><span class="caps">PDB</span></abbr>
procedure <code>"file-psd-load-metadata"</code> was created to allow other plug-ins to
delegate <span class="caps">PSD</span> metadata loading to the <span class="caps">PSD</span> plug-in. Indeed a common usage in
various file formats is to self-extend by storing custom metadata in Photoshop
proprietary metadata format. We already implemented 2 such usages:</p>
<ul>
<li><span class="caps">TIFF</span> images can contain image-level proprietary resources in the
<code>TIFFTAG_PHOTOSHOP</code> metadata, as well as layer-level resources (e.g. <span class="caps">PSD</span>
layers instead of <span class="caps">TIFF</span> pages) in the <code>TIFFTAG_IMAGESOURCEDATA</code> metadata. <span class="caps">GIMP</span>
now supports both of these and will load what it supports.</li>
<li><span class="caps">JPEG</span> images can contain <span class="caps">PSD</span> metadata on image-level only, such as paths. These
will now be loaded as well.</li>
</ul>
<p>Same as in the <span class="caps">PSD</span> plug-in itself, if some of these metadata are unsupported, a
compatibility dialog will be raised.</p>
<p>These will enable a whole new world of support for <span class="caps">JPEG</span> and <span class="caps">TIFF</span> (relative to
the specific proprietary <span class="caps">PSD</span> resources) as they will sync to the support level
of the <span class="caps">PSD</span> plug-in instead of duplicating code.</p>
<h3 id="jpeg"><span class="caps">JPEG</span><a class="headerlink" href="#jpeg" title="Permanent link">¶</a></h3>
<p>Additionally to the various metadata-related improvements, the option
“<em>4:2:2 horizontal (chroma halved)</em>” got renamed to “<em>4:2:2 (chroma halved
horizontally)</em>” and the option “<em>4:2:2 vertical (chroma halved)</em>” to “<em>4:4:0
(chroma halved vertically)</em>“.</p>
<p>Research indicates these to be the most usual notations for these options these days.</p>
<h3 id="jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span><a class="headerlink" href="#jpeg-xl" title="Permanent link">¶</a></h3>
<p>We added initial support for <span class="caps">CMYK</span>(A) export: Key and Alpha data is saved in
extra channels and the simulation profile is saved as well.</p>
<p>Per the specification developers, the format does not support ‘naive’ <span class="caps">CMYK</span>
conversion, so a profile is required for export. The option “<em>Export as <span class="caps">CMYK</span></em>”
will be disabled if no <span class="caps">CMYK</span> simulation profile is set.</p>
<h3 id="dds"><span class="caps">DDS</span><a class="headerlink" href="#dds" title="Permanent link">¶</a></h3>
<p>We enabled <a href="https://en.wikipedia.org/wiki/OpenMP">OpenMP</a> support when available
on the build machine. This means in particular that parallel processing is
enabled, which should improve processing speed in some cases.</p>
<h3 id="new-image-format-supports-pam-qoi-amiga-iffilbm-dcx">New image format supports: <span class="caps">PAM</span>, <span class="caps">QOI</span>, Amiga <span class="caps">IFF</span>/<span class="caps">ILBM</span>, <span class="caps">DCX</span><a class="headerlink" href="#new-image-format-supports-pam-qoi-amiga-iffilbm-dcx" title="Permanent link">¶</a></h3>
<p>We recently added both import and export support for the following formats:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/PAM_graphics_format"><span class="caps">PAM</span></a> (grayscale and <span class="caps">RGB</span>,
with or without alpha): essentially <span class="caps">PPM</span> files with a different header format
and alpha/16 bit support.</li>
<li><a href="https://en.wikipedia.org/wiki/QOI_(image_format)"><span class="caps">QOI</span></a>: the funnily named
“Quite <span class="caps">OK</span> Image” format for lossless image compression of color raster images
(8-bit per channel), with or without an alpha channel.</li>
</ul>
<p>We added import-only support for the following formats:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/ILBM">Amiga <span class="caps">IFF</span>/<span class="caps">ILBM</span></a>: initial support for
importing indexed <span class="caps">ILBM</span>, Amiga <span class="caps">PBM</span>, and <span class="caps">ACBM</span> images.</li>
<li><a href="https://en.wikipedia.org/wiki/PCX#PCX_image_formats"><span class="caps">DCX</span></a>: containers that
store up to 1023 <span class="caps">PCX</span> files.</li>
</ul>
<p>Now it may seem useless to support weird, old if not sometimes forgotten formats
but this is actually important (at least the import ability). This can be useful
for archiving, being able to display old images one may have created years ago,
reusing and work on existing data.</p>
<p>Ultimately <span class="caps">GIMP</span> aims at being able to load any format which has existed under
the sun!</p>
<p><em>Note: some of these new supports might not be yet in our official packages
(e.g. Amiga <span class="caps">IFF</span>/<span class="caps">ILBM</span>), though should be soon.</em></p>
<h2 id="plug-in-api">Plug-in <abbr title="Application Programming Interface"><span class="caps">API</span></abbr><a class="headerlink" href="#plug-in-api" title="Permanent link">¶</a></h2>
<p>The development interface for plug-ins continues to evolve towards its
final state, though it is still one of the last big worksites now that
the <span class="caps">GTK</span>+3 port is over.</p>
<h3 id="resources-data-get-their-own-class">Resources data get their own class<a class="headerlink" href="#resources-data-get-their-own-class" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> plug-ins used to refer to various resources (brushes, fonts, gradients,
palettes, patterns, etc.) by name. We moved into creating specific classes
(<code>GimpBrush</code>, <code>GimpFont</code>, <code>GimpGradient</code>, <code>GimpPalette</code> and <code>GimpPattern</code>
respectively) in <code>libgimp</code> for these data, under a common parent class
<code>GimpResource</code>. This moves this part of the <span class="caps">API</span> to an object-oriented interface
(same as other existing types for images, layers…) which will be a lot nicer for bindings.</p>
<p>Moreover we move to unique IDs for each resource, which is not name-based. While
this part is still mostly <code>libgimp</code>-side, we plan on making names less of an
identifier in core code as well. This indeed creates name clashes much too
easily, especially if you exchange data with other people (it is very easy to
find custom brushes or fonts made by different people and using the same name).
We are working on making <span class="caps">GIMP</span> much more robust to these kind of real-life name clashes.</p>
<h3 id="plug-in-localization-improved">Plug-in localization improved<a class="headerlink" href="#plug-in-localization-improved" title="Permanent link">¶</a></h3>
<p>Some work was done on reviewing our plug-in localization rules. While we used to
have the menu strings localized by the core application itself, the rest was
localized by the plug-in process. This has always been confusing to third-party
developers (“<em>Should I use <code>_()</code> or <code>N_()</code> to translate strings?</em>“). Now it’s
very simple: the plug-ins takes care entirely of their own localization, hence
always send already translated strings to the core process. It also means that
changing <span class="caps">GIMP</span>’s language settings triggers a reload of all plug-in registrations
(to update strings).</p>
<p>Apart from simplifying the rule, it also prevents a possible clash for the
<code>gettext</code> catalog names (in case 2 plug-ins were to use the same catalog name,
it doesn’t matter anymore as each process handles their own).</p>
<p>And finally, even though we still recommend <code>gettext</code> (we also provide
infrastructure functions for plug-ins to easily set up plug-in localization with
gettext), it make third-party plug-in developers freer to choose their own
localization infrastructure if they prefer something else.</p>
<p>All these changes are also part of a longer term work to move plug-ins to
self-contained <a href="https://developer.gimp.org/core/roadmap/#extensions">extensions</a>
which will be easily sharable and installable.</p>
<h3 id="more-specialized-plug-in-argument-types">More specialized plug-in argument types<a class="headerlink" href="#more-specialized-plug-in-argument-types" title="Permanent link">¶</a></h3>
<p>While <code>GStrv</code> was <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#improved-api-for-plug-ins">added in <span class="caps">GIMP</span>
2.99.10</a>,
it was not serialized into config files (our infrastructure to store plug-in
settings across runs), until this version.<br/>
A very cool first usage of this ability is for the Script-fu console which now
remembers the history of run commands.</p>
<p>Moreover plug-ins now have access to <code>GBytes</code> arguments for all the cases where
we were misusing arrays of unsigned integers on 8-bit instead, in order to
represent binary data (or more generally custom data, which can be anything,
from text to binary). The <code>GimpUint8Array</code> type has been removed as a possible
plug-in argument type and all its uses replaced.</p>
<h3 id="and-more">And more…<a class="headerlink" href="#and-more" title="Permanent link">¶</a></h3>
<p>More functions were added, for instance to enhance the capabilities of the <span class="caps">GUI</span>
generation for plug-ins. Some encoding issues were handled and various
functions’ annotations and usage have been clarified.</p>
<p>For a more exhaustive list of functions added, removed or changed, we advise to
look at the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/2c608168a222e9d36ba9c95564048e81523bc0d3/NEWS#L188"><span class="caps">NEWS</span></a> file.</p>
<h2 id="gegl-babl"><span class="caps">GEGL</span>, babl<a class="headerlink" href="#gegl-babl" title="Permanent link">¶</a></h2>
<p>As usual, this version of <span class="caps">GIMP</span> is accompanied by new versions of
<a href="https://gegl.org/babl/">babl</a> and <a href="https://gegl.org/"><span class="caps">GEGL</span></a>:</p>
<p>babl 0.1.104 and 0.1.106 improved the <span class="caps">LUT</span> code and provide faster startup by
caching balanced <span class="caps">RGB</span> to <span class="caps">XYZ</span> matrices.</p>
<p><span class="caps">GEGL</span> 0.4.44 and 0.4.46, in addition to the usual bug fixes, started to add the
<code>"gimp:menu-path"</code> key to some operations, improved <code>gegl:ff-load</code>,
<code>gegl:ff-save</code> to make them build with FFmpeg 6.0 (though <code>gegl:ff-save</code> still
doesn’t work properly with this version of FFmpeg), and added 2 new operations:</p>
<dl>
<dt><code>gegl:chamfer</code></dt>
<dd>New operation in workshop that use <code>gegl:distance-transform</code> and
<code>gegl:emboss</code>, based on LinuxBeaver’s research into modeling different bevels
with combinations of blurs.
<br/>
<br>
<figure>
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-chamfer.webp"
alt="Applying gegl:chamfer to text for a bevel effect - GIMP 2.99.16"/>
<figcaption>
<em>Applying “gegl:chamfer” to text for a bevel effect - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
</dd>
<dt><code>gegl:local-threshold</code></dt>
<dd>Neighborhood aware and optionally antialiased thresholding of an image. The
operation is equivalent to doing an unsharp mask with a large radius, followed
by scaling the image up applying threshold and scaling down by the inverse of
the scale up factor.
<br/>
If you have a photo and you want to make a decent highlights vs shadows
threshold it gives a lot better results than the built-in threshold. It finds
per-pixel adapted threshold levels for a gaussian average from the
neighborhood radius. In addition it permits creating anti-aliased threshold
masks (if the radius is set to 0, the behavior is similar to the built-in
threshold op).
<br/>
From a <span class="caps">UX</span> point of view, the only thing missing for this new filter taking
over the current threshold filter is specifying the <code>rgb⇒gray</code> conversion,
then the additional parts of the <span class="caps">UI</span> would be options for threshold.
<br/>
Beware though that antialiasing is achieved by scaling the input up and down -
so high settings make it churn with relatively little quality gain.
<br/>
<br>
<figure>
<a href="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-local-threshold.jpg">
<img src="https://www.gimp.org/news/2023/07/09/gimp-2-99-16-released/gimp-2.99.16-local-threshold.jpg"
alt="Left: original; top-right: current Threshold filter; bottom-right: new Local Threshold - GIMP 2.99.16"/>
</a>
<figcaption>
<em>Left: original; top-right: result with current Threshold filter; bottom-right: result with new Local Threshold - <span class="caps">GIMP</span> 2.99.16</em>
</figcaption>
</figure>
</dd>
</dl>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>Since <span class="caps">GIMP</span> 2.99.14:</p>
<ul>
<li>105 reports were closed as <span class="caps">FIXED</span> in 2.99.16.</li>
<li>123 merge requests were merged.</li>
<li>1115 commits were pushed.</li>
<li>25 translations were updated: Basque, Bulgarian, Catalan, Chinese (China),
Chinese (Taiwan), Danish, Esperanto, French, Georgian, German, Greek,
Hungarian, Icelandic, Italian, Lithuanian, Persian, Polish, Portuguese,
Romanian, Russian, Slovenian, Spanish, Swedish, Turkish, Ukrainian.</li>
</ul>
<p>67 people contributed changes or fixes to <span class="caps">GIMP</span> 2.99.16 codebase (order is
determined by number of commits):</p>
<ul>
<li>34 developers: Jehan, Alx Sa, Michael Natterer, Jacob Boerema, Simon Budig,
Luca Bacci, Niels De Graef, Daniel Novomeský, Lloyd Konneker, Øyvind Kolås,
Lukas Oberhuber, Ian Martins, programmer-ceds, Andras Timar, Andre Klapper,
Carlos Garnacho, Idriss Fekir, Jordi Mallach, Sabri Ünal, Shubham, Stanislav
Grinkov, Stephan Lenor, Venkatesh, kotvkvante, lapaz, lillolollo,
programmer_ceds, valadaptive, 依云, Anders Jonsson, Jordi Mas, Richard
Szibele, Tomasz Golinski and Florian Weimer.</li>
<li>31 translators: Martin, Yuri Chornoivan, Ekaterine Papava, Alexander Shopov,
Hugo Carvalho, Jordi Mas, Sabri Ünal, Rodrigo Lledó, Asier Sarasua Garmendia,
Anders Jonsson, Alan Mortensen, Cristian Secară, Sveinn í Felli, dimspingos,
Alexandre Prokoudine, Balázs Úr, Chao-Hsiung Liao, Piotr Drąg, Tim Sabsch,
Kristjan <span class="caps">SCHMIDT</span>, Luming Zh, Marco Ciampa, Alexandre Franke, Aurimas Černius,
Balázs Meskó, Christian Kirbach, Danial Behzadi, Emin Tufan Çetin,
MohammadSaleh Kamyab, Zurab Kargareteli and حجتاله مداحی.</li>
<li>10 resource creators (icons, themes, cursors, splash screen, metadata…):
Jehan, Michael Natterer, Alx Sa, Stanislav Grinkov, Lloyd Konneker, Ville
Pätsi, Aryeom Han, Daniel Novomeský, Anders Jonsson and Mark.</li>
<li>5 documentation contributors: Jehan, Lloyd Konneker, Anders Jonsson, Corey
Berla and Michael Natterer.</li>
<li>15 build or <span class="caps">CI</span> contributors: Jehan, Alx Sa, Jacob Boerema, Michael Natterer,
Daniel Novomeský, Lloyd Konneker, Michael Schumacher, Stanislav Grinkov, Niels
De Graef, Simon Budig, Lukas Oberhuber, Florian Weimer, Luca Bacci, lillolollo
and Jordi Mallach.</li>
</ul>
<p>Contributions on other repositories in the GIMPverse (order is determined by
number of commits):</p>
<ul>
<li>1 contributor to babl 0.1.104 and 0.1.106: Øyvind Kolås.</li>
<li>13 contributors to <span class="caps">GEGL</span> 0.4.44 and 0.4.46: Øyvind Kolås, Marco Ciampa, Martin,
Asier Sarasua Garmendia, Ekaterine Papava, Piotr Drąg, Yuri Chornoivan,
Alexandre Prokoudine, Jan Tojnar, Rodrigo Lledó, Sabri Ünal, Tim Sabsch and dimspingos.</li>
<li>2 contributors to <a href="https://ctx.graphics/">ctx</a> since 2.99.14 release:
Øyvind Kolås and Carlos Eduardo.</li>
<li>3 contributors to <code>gimp-macos-build</code> (macOS build scripts) since 2.99.14
release: Lukas Oberhuber, Kyungjoon Lee and Mingye Wang.</li>
<li>2 contributors (and a bot) to the beta flatpak: Jehan, Daniel Novomeský and flathubbot.</li>
<li>7 contributors to our main website (what you are reading right now) since
2.99.14 release: Jehan, Sabri Ünal, Jacob Boerema, Aryeom Han, Michael
Schumacher, lillolollo and Tim Spriggs.</li>
<li>9 contributors to our <a href="https://developer.gimp.org/">developer website</a> since
2.99.14 release: Jehan, Bruno Lopes, Jacob Boerema, Krek Krek, Mark, Alx Sa,
GoldenWon, Michael Schumacher and kotvkvante.</li>
<li>16 contributors to our <a href="https://testing.docs.gimp.org/">3.0 documentation</a>
since 2.99.14 release: Andre Klapper, Jacob Boerema, Anders Jonsson,
dimspingos, Yuri Chornoivan, Jordi Mas, Nathan Follens, Tim Sabsch,
حجتاله مداحی, Alexander Shopov, Balázs Úr, Danial Behzadi, Hugo
Carvalho, Martin, Piotr Drąg and Rodrigo Lledó.</li>
</ul>
<p>Let’s not forget to thank all the people who help us triaging in Gitlab, report
bugs and discuss possible improvements with us.
Our community is deeply thankful as well to the internet warriors who manage our
various <a href="https://www.gimp.org/discuss.html">discussion channels</a> or social
network accounts such as Ville Pätsi, Liam Quin, Michael Schumacher and Sevenix!</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting, errors may slip inside these
stats. Feel free to tell us if we missed or mis-categorized some
contributors or contributions.</em></p>
<h2 id="team-news-and-release-process">Team news and release process<a class="headerlink" href="#team-news-and-release-process" title="Permanent link">¶</a></h2>
<p>Our release procedure is getting much better at each new version. I would like
to thank our testers who did an awesome job raising the few release-blockers we
had for <span class="caps">GIMP</span> 2.99.16, as well as the people who followed up on these issues,
handled technical responses, created or updated packages, and more.</p>
<p>In particular, a huge thank you to (by alphabetical order) Alx Sa, Anders Jonsson,
Daniel Novomeský, Hubert Figuière, Jacob Boerema, Liam Quin, lillolollo, Luca
Bacci, Lukas Oberhuber, Mark Sweeney, Sevenix, ShiroYuki_Mot and Uzugijin!</p>
<p>As a reminder, if anyone is willing to help us improve <span class="caps">GIMP</span> by participating to
release testing, please open a report on the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/issues/new">developer website
tracker</a>
with the following information:</p>
<ul>
<li>The Operating Systems (Linux, Windows, macOS, *<span class="caps">BSD</span>…) you will be testing on,
with details if possible (which Linux distribution and version? Which version
of Windows or macOS?…).</li>
<li>The architectures you will be testing on (x86, <span class="caps">ARM</span>… 32 or 64-bit).</li>
<li>If you will test our pre-built packages or from source (custom builds).</li>
</ul>
<p>Then we will notify you in the next release testing phase (stable and
development releases).</p>
<p>Our expectations from testers:</p>
<ul>
<li>Make sure you receive Gitlab notifications when your nickname is cited (we
advise to set your <a href="https://gitlab.gnome.org/-/profile/notifications">Global notification
level</a> to “Participate” or
“On mention”).</li>
<li>Follow the release report to know what’s happening and when you are needed.</li>
<li>Release reports are not a place where we teach people how to use basic
functions of a computer. Testers don’t have to be developers, but they have to
be able to follow basic technical guidelines, give feedback more useful than
“<em>it doesn’t work</em>” and be able globally to interact with developers.</li>
<li>Be nice and welcoming: everyone here is a volunteer, testers as much as
developers. This is Community, Free Software, not a soulless job. 🤗</li>
</ul>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h3>
<p>The <em>Fremont Cabal Internet Exchange</em> contributed a new <a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">download
mirrors</a> to
distribute <span class="caps">GIMP</span>, based in Sheffield, South Yorkshire (United Kingdom).
With 11 mirrors out of 41 in total, they are clearly our biggest mirror sponsor!
Thanks <span class="caps">FCIX</span>!</p>
<p>Mirrors are important as they help the project by sharing the load for dozens of
thousands of daily downloads. Moreover by having mirrors spread across the
globe, we ensure that everyone can have fast download access to <span class="caps">GIMP</span>.</p>
<h3 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h3>
<p>Sabri Ünal did an awesome bibliographic research, added 39 books and updated
even more in our <a href="https://www.gimp.org/books/">“Books About <span class="caps">GIMP</span>” page</a>. We
won’t list all the changes as there are just too many, though you can read the
detailed merge request descriptions
(<a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/merge_requests/93">!93</a> and
<a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/merge_requests/98">!98</a>).</p>
<p>We are starting to get a more up-to-date <a href="https://www.gimp.org/books/">books
page</a> with recent publications. Nice! 📚🤓</p>
<p>We remind everyone that we welcome book additions. If you know of a not-listed
yet book about <span class="caps">GIMP</span>, please <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the same information as other books in the
list</a>. Thanks!</p>
<h2 id="downloading-gimp-29916">Downloading <span class="caps">GIMP</span> 2.99.16<a class="headerlink" href="#downloading-gimp-29916" title="Permanent link">¶</a></h2>
<p><del><span class="caps">GIMP</span> 2.99.16 is only available for Linux and Windows for now. Our macOS
packaging is currently blocked by our inability to notarize the packages until
the <span class="caps">GNOME</span> Foundation fixes their Apple account. We will keep you updated.</del></p>
<p><em>Update from July 11</em>: <span class="caps">GIMP</span> 2.99.16 is now avalaible on Linux, Windows and macOS!</p>
<p>You will find all our official builds on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> packages for Intel hardware</li>
<li>macOS <span class="caps">DMG</span> packages for Apple Silicon hardware</li>
</ul>
<p>Other packages made by third-parties are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>Though the
<a href="https://developer.gimp.org/core/roadmap/#gimp-30-development-branch-roadmap">roadmap</a>
shows a few more unfinished items, the 2 biggest workfields to come for the next
release are the <span class="caps">API</span> redesign — which is well on its way but is important enough
that we’ll need to really look into details —, and the Space Invasion project
(making sure every existing color-related feature is reliable).</p>
<p>As we are really reaching the “stabilization” stage in our development, while
our requirement rule was based on “Debian testing” (whichever it was), we
recently froze our dependency bumps on the just released Debian 12 (bookworm).
It means that we won’t bump any minimum requirement over what is in Debian 12
(except for optional dependencies, and even only so as exceptional cases and
with very good reasons). This is because we plan to release soon enough that we
need to make sure <span class="caps">GIMP</span> can be packaged on all reasonably recent
distributions.<br/>
Of course, for our own packages (Windows, macOS and Flatpak), we will always
use the latest dependency versions anyway.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to give back and
<strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>Wilber Week 2023: report2023-06-29T00:00:00+02:002023-06-29T00:00:00+02:00Jehantag:www.gimp.org,2023-06-29:/news/2023/06/29/wilber-week-2023/<p>The meeting of <span class="caps">GIMP</span> developers is back!</p><p>With the unfortunate health situation of past years, <span class="caps">GIMP</span> team had not been
able to meet since 2019. This affected the software evolution (commit numbers
have been divided by about half!) because for many of us, <span class="caps">GIMP</span> is more than a
software: it’s people, it’s a community. So motivation shrank by lack of social encounter.</p>
<p>Therefore we are glad to announce the return of <em>Wilber Week</em>: our week-long
meeting of <span class="caps">GIMP</span> contributors (started <a href="https://www.gimp.org/news/2017/01/18/wilberweek-2017-announced/">back in
2017</a> as a
companion to the <a href="https://libregraphicsmeeting.org/">Libre Graphics Meeting</a>).</p>
<p>A month ago, we had our second Wilber Week in Amsterdam!</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-GIMP-team.jpg"
alt="Wilber Week 2023: GIMP team"/>
<figcaption>
<em>Wilber Week 2023: <span class="caps">GIMP</span>/Inkscape contributors (from left to right: Niels, Mitch, Simon, Liam, Ville, Aryeom, Jehan, Øyvind, Chris and Schumaml) — photo by Niels, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#setting-up">Setting up</a></li>
<li><a href="#blender-foundation-headquarters">Blender Foundation headquarters</a></li>
<li><a href="#immediate-consequences">Immediate consequences</a><ul>
<li><a href="#bug-fixing-mitch-is-back">Bug fixing! Mitch is back!</a></li>
<li><a href="#improvements">Improvements</a></li>
<li><a href="#dropping-bitcoin-donation-method">Dropping bitcoin donation method</a></li>
</ul>
</li>
<li><a href="#making-plans">Making plans</a><ul>
<li><a href="#a-foundation">A foundation?</a></li>
<li><a href="#gimp-3-and-onward"><span class="caps">GIMP</span> 3 and onward! ⛵</a></li>
</ul>
</li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<h1 id="setting-up">Setting up<a class="headerlink" href="#setting-up" title="Permanent link">¶</a></h1>
<p>This year, 10 <span class="caps">GIMP</span> contributors showed up, by alphabetical order:</p>
<ul>
<li><a href="https://film.zemarmot.net/">Aryeom</a>: <em>ZeMarmot</em>‘s film director, 11-year
contributor, graphics contributor, <span class="caps">UI</span> design, alpha-tester…</li>
<li><a href="https://blogs.gnome.org/carlosg/">Carlos Garnacho</a>: long-time contributor and
advisor for anything input device, <span class="caps">GTK</span> or <span class="caps">GNOME</span> related, contributor and
maintainer for various important bricks in <span class="caps">GNOME</span>.</li>
<li><a href="https://film.zemarmot.net/">Jehan</a>: myself, 11-year contributor, <span class="caps">GIMP</span>
co-maintainer, <em>ZeMarmot</em> technical side…</li>
<li><a href="https://www.fromoldbooks.org/">Liam Quin (demib0y)</a>: 15+-year contributor, community
helper, working to keep <span class="caps">GIMP</span> community friendly and welcoming…</li>
<li><a href="https://www.gimp.org/news/2017/03/01/an-interview-with-michael-natterer-gimp-maintainer/">Michael Natterer (mitch)</a>:
26+-year contributor, my genius co-maintainer…</li>
<li><a href="https://www.gimp.org/news/2017/05/15/an-interview-with-michael-schumacher-gimp-administrator/">Michael Schumacher (schumaml)</a>:
20+-year contributor, administrator, brilliant triager, community helper
and more…</li>
<li><a href="https://nielsdg.pages.gitlab.gnome.org/development-blog/about/">Niels de
Graef</a>:
4+-years contributor, big contributor as well in <span class="caps">GNOME</span>, <span class="caps">GTK</span> and more…</li>
<li><a href="https://pippin.gimp.org/">Øyvind Kolås (pippin)</a>: 20+-year contributor, <span class="caps">GEGL</span>
maintainer, digital media toolsmith…</li>
<li><a href="https://www.home.unix-ag.org/simon/">Simon Budig (nomis)</a>:
25+-year contributor, cares about keeping <span class="caps">GIMP</span> a nice community forever…</li>
<li><a href="https://shadowdrama.net/">Ville Pätsi (drc)</a>: 22+-year contributor, photographer,
graphics contributor…</li>
</ul>
<p>Additionally we invited 2 Inkscape contributors. What started as a simple
<a href="https://fosstodon.org/@CmykStudent/110251080501454428">toot</a> on Mastodon
transformed into a private discussion with Martin Owens from Inkscape who was
hoping to discuss color management with us. So we invited them to enjoy our
hacking retreat and discuss further!</p>
<p>In the end, <a href="https://inkscape.org/~MarcJeanmougin/">Marc Jeanmougin</a>, Inkscape
developer, and <a href="https://inkscape.org/~C.Rogers/">Chris Rogers</a>, graphics
contributor, spent the week with us!</p>
<p>We were all lodged in a fricking century-old sailing boat. No joke! That was an
insanely cool place where we could start hacking from day one!</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-GIMP-hacking-sailing-boat.jpg"
alt="Wilber Week 2023: hacking in a sailing boat"/>
<figcaption>
<em>Wilber Week 2023: hacking in a sailing boat (from left to right:
Schumaml, Mitch, Jehan, Carlos, Marc) — photo by Niels, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<p>About the city itself, let me state for the record that, as a vegan and
pro-soft transportation, Amsterdam seems like a very nice place to live in!</p>
<h1 id="blender-foundation-headquarters">Blender Foundation headquarters<a class="headerlink" href="#blender-foundation-headquarters" title="Permanent link">¶</a></h1>
<p>The Blender Foundation gracefully lent workshop and meeting rooms to our team.</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-gimp-team-blender-hq.jpg"
alt="Wilber Week 2023: GIMP contributors entering Blender headquarters"/>
<figcaption>
<em>Wilber Week 2023: <span class="caps">GIMP</span> contributors entering Blender headquarters — photo by Schumaml, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<p>Of course, having “desks” was not our real reason to choose this office. It was
very cool to meet Blender teams. We were also able to have various interesting
discussions. Quite notably, <a href="https://projects.blender.org/nathanvegdahl">Nathan
Vegdahl</a> from Blender was extremely
welcoming and showed us a lot of very cool stuff!</p>
<p>As was expected, we discussed about color management, in particular in Wayland
as Sebastian Wick, major contributor for color management in Wayland was pulled
in a few times (thanks to Niels!) through remote video calls. This was very constructive!</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-gimp-inkscape-blender-wayland-color-management-meeting.jpg"
alt="Wilber Week 2023: meeting with GIMP, Inkscape, Blender and Wayland contributors in Blender headquarters"/>
<figcaption>
<em>Wilber Week 2023: meeting with <span class="caps">GIMP</span>, Inkscape and Wayland contributors in
Blender headquarters (left to right: Liam, Øyvind, Nathan, Marc, Jehan, Mitch,
Simon, Niels; and Sebastian on screen) — photo by Aryeom, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<p>Bottom line: the interactions with Blender folks made the trip quite worthwhile!</p>
<p>In the same time, there were more things I was hoping to discuss, such as better
file exchange and interactions between our programs (think <em>Libre Graphics
Suite</em>, a major gripe we have at <em>ZeMarmot</em> project as we work with all these
software and it’s not always easy!).
There was already so much going on that this didn’t happen. Hopefully the
opportunity will come again!</p>
<h1 id="immediate-consequences">Immediate consequences<a class="headerlink" href="#immediate-consequences" title="Permanent link">¶</a></h1>
<h2 id="bug-fixing-mitch-is-back">Bug fixing! <em>Mitch is back!</em><a class="headerlink" href="#bug-fixing-mitch-is-back" title="Permanent link">¶</a></h2>
<p>This was a very packed week for hacking on <span class="caps">GIMP</span>, fixing bugs, improving long
overdue code and so on.
A huge part of this was thanks to the fact that we got our co-maintainer back,
<a href="https://www.gimp.org/news/2017/03/01/an-interview-with-michael-natterer-gimp-maintainer/">Michael Natterer, a.k.a.
mitch</a>!</p>
<p>We missed him dearly and it’s so good to have him looking over our code once
more, as well as hacking frenziedly until late at night, like the old times!</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-mitch-asleep-table.jpg"
alt="Wilber Week 2023: the maintainer sleeps"/>
<figcaption>
<em>Wilber Week 2023: where has been mitch for 2 years? Turns out he was just sleeping… — photo by Jehan, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<p>Of course, a lot of other old-timers came back to code for the occasion, so
let’s not forget them all!</p>
<h2 id="improvements">Improvements<a class="headerlink" href="#improvements" title="Permanent link">¶</a></h2>
<p>Among the many things which happened during this very eventful week (or as
direct consequences), let’s mention:</p>
<ul>
<li>Simon Budig should be commended for fixing warnings, cleaning code and
updating code away from deprecated <span class="caps">API</span>!</li>
<li>Niels de Graef and Carlos Garnacho helped with various <span class="caps">GTK</span>- and
Wayland-related fixes. This also resulted in patches in <span class="caps">GTK</span> or other
dependencies, not only in <span class="caps">GIMP</span>.</li>
<li>The plug-in <span class="caps">API</span> got seriously worked on, adding support of <code>GBytes</code> as plug-in
arguments, improving the new <code>GimpResource</code> class and subclasses allowing
plug-ins to easily manipulate various data (brushes, dynamics, patterns…) and more.</li>
<li>Autotools is finally gone from our main repository! (though it is still
present in the stable branch)</li>
<li>Our Continuous Integration now shows JUnit reports from meson unit tests.</li>
<li>Ville is getting used to improving our themes: he did the 2.10 ones, now again
he helped on the Default 3.0 theme, improving work started by other contributors.</li>
<li>As a direct result of <em>Wilber Week</em>, Carlos implemented, soon after, pad
customization ability to <span class="caps">GIMP</span> (with a <a href="https://blogs.gnome.org/carlosg/2023/06/16/getting-the-best-of-tablet-pads/">very nice write-up on this
work</a>).
As review will take some time, it won’t be in 2.99.16 though will definitely
end up in <span class="caps">GIMP</span> 3.0!</li>
<li>Aryeom worked on an updated logo, with the help of various <span class="caps">GIMP</span> contributors
(in particular Ville, Øyvind and Simon) as well as Chris from Inkscape. This
is still work-in-progress.</li>
<li>Some improved <span class="caps">GEGL</span> integration discussion and work happened during the week,
then continued after, allowing to easily add <a href="https://floss.social/@GIMP/110193618328736185">third-party <span class="caps">GEGL</span> operations in
<span class="caps">GIMP</span>’s menu</a> and search for
them in the <a href="https://floss.social/@GIMP/110163688457663102">action search</a>
(note: implementation changed since these toots; not all operations end up in
menus now, only when a specific metadata is present in the operation).</li>
<li>Aryeom updated the splash screen for the next development version (to be continued…).</li>
<li>While they couldn’t be present unfortunately, we shouldn’t forget Jacob
Boerema, Alx Sa and others who continued to improve <span class="caps">GIMP</span> remotely in the same time!</li>
<li>Since we had 3 projects selected in <a href="https://www.gimp.org/news/2023/03/20/gimp-in-gsoc-2023/">GSoC
2023</a> with Liam and
myself as mentors, we had GSoC meetings as remote calls with the students.</li>
</ul>
<h2 id="dropping-bitcoin-donation-method">Dropping bitcoin donation method<a class="headerlink" href="#dropping-bitcoin-donation-method" title="Permanent link">¶</a></h2>
<p>We have had a bitcoin address on the website. Some people have asked for more
crypto-currency options. With a rise in scams, high energy use and differing
national tax implications, we have decided — after discussion and a vote during
Wilber Week — to no longer feature a bitcoin donation link.</p>
<p>The donations in bitcoin have been received, some of them used, but we are still
working on how to properly channel these funds towards our expenses.</p>
<h1 id="making-plans">Making plans<a class="headerlink" href="#making-plans" title="Permanent link">¶</a></h1>
<h2 id="a-foundation">A foundation?<a class="headerlink" href="#a-foundation" title="Permanent link">¶</a></h2>
<p>It turns out that we have been interviewed by Pablo Vazquez while in Blender’s,
so the cat is out of the bag in a quite public way now: we have been trying to
set up our own entity. But first, since I teased you, here was the interview:</p>
<figure>
<iframe title="GIMP's Wilber Week 2023 at Blender HQ"
src="https://video.blender.org/videos/embed/13d47d70-ffd4-4846-b00e-029f99a69aa6"
allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"
width="560" height="315" frameborder="0"></iframe>
<figcaption>
<em>Wilber Week 2023: <span class="caps">GIMP</span>’s Wilber Week 2023 at Blender <span class="caps">HQ</span>, by Pablo Vazquez (featuring Simon, Jehan and Mitch)</em>
</figcaption>
</figure>
<p>In case you wonder, the slides can be found
<a href="https://download.gimp.org/users/jehan/WW23-eof.pdf">here</a>, they were taken from
a end-of-event presentation I gave to Blender folks.</p>
<figure>
<img src="https://www.gimp.org/news/2023/06/29/wilber-week-2023/WW23-Jehan-eof-talk.jpg"
alt="Wilber Week 2023: the EOF talk"/>
<figcaption>
<em>Wilber Week 2023: the <abbr title="End of File"><span class="caps">EOF</span></abbr> talk —
photo by Aryeom, <span class="caps">CC</span> by-sa</em>
</figcaption>
</figure>
<p>Making a proper entity for <span class="caps">GIMP</span> is something which has been on my mind for many
years and which I started to discuss with others of the team, and with friends
from other non-profits to help me find the best way, since 2019! After some
hiatus on this project, I revived my work on it late 2022, and we are actually
quite advanced, though I will refrain on giving too much details now in order
not to jinx it.</p>
<p>Let’s see how it pans out!</p>
<p>Now something to be clear about: <span class="caps">GIMP</span> has always been a bit of a messy and
friendly community project. And that’s part of what I like about it: this bit of
anarchy. Whatever we build to support the project, I will always fight for this
spirit to live on. This was in fact one of the difficult part of setting up an
organization and why it took so long: doing so without the organization taking
over the project, but instead as a support to the community.</p>
<h2 id="gimp-3-and-onward"><span class="caps">GIMP</span> 3 and onward! ⛵<a class="headerlink" href="#gimp-3-and-onward" title="Permanent link">¶</a></h2>
<p>Clearly this Wilber Week made me trust that my initial plan (outlined in the
<a href="https://www.gimp.org/news/2023/01/29/2022-annual-report/#gimp-300">2022 report</a>
as hoping to have <span class="caps">GIMP</span> 3.0 release candidates this year) should be possible. If
we can keep the community as lively, there is high chance to see this happen.</p>
<p>We are clearly sailing in exciting times, right now, toward a very cool future! 😄</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>For anyone interested, the <a href="https://developer.gimp.org/conferences/wilberweek/2023-amsterdam/">meeting page on the developer
website</a>
gives a bit more details on what happened, what was actually discussed, meeting
notes, etc.</p>
<p>Right now, we are deep into preparing the release of the next development
version of <span class="caps">GIMP</span> (<span class="caps">GIMP</span> 2.99.16). And while it’s not even out, we are already
quite excited about the next one (which might even be a release candidate in the
best case!).</p>
<p>In the meantime, do not forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to
give back and <strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>GIMP in GSoC 20232023-03-20T00:00:00+01:002023-03-20T00:00:00+01:00Jehantag:www.gimp.org,2023-03-20:/news/2023/03/20/gimp-in-gsoc-2023/<p><span class="caps">GIMP</span> is again a Google Summer of Code mentor organization in 2023</p><p>This year <a href="https://www.gimp.org/news/2022/03/08/gimp-in-gsoc-2022/">again</a>, <span class="caps">GIMP</span>
project got selected as <a href="https://summerofcode.withgoogle.com/programs/2023/organizations/gnu-image-manipulation-program">mentor
organization</a>
in the <em>Google Summer of Code</em>.</p>
<p><a href="https://summerofcode.withgoogle.com/"><strong>Applications by contributors are opening today (Monday, March 20, 2023) and
will close on Tuesday, April 4, 2023.</strong></a></p>
<h2 id="project-ideas">Project ideas<a class="headerlink" href="#project-ideas" title="Permanent link">¶</a></h2>
<p>On our new developer website, we <a href="https://developer.gimp.org/core/internship/ideas/">listed a few
ideas</a> which might be
suitable for a GSoC. These range from core color science projects to <span class="caps">UX</span>
improvements, build system updates or even making a website for our future
extension platform.</p>
<p>Obviously this list of ideas is far from exhaustive and we definitely welcome
your propositions. Even better, if you have great ideas of your own, it may
play in your favor, as long as they are realistic projects which can be finished
within GSoC timeframe, or at least broken down in usable parts.</p>
<h2 id="requirements">Requirements<a class="headerlink" href="#requirements" title="Permanent link">¶</a></h2>
<p>As already explained last year, and again in our <a href="https://developer.gimp.org/core/internship/">internship
page</a>, if you want to participate,
some of the most important requirements are:</p>
<ul>
<li><strong>Get familiarized with our code by fixing a few patches beforehand.</strong> You
don’t have to work on extra-complicated bugs or features at first (reports
labelled
“<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/?sort=updated_desc&state=opened&label_name%5B%5D=4.%20Newcomers&first_page_size=20">Newcomers</a>”
are probably good first-patch targets), nor does it absolutely need to be
related to the topic of your planned project. We mostly need to interact with
you on a technical topic as a first approach.</li>
<li><strong>Communicate!</strong> Don’t just drop your project out of the blue on the GSoC
interface (several people did this last year). Come and discuss your project
ideas with us <a href="https://www.gimp.org/discuss.html#irc-matrix">on <span class="caps">IRC</span></a>. You may
also open a <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">report on our issue
tracker</a> detailing your proposition.</li>
</ul>GIMP Help Manual 2.10.34 Released2023-03-05T00:00:00+01:002023-03-05T00:00:00+01:00Jacob Boerematag:www.gimp.org,2023-03-05:/news/2023/03/05/gimp-help-manual-2-10-34-released/<p>Release news for <span class="caps">GIMP</span> Help Manual version 2.10.34</p><p><span class="caps">GIMP</span> Help Manual 2.10.34 is finally out, with many documentation improvements
and more supported languages.</p>
<div class="toc">
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#online-manual">Online Manual</a></li>
<li><a href="#translations">Translations</a></li>
<li><a href="#documentation-updates">Documentation Updates</a></li>
<li><a href="#downloading-gimp-help-manual-21034">Downloading <span class="caps">GIMP</span> Help Manual 2.10.34</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news lists the most notable and visible changes. In particular, we
do not list here the bug fixes.
To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp-help/-/blob/c60ec22595fcdeb1093b53032af2e55c8cd06c53/NEWS"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp-help/-/commits/gimp-help-2-10">commit
history</a>.</em></p>
<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">¶</a></h2>
<p>The release of a <span class="caps">GIMP</span> Help manual has been long overdue. We published a 2.10.0
test release, but that was never meant to be an official release.
Due to the lack of volunteers and the amount of documentation needing updates,
this test release eventually became the de facto first 2.10 release, although
it was outdated in a lot of places and missing documentation for newer features.</p>
<p>There still is more work to be done, but after a long period of hard work, the
manual is finally in a state where we can present you a new official release.</p>
<h2 id="online-manual">Online Manual<a class="headerlink" href="#online-manual" title="Permanent link">¶</a></h2>
<p>Not that we want to discourage you from using this release version of the
manual, but the online manual is being updated daily. It should generally be
your first choice, unless you have limited internet bandwidth or other reasons
to prefer the offline version.</p>
<p>We modernized our website to be more in line with the main <span class="caps">GIMP</span> website and
improved the information about our manuals. New automated builds are published
to our website once a day. Even better, our website now shows the completion
status for each language.
A lot of languages still need considerable work. If you would like to help
improve that, please visit
<a href="https://docs.gimp.org/help.html">https://docs.gimp.org/help.html</a>
for more information.</p>
<h2 id="translations">Translations<a class="headerlink" href="#translations" title="Permanent link">¶</a></h2>
<p>Several new translations are being worked on: Czech (restored), Hungarian,
Portuguese, Ukrainian. In addition to these, installers are now also
available for Slovenian and Swedish, which were missing from the 2.10.0 test
release.
Persian was added too, but since no actual translations for the 2.10.34 manual
were made yet, we do not supply an installer for that.
Almost all other languages were updated to some degree.</p>
<h2 id="documentation-updates">Documentation Updates<a class="headerlink" href="#documentation-updates" title="Permanent link">¶</a></h2>
<p>A large part of the manual has seen updates. In some cases only small updates,
but many pages have seen considerable changes.</p>
<p>Some highlights are:</p>
<ul>
<li>All <span class="caps">GEGL</span> filters, some of which were not documented at all, are now covered.</li>
<li>The new layer modes introduced in <span class="caps">GIMP</span> 2.10.0 are finally documented,
including examples of each mode.</li>
<li>The getting stuck section was updated and extended to cover more problematic situations.</li>
<li>Missing preferences were added, others that are no longer there were removed.</li>
<li>The Script-Fu tutorial got revised.</li>
<li>Context sensitive help ids in <span class="caps">GIMP</span> were synchronized with the manual. This
means that it is now a lot less likely you will encounter a missing help page.</li>
</ul>
<p>Most parts of <span class="caps">GIMP</span>’s interface should now be documented. If you see anything
that is still missing or that could be improved, don’t hesitate to
<a href="https://gitlab.gnome.org/GNOME/gimp-help/-/issues">open a documentation issue</a>.</p>
<h2 id="downloading-gimp-help-manual-21034">Downloading <span class="caps">GIMP</span> Help Manual 2.10.34<a class="headerlink" href="#downloading-gimp-help-manual-21034" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> Help Manual 2.10.34 is available on <a href="https://docs.gimp.org/download.html"><span class="caps">GIMP</span>’s documentation website
(docs.gimp.org)</a> in two formats:</p>
<ul>
<li>A source distribution</li>
<li>Windows installers for each available language</li>
</ul>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>Since <span class="caps">GIMP</span> is getting closer to a 3.0 release, we need to update our
documentation to add all changes that have been made compared to <span class="caps">GIMP</span> 2.10,
and of course we will also keep updating the 2.10 manual.
To make this effort more manageable, we would really welcome more helping hands.</p>GIMP 2.10.34 Released2023-02-27T00:00:00+01:002023-02-27T00:00:00+01:00Jehantag:www.gimp.org,2023-02-27:/news/2023/02/27/gimp-2-10-34-released/<p>Release news for version <span class="caps">GIMP</span> 2.10.34</p><p><span class="caps">GIMP</span> 2.10.34 is finally out, with fixes and some improvements backported from
our development codebase.</p>
<div class="toc">
<ul>
<li><a href="#file-formats">File Formats</a><ul>
<li><a href="#tiff"><span class="caps">TIFF</span></a></li>
<li><a href="#psd"><span class="caps">PSD</span></a></li>
<li><a href="#jpeg-xl"><span class="caps">JPEG</span> <span class="caps">XL</span></a></li>
<li><a href="#pdf"><span class="caps">PDF</span></a></li>
<li><a href="#raw-data">Raw data</a></li>
</ul>
</li>
<li><a href="#template-selector-in-canvas-size-dialog">Template selector in Canvas Size dialog</a></li>
<li><a href="#item-dockables-with-visibility-and-link-headers">Item dockables with “Visibility” and “Link” headers</a></li>
<li><a href="#improved-desktop-color-picking-windows-x11">Improved desktop color-picking (Windows, X11)</a></li>
<li><a href="#remembering-color-scale-and-model-preferences">Remembering color scale and model preferences</a></li>
<li><a href="#macos-improvements">macOS improvements</a></li>
<li><a href="#plug-in-api">Plug-in <span class="caps">API</span></a></li>
<li><a href="#gegl-babl"><span class="caps">GEGL</span>, babl</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#improved-release-procedure-and-call-for-testers">Improved Release Procedure and Call for Testers</a></li>
<li><a href="#around-gimp">Around <span class="caps">GIMP</span></a><ul>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
</ul>
</li>
<li><a href="#downloading-gimp-21034">Downloading <span class="caps">GIMP</span> 2.10.34</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news lists the most notable and visible changes. In particular, we
do not list here the bug fixes.
To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/615062ebb4301b76c7344fa0580d838af6208301/NEWS#L11"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</em></p>
<h2 id="file-formats">File Formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<h3 id="tiff"><span class="caps">TIFF</span><a class="headerlink" href="#tiff" title="Permanent link">¶</a></h3>
<p>Apart from various bug fixes, the <span class="caps">TIFF</span> import dialog now gets a new option
labelled “<em>Show reduced images</em>“, which is backported from the development
release <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#tiff"><span class="caps">GIMP</span>
2.99.14</a>.</p>
<p>Here is what we said about this option when initially announced:</p>
<p>The <span class="caps">TIFF</span> format has a concept of “reduced page”. Until now, we were assuming
pages tagged as “reduced” to be thumbnails. Yet this is not always the case. For
instance we had feedback from makers of medical devices which were using
“reduced pages” as sub-sampled images generated by said devices. They needed
<span class="caps">GIMP</span> to be able to load all the pages as layers (the main images and the
sub-sampled ones).</p>
<figure>
<img src="/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-import-tiff-reduced.gif"
alt="GIMP 2.10.34: importing reduced pages of TIFF files"/>
<figcaption>
<em>Importing reduced pages of <span class="caps">TIFF</span> files - <span class="caps">GIMP</span> 2.10.34</em>
</figcaption>
</figure>
<p>This is why we added a new option called “<em>Show reduced images</em>” which lets you
decide whether you want to load these or not. The option will be checked by
default through a small heuristic: if there is only 1 reduced page and it’s in
the second position, then it’s probably a thumbnail (as per common usage across
software); in which case we disable the checkbox by default. Still in the end,
the choice is yours!</p>
<h3 id="psd"><span class="caps">PSD</span><a class="headerlink" href="#psd" title="Permanent link">¶</a></h3>
<p>We also backported a bunch of features from the development branch to improve
<span class="caps">PSD</span> support.</p>
<p>In particular:</p>
<ul>
<li>Ability to load <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#psd">layers with the “clipping” flag set and clipping layers have
been backported from <span class="caps">GIMP</span>
2.99.10</a>.</li>
<li>Ability to <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#psd">export <span class="caps">PSD</span> files with paths has been backported from <span class="caps">GIMP</span>
2.99.14</a>.</li>
</ul>
<h3 id="jpeg-xl"><span class="caps">JPEG</span> <span class="caps">XL</span><a class="headerlink" href="#jpeg-xl" title="Permanent link">¶</a></h3>
<p>While <span class="caps">JPEG</span> <span class="caps">XL</span> import has been possible in the stable branch <a href="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/#jpeg-xl">since <span class="caps">GIMP</span>
2.10.32</a>,
export support has now been backported too in this version, though it is limited
to 8-bit lossless.</p>
<p>Additionally, metadata support on import (only) has been backported, making this
version of <span class="caps">GIMP</span> much more useful for anyone working with this format.</p>
<p><em>Note for packagers: metadata support in <span class="caps">JPEG</span> <span class="caps">XL</span> requires libjxl 0.7.0 or over.</em></p>
<h3 id="pdf"><span class="caps">PDF</span><a class="headerlink" href="#pdf" title="Permanent link">¶</a></h3>
<p>Our code for <span class="caps">PDF</span> import and export was pretty oblivious of the ability to have
transparency in <span class="caps">PDF</span>. This is now changing.</p>
<p>From <span class="caps">GIMP</span> 2.10.34 and onwards, the <span class="caps">PDF</span> import dialog will propose an option
labelled “<em>Fill transparent areas with white</em>“. It will be checked by default
(thus providing the old behavior) because most office software seem to create
<span class="caps">PDF</span> files assuming reader software will fill the background with white.
Unchecking the box would not render the expected result.
This is likely why our code was historically doing the same as other reader
software.
Nevertheless for the cases where you were actually intending transparent
background upon loading, it will now be possible.</p>
<figure>
<img src="https://www.gimp.org/news/2023/02/27/gimp-2-10-34-released/gimp-2-10-34-import-pdf-transparency.gif" alt="Import a transparent PDF in GIMP 2.10.34"/>
<figcaption>
<em><span class="caps">PDF</span> import in <span class="caps">GIMP</span> 2.10.34: new “Fill transparent areas with background color” option</em>
</figcaption>
</figure>
<p>Symmetrically when exporting a <span class="caps">PDF</span>, we now propose an option labelled “<em>Fill
transparent areas with background color</em>“, letting you decide whether or not you
want to add an opaque background, hence getting rid of transparency, or leaving
your image with transparency, exactly as you see it in <span class="caps">GIMP</span> canvas.</p>
<figure>
<img src="https://www.gimp.org/news/2023/02/27/gimp-2-10-34-released/gimp-2-10-34-export-pdf-transparency.png" alt="Export a transparent PDF in GIMP 2.10.34"/>
<figcaption>
<em><span class="caps">PDF</span> export in <span class="caps">GIMP</span> 2.10.34: new “Fill transparent areas with white” option</em>
</figcaption>
</figure>
<p>Of course note that, as said above, not all <span class="caps">PDF</span> readers handle transparency.
Very often, many readers (including web browsers’ readers) will fill the
background with white.
Yet if you have a more compliant <span class="caps">PDF</span> reader or editor, this new usage can be of interest.</p>
<h3 id="raw-data">Raw data<a class="headerlink" href="#raw-data" title="Permanent link">¶</a></h3>
<p>🛈 <em>We are talking here of “raw data” where you export your pixels as
contiguous or planar data directly, without following a specific file
format, and not <span class="caps">RAW</span> file formats as are usually called formats used by
digital cameras (for these, we still prefer to pass through good raw
developer software, such as darktable or RawTherapee).</em></p>
<p>As a <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#raw-data">partial backport from <span class="caps">GIMP</span> 2.99.12, <span class="caps">GIMP</span> will now export your image to raw
data</a> at
the precision used by your image backend. In other words, you can export high
bit depth raw images.</p>
<p>Note though that improvements to this plug-in in the development version were
not fully backported. In particular, you may not be able to load back the high
bit depth images that you exported. The reason is that the changes required for
this would modify considerably the <abbr title="Procedural DataBase"><span class="caps">PDB</span></abbr>
procedure tied to this plug-in, which would break third-party scripts relying on
this procedure to load raw data as images.</p>
<h2 id="template-selector-in-canvas-size-dialog">Template selector in Canvas Size dialog<a class="headerlink" href="#template-selector-in-canvas-size-dialog" title="Permanent link">¶</a></h2>
<p>The <a href="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/#template-selector-in-canvas-size-dialog">template selector introduced in the development version <span class="caps">GIMP</span>
2.99.6</a>
has now been backported, allowing you to resize your canvas more easily when
using common image formats.</p>
<figure>
<img src="https://www.gimp.org/news/2023/02/27/gimp-2-10-34-released/gimp-2-10-34-canvas-size-templates.gif" alt="Template selector in Canvas Size dialog - GIMP 2.10.34"/>
<figcaption>
<em>Template selector in Canvas Size dialog - <span class="caps">GIMP</span> 2.10.34</em>
</figcaption>
</figure>
<h2 id="item-dockables-with-visibility-and-link-headers">Item dockables with “Visibility” and “Link” headers<a class="headerlink" href="#item-dockables-with-visibility-and-link-headers" title="Permanent link">¶</a></h2>
<p>As a very partial backport of the <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#item-locks-redesigned">many usability
changes</a>
which happened in the development version 2.99.10, the <em>Layers</em>, <em>Channels</em> and
<em>Paths</em> dockables now feature a small header above the items list, containing the
“eye” and “chain” icon, hence making the columns more discoverable.</p>
<figure>
<img src="https://www.gimp.org/news/2023/02/27/gimp-2-10-34-released/gimp-2-10-34-layers-dockable-icon-header.png" alt="Icon header in Layers dockable in GIMP 2.10.34"/>
<figcaption>
<em>“visibility” and “link” icon header</em>
</figcaption>
</figure>
<p><em>Note: the outline effect when hovering the visibility and link columns was
already <a href="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/#usability-themes-and-icons">backported in <span class="caps">GIMP</span>
2.10.32</a>.</em></p>
<h2 id="improved-desktop-color-picking-windows-x11">Improved desktop color-picking (Windows, X11)<a class="headerlink" href="#improved-desktop-color-picking-windows-x11" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> has 2 color-picking features: the Color Picker tool which works only within
the opened images yet with greater color management and the color picker button
in the <em>Colors</em> dockable, which can color pick anywhere in the display and
relies on the infrastructure allowed by the <span class="caps">OS</span> or desktop you are currently
running on.</p>
<p><strong>On Windows</strong>, the color-picking feature has been entirely rewritten with
<span class="caps">OS</span>-dedicated code which works much better with multiple monitors, even when
using different <abbr title="Pixel Per Inch"><span class="caps">PPI</span></abbr> scales, for instance
when mixing high and low pixel density displays (this fixes some coordinates
mistracking bug our previous implementation had).</p>
<p><strong>On Linux/X11</strong>, we are backtracking to fix a regression in desktop
color-picking. We used to follow recommendations for the new Wayland path, which
is to favor color-picking “portals” when available. Unfortunately most (if not
all?) these portals still don’t give any color-management information about the
returned color. As graphics work requires accurate color management, we decided
to get back using full old-style X11 code.</p>
<p>Note that since the stable branch of <span class="caps">GIMP</span> is still using <span class="caps">GTK</span>+2, even if you run
on Wayland, <span class="caps">GIMP</span> itself would use XWayland. In other words, <span class="caps">GIMP</span> 2.10.34 now
runs the X11 code path whatever windowing system is in use.</p>
<h2 id="remembering-color-scale-and-model-preferences">Remembering color scale and model preferences<a class="headerlink" href="#remembering-color-scale-and-model-preferences" title="Permanent link">¶</a></h2>
<p>In “<em>Change Foreground|Background Color</em>” dialogs or in the <em>Colors</em> dockable,
you have the option to view your colors in a <em>0..100</em> or <em>0..255</em> scales. You
can also see your color in alternative <abbr title="Lightness, Chroma,
Hue"><em>LCh</em></abbr> or <abbr title="Hue, Saturation, value"><em><span class="caps">HSV</span></em></abbr> color models.</p>
<p>These 2 settings are now stored and remembered across sessions so that you don’t
have click them again each time for your usual and preferred workflow.</p>
<h2 id="macos-improvements">macOS improvements<a class="headerlink" href="#macos-improvements" title="Permanent link">¶</a></h2>
<p>This version comes with a few bug fixes dedicated to the macOS builds. The most
noteworthy one is that we implemented <span class="caps">HTTPS</span> support (since our <abbr
title="Input/Output">I/O</abbr> backend library, <em><span class="caps">GIO</span></em>, is lacking proper macOS
support for this protocol) for 2 features in particular:</p>
<ul>
<li>Check for updates: unless you disable the option in “Preferences”, you should
now be notified of new versions of <span class="caps">GIMP</span>.</li>
<li>Help system: it is now possible to read the remote documentation from within
the Help Browser in <span class="caps">GIMP</span>.</li>
</ul>
<h2 id="plug-in-api">Plug-in <abbr title="Application Programming Interface"><span class="caps">API</span></abbr><a class="headerlink" href="#plug-in-api" title="Permanent link">¶</a></h2>
<p>Two new functions were added, wrapping basic color processing filters, making it
easy to call them from third-party plug-ins:</p>
<ul>
<li><code>gimp_drawable_shadows_highlights()</code>: function performing the
“<em>Shadows-Highligths</em>” filter in the “<em>Colors</em>” menu.</li>
<li><code>gimp_drawable_extract_component()</code>: function performing the “<em>Extract
Component</em>” filter in the “<em>Colors > Components</em>” menu.</li>
</ul>
<h2 id="gegl-babl"><span class="caps">GEGL</span>, babl<a class="headerlink" href="#gegl-babl" title="Permanent link">¶</a></h2>
<p>As usual, this version of <span class="caps">GIMP</span> is accompanied by new versions of
<a href="https://gegl.org/babl/">babl</a> and <a href="https://gegl.org/"><span class="caps">GEGL</span></a>:</p>
<ul>
<li>babl 0.1.100 comes with bug fixes in the recently added <a href="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/#automatic-lut-creation-for-conversions-in-babl"><span class="caps">LUT</span> creation and
usage</a>
code. It also better supports non-<span class="caps">ASCII</span> characters in file paths on Windows.</li>
<li>babl 0.1.102 disabled the <span class="caps">LUT</span> usage by default depending on the environment
variable <code>BABL_LUT</code>, leaving us some time to iron out a few more issues we
discovered at the last minute.</li>
<li><span class="caps">GEGL</span> 0.4.42 adds conditional support for <code>libraw</code> 0.21.0, while also improving
the following operations: <code>rgb-clip</code>, <code>perlin</code>, <code>mosaic</code>, <code>c2g</code>, <code>long-shadow</code>
and <code>gif-load</code>.</li>
</ul>
<p>Various build improvements also happened in both babl and <span class="caps">GEGL</span>.</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>35 people contributed changes or fixes to <span class="caps">GIMP</span> 2.10.34 codebase:</p>
<ul>
<li>13 developers: Jehan, Jacob Boerema, Alx Sa, Daniel Novomeský, Lukas
Oberhuber, Luca Bacci, Ian Martins, Nyári-Kovács, Dávid Tamás, Simon Budig,
Stanislav Grinkov, valadaptive and Øyvind Kolås.</li>
<li>22 translators: Sabri Ünal, Anders Jonsson, Martin, Yuri Chornoivan, Marco
Ciampa, Cristian Secară, Rodrigo Lledó, Tim Sabsch, Alan Mortensen,
Chao-Hsiung Liao, Ekaterine Papava, Milo Ivir, Piotr Drąg, Zurab Kargareteli,
Jordi Mas, Luming Zh, Luna Jernberg, Balázs Úr, Hugo Carvalho, Jürgen
Benvenuti, Kristjan <span class="caps">SCHMIDT</span> and Sveinn í Felli.</li>
<li>19 translations were updated: Catalan, Chinese (China), Chinese (Taiwan),
Croatian, Danish, Esperanto, Georgian, German, Hungarian, Icelandic, Italian,
Polish, Portuguese, Romanian, Slovenian, Spanish, Swedish, Turkish and Ukrainian.</li>
</ul>
<p>Contributions on other repositories in the GIMPverse:</p>
<ul>
<li>4 contributors to babl 0.1.100 and 0.1.102: Luca Bacci, Jehan, Øyvind Kolås
and Ulf Prill.</li>
<li>7 contributors to <span class="caps">GEGL</span> 0.4.42: Øyvind Kolås, Alan Mortensen, Jehan, Michael
Drake, Sabri Ünal, Chris Mayo and Jordi Mas.</li>
<li>2 contributors to <a href="https://ctx.graphics/">ctx</a> since 2.99.14 release:
Øyvind Kolås and Carlos Eduardo.</li>
<li>3 contributors to <code>gimp-macos-build</code> (macOS build scripts) since 2.99.14
release: Lukas Oberhuber, Kyungjoon Lee and Mingye Wang.</li>
<li>4 contributors to our main website (what you are reading right now) since
2.99.14 release: Jehan, Aryeom Han, Michael Schumacher and Tim Spriggs.</li>
<li>3 contributors to our <a href="https://developer.gimp.org/">developer website</a> since
2.99.14 release: Jehan, Krek Krek and kotvkvante.</li>
<li>9 contributors to our <a href="https://docs.gimp.org/">documentation</a> since
2.99.14 release: Jacob Boerema, Anders Jonsson, Jordi Mas, Yuri Chornoivan,
Andre Klapper, Danial Behzadi, Hugo Carvalho, Martin and Nathan Follens.</li>
</ul>
<p>Then let’s not forget to thank all the people who help us triaging in
Gitlab, report bugs and discuss possible improvements with us.
And of course, our community is deeply thankful to the internet warriors
who manage our various <a href="https://www.gimp.org/discuss.html">discussion
channels</a> or social network accounts
such as Ville Pätsi, Liam Quin, Michael Schumacher and Sevenix!</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting, errors may slip inside these
stats. Feel free to tell us if we missed or mis-categorized some
contributors or contributions.</em></p>
<h2 id="improved-release-procedure-and-call-for-testers">Improved Release Procedure and Call for Testers<a class="headerlink" href="#improved-release-procedure-and-call-for-testers" title="Permanent link">¶</a></h2>
<p>As far as I remember, <span class="caps">GIMP</span> has had a very accurate release procedure, with
step-by-step <span class="caps">TODO</span> items listed in a long file.</p>
<p>Lately I have been working on improving it further, making a <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/9136">public
report</a>, actually checkable
bucket list items… and in particular, I would like the source and binaries to be
thoroughly tested by as many people as possible. 👩🔬🧪👨🔬</p>
<p>This version is the first time we try this new release procedure (the procedure
worked fine: the release was delayed by us finding some last-minute issues which
is actually a good thing!).</p>
<p>We already have a few people testing <span class="caps">GIMP</span> on Windows, though the more the
better.<br/>
On the other hand, we have nearly nobody testing the macOS builds or the
flatpak (apart from developers and packagers of course). 😢</p>
<p>Note that we don’t have our own packages for every <span class="caps">OS</span> out there, but we
definitely welcome people willing to test <span class="caps">GIMP</span> on *<span class="caps">BSD</span>, Haiku or whatnot, as
long as you can build <span class="caps">GIMP</span> on your own on your system of choice.</p>
<p>For these reasons, if anyone is willing to help us improve <span class="caps">GIMP</span> by participating
to release testing, please open a report on the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/issues/new">developer website
tracker</a>
with the following information:</p>
<ul>
<li>The Operating Systems (Linux, Windows, macOS, *<span class="caps">BSD</span>…) you will be testing on,
with details if possible (which Linux distribution and version? Which version
of Windows or macOS?…).</li>
<li>The architectures you will be testing on (x86, <span class="caps">ARM</span>… 32 or 64-bit).</li>
<li>If you will test our pre-built packages or from source (custom builds).</li>
</ul>
<p>Then we will include you in the next release testing (stable and development releases).</p>
<p>Our expectations from testers:</p>
<ul>
<li>Make sure you receive Gitlab notifications when your nickname is cited (we
advise to set your <a href="https://gitlab.gnome.org/-/profile/notifications">Global notification
level</a> to “Participate” or
“On mention”).</li>
<li>Follow the release report to know what’s happening and when you are needed.</li>
<li>Release reports are not a place where we teach people how to use basic
functions of a computer. Testers don’t have to be developers, but they have to
be able to follow basic technical guidelines, give feedback more useful than
“<em>it doesn’t work</em>” and be able globally to interact with developers.</li>
<li>Be nice and welcoming: everyone here is a volunteer, testers as much as
developers. This is Community, Free Software, not a soulless job. 🤗</li>
</ul>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h3>
<p>2 organizations contributed more <a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">download
mirrors</a> to
distribute <span class="caps">GIMP</span>.</p>
<p>Thanks to <em>Artfiles New Media GmbH</em> (Hamburg, Germany), which has actually been
a long-term mirror sponsor and recently came back by updating their settings to
our new mirror system; and the <em>Fremont Cabal Internet Exchange</em> which added 2
more mirrors in the United States and one in Bogotà, Colombia (our second mirror
in South America).</p>
<p>Mirrors are important as they help the project by sharing the load for dozens of
thousands of daily downloads. Moreover by having mirrors spread across the
globe, we ensure that everyone can have fast download access to <span class="caps">GIMP</span>.</p>
<h3 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h3>
<p>A new “Czech” section was added to our <a href="https://www.gimp.org/books/">books
page</a>, with 4 books which got reported to us.
These books are a bit old and all seem to be targetting <span class="caps">GIMP</span> 2.8. So let’s hope
for a lot of <span class="caps">GIMP</span> 2.10 (and soon 3.0) coverage in Czech in the future!</p>
<ul>
<li><a href="https://www.gimp.org/books/#gimp-uzivatelska-prirucka"><em><span class="caps">GIMP</span>: uživatelská příručka</em>, by a collective</a> (2015, Czech)</li>
<li><a href="https://www.gimp.org/books/#gimp-28-uzivatelska-prirucka-pro-zacinajici-grafiky"><em><span class="caps">GIMP</span> 2.8 - Uživatelská příručka pro začínající grafiky</em>, by Petr Němec</a> (2013, Czech)</li>
<li><a href="https://www.gimp.org/books/#333-tipu-a-triku-pro-gimp"><em>333 tipů a triků pro <span class="caps">GIMP</span></em>, by Vlastimil Modr</a> (2013, Czech)</li>
<li><a href="https://www.gimp.org/books/#digitalni-fotografie-v-programu-gimp"><em>Digitální fotografie v programu <span class="caps">GIMP</span></em>, by Lubomír Čevela</a> (2012, Czech)</li>
</ul>
<p>We remind everyone that we welcome book additions, especially newer books for
latest versions of <span class="caps">GIMP</span> (which would be most useful to everyone). Whether you
wrote it or just read it, if you know of a book about <span class="caps">GIMP</span>, just <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the
same information as other books in the
list</a>. Thanks!</p>
<h2 id="downloading-gimp-21034">Downloading <span class="caps">GIMP</span> 2.10.34<a class="headerlink" href="#downloading-gimp-21034" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.10.34 is available on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a> in 4 package formats:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> packages for Intel hardware</li>
<li>macOS <span class="caps">DMG</span> packages for Apple Silicon hardware</li>
</ul>
<p>Other packages made by third-parties are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>These days, we are mostly focusing on the development version, especially since
we have big plans for 2023, as was outlined in <a href="https://www.gimp.org/news/2023/01/29/2022-annual-report/">our 2023 plans (2022 annual
report)</a>.
For anyone interested in the future of <span class="caps">GIMP</span>, I highly recommend reading this report.</p>
<p>Nevertheless bug fixes in particular, and maintenance in general, still need to
get out for the stable branch. We will likely release at least one, possibly
more, stable versions before <span class="caps">GIMP</span> 3.0 release.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to
give back and <strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>2022 annual report2023-01-29T00:00:00+01:002023-01-29T00:00:00+01:00Jehantag:www.gimp.org,2023-01-29:/news/2023/01/29/2022-annual-report/<p>What happened in 2022?</p><p>Pursuing the newfound tradition started <a href="https://www.gimp.org/news/2021/12/31/gimp-2021-annual-report/">a year
ago</a>, here is my
report for past year 2022.</p>
<figure>
<img src="https://www.gimp.org/news/2023/01/29/2022-annual-report/GIMP-2023-january-report.jpg" alt="Go 2023 - Wilber and co. comics strip by Aryeom"/>
<figcaption>
<em>“Go 2023” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span>’s 2022 annual report</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#statistics">Statistics</a></li>
<li><a href="#outstanding-evolution-in-2022">Outstanding evolution in 2022</a><ul>
<li><a href="#babl-and-gegl">babl and <span class="caps">GEGL</span></a></li>
<li><a href="#checking-items-in-gimp-roadmap">Checking items ✅ in <span class="caps">GIMP</span> roadmap</a></li>
<li><a href="#packaging">Packaging</a></li>
<li><a href="#infrastructure">Infrastructure</a></li>
<li><a href="#websites">Websites</a></li>
</ul>
</li>
<li><a href="#plans-for-2023">Plans for 2023</a><ul>
<li><a href="#gimp-300"><span class="caps">GIMP</span> 3.0.0?</a></li>
<li><a href="#rethinking-our-roadmaps">Rethinking our roadmaps</a></li>
</ul>
</li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<h1 id="statistics">Statistics<a class="headerlink" href="#statistics" title="Permanent link">¶</a></h1>
<p>In 2022, we had:</p>
<ul>
<li><strong>1 stable releases</strong> (<a href="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/"><span class="caps">GIMP</span>
2.10.32</a>)</li>
<li><strong>3 development releases</strong> (<a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/"><span class="caps">GIMP</span>
2.99.10</a>,
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/">2.99.12</a> and
<a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/">2.99.14</a>).</li>
<li><strong>1461 commits</strong> on the unstable development branch (2.99.x, future
3.0) and <strong>276 commits</strong> on the stable development branch (2.10.x) of
the main repository.</li>
<li><strong>87 contributors</strong> on the main repository, including (some people belong
to several categories):<ul>
<li>35 developers</li>
<li>47 translators</li>
<li>26 contributors to resources (icons, themes, in-code documentation) or
build improvements</li>
</ul>
</li>
<li><strong>7 core developers</strong> contributed 10 or more commits in <span class="caps">GIMP</span>’s main
repository:<ul>
<li>Jehan: 649 commits</li>
<li>Jacob Boerema: 64 commits</li>
<li>Nikc: 50 commits</li>
<li>Daniel Novomeský: 25 commits</li>
<li>lloyd konneker: 25 commits</li>
<li>Lukas Oberhuber: 18 commits</li>
<li>Niels De Graef: 15 commits</li>
</ul>
</li>
<li><strong>115 commits</strong> to <a href="https://gegl.org/babl/">babl</a> by 10 contributors, with 3
developers contributing 10 or more commits:<ul>
<li>Øyvind Kolås: 86 commits</li>
<li>Axel Viala: 10 commits</li>
<li>Jehan: 10 commits</li>
</ul>
</li>
<li><strong>138 commits</strong> to <a href="https://gegl.org/"><span class="caps">GEGL</span></a> by 32 contributors, with 5
developers contributing 5 or more commits:<ul>
<li>Øyvind Kolås: 47 commits</li>
<li>Behnam Momeni: 9 commits</li>
<li>Michael Drake: 7 commits</li>
<li>Thomas Manni: 7 commits</li>
<li>Jehan: 5 commits</li>
</ul>
</li>
<li><strong>1042 commits</strong> to <a href="https://ctx.graphics/">ctx</a> by 2 contributors (mostly
Øyvind Kolås).</li>
<li><strong>492 commits</strong> in <code>gimp-help</code> (our manual) by 29 contributors, with 11
people contributing 10 or more commits (this list mixes documenters, build
maintenance and translators):<ul>
<li>Jacob Boerema: 229 commits</li>
<li>Anders Jonsson: 47 commits</li>
<li>Rodrigo Lledó: 38 commits</li>
<li>Jehan: 28 commits</li>
<li>Jordi Mas: 25 commits</li>
<li>Tim Sabsch: 19 commits</li>
<li>Nathan Follens: 17 commits</li>
<li>Marco Ciampa: 16 commits</li>
<li>Yuri Chornoivan: 15 commits</li>
<li>Andre Klapper: 13 commits</li>
<li>Hugo Carvalho: 11 commits</li>
</ul>
</li>
<li><strong>178 commits</strong> in <code>gimp-macos-build</code> (our macOS build) by 3 contributors
(mostly Lukas Oberhuber).</li>
<li><strong>33 commits</strong> in the stable branch of our Flathub/Flatpak package and <strong>23
commits</strong> on the beta branch by 6 contributors, including 4 core contributors:
Jehan, Ondřej Míchal, Hubert Figuière and Daniel Novomeský.</li>
<li><strong>227 commits</strong> to <span class="caps">GIMP</span>’s website (<code>gimp.org</code>, i.e. right here) by 10
contributors (mostly Jehan).</li>
<li><strong>158 commits</strong> to our new <a href="https://developer.gimp.org/">developers website</a>
by 4 contributors:<ul>
<li>Jehan: 104 commits</li>
<li>Pat David: 38 commits</li>
<li>Robin Swift: 15 commits</li>
<li>Lukas Oberhuber: 1 commit</li>
</ul>
</li>
<li><strong>178 reports fixed</strong> and <strong>206 merge requests integrated</strong> in our 2022
releases. <strong>Hundreds</strong> more reports handled, triaged, answered to, worked on…</li>
<li>Many patches contributed by <span class="caps">GIMP</span> contributors in various other projects we use
(at least GLib, <span class="caps">GTK</span>, Cairo, meson, Mirrorbits…) and an uncountable number of
issues reported by our contributors to other projects.</li>
<li>And more!</li>
</ul>
<p>Compared to last year:</p>
<ul>
<li>The total amount of work is quite similar, and while that tendency had already
started a year ago, the work has clearly been shifting even more towards the
development branch (future 3.0), which nows accounts for 84% of commits
(against 74% last year), while the stable branch is really getting into
maintenance-only mode.</li>
<li>Less work on <span class="caps">GEGL</span> happened but more work on babl. The recent work on automatic
<span class="caps">LUT</span> creation and <span class="caps">SIMD</span> optimizations explains it.</li>
<li>ctx stays heavily developed.</li>
<li>While Øyvind and myself still remain the 2 heavy-lifters, we get more people
around clearly pulling their weight. It is exciting to see more contributors stay.</li>
<li>Jacob is working more on the documentation which is really increasing in quality.</li>
</ul>
<h1 id="outstanding-evolution-in-2022">Outstanding evolution in 2022<a class="headerlink" href="#outstanding-evolution-in-2022" title="Permanent link">¶</a></h1>
<h2 id="babl-and-gegl">babl and <span class="caps">GEGL</span><a class="headerlink" href="#babl-and-gegl" title="Permanent link">¶</a></h2>
<p>On the side of our graphics engine, the <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#automatic-lut-creation-for-conversions-in-babl">automatic <span class="caps">LUT</span>
creation</a>
for color conversion in babl is clearly a big step forward, introduced in <span class="caps">GIMP</span>
2.99.10 (then in the stable version 2.10.32).</p>
<p>At the same time, all babl, <span class="caps">GEGL</span> and ctx got nice <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl"><span class="caps">SIMD</span>
optimization</a>
which allowed nice performance boosts.</p>
<p>Øyvind Kolås is really doing an amazing job, as usual.</p>
<p>It is also interesting to note how the concept of “<span class="caps">GEGL</span> plug-ins” took off in 2022.
It in fact just refers to third-party <span class="caps">GEGL</span> operations which you simply install
in a folder and <span class="caps">GIMP</span> will see them at next restart, including all the fancy <span class="caps">UI</span>,
such as on-canvas preview with split view (and when we’ll have non-destructive
layer effects, these operations will also be usable!).<br/>
Among people spearheading such community development, we should cite
<a href="https://github.com/LinuxBeaver?tab=repositories">LinuxBeaver</a> and <a href="https://gitlab.com/barefootliam/gegl-pango-markup">Liam
Quin</a>.
For anyone interested, I suggest to read the 3-part
tutorial written by Liam (<a href="https://barefootliam.blogspot.com/2022/10/gegl-plug-ins-for-gimp-part-one-using.html">“Using <span class="caps">GEGL</span>
Plug-Ins”</a>,
<a href="https://barefootliam.blogspot.com/2022/12/gegl-plug-ins-for-gimp-part-two-gegl.html">“<span class="caps">GEGL</span>
Graph”</a>
and <a href="http://barefootliam.blogspot.com/2023/01/gegl-plug-ins-for-gimp-part-three.html">“Writing C
Plug-Ins”</a>).</p>
<h2 id="checking-items-in-gimp-roadmap">Checking items ✅ in <span class="caps">GIMP</span> roadmap<a class="headerlink" href="#checking-items-in-gimp-roadmap" title="Permanent link">¶</a></h2>
<p>We proudly checked-off several items in the <a href="https://developer.gimp.org/core/roadmap/#gimp-30-development-branch-roadmap"><span class="caps">GIMP</span> 3.0.0
roadmap</a>.</p>
<p>Amoung 2022 achievements, we indeed…</p>
<ul>
<li>✔ ported away from intltool to gettext only (<em>technical debt cleanup</em>);</li>
<li>✔ finished the meson build: the autotools build still exists but is now
considered secondary;</li>
<li>✔ finished the last pieces for multi-layer selection (a move <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#multi-layer-selection">started early
2020</a>).
including rewriting completely the interaction in the formerly terrible <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#align-and-distribute-tool-fully-reworked-interaction">align
and distribute tool</a>.</li>
</ul>
<p>These are 3 huge pieces in our roadmap which we happily marked as completed
(apart from probable bugs).</p>
<p>On the <em>getting closer</em> side:</p>
<ul>
<li>We nearly finished the “Less floating selection” move (some use cases remain,
which we need to think about more).</li>
<li>The Wayland support is still kinda wonky at times (even disregarding all the
issues we cannot do anything about — such as color management not implemented
yet in Wayland —, we have weird windowing issues), but it improved in 2022.</li>
<li>The <span class="caps">API</span> work is really moving forward; Lloyd Konneker helped a lot on this.</li>
<li>The <span class="caps">GTK</span>+3 port is nearly finished, as we are handling these days the last
annoying warnings (though it’s more a January 2023 thing!).</li>
<li>Space invasion: good parts of it were done since the <span class="caps">CMYK</span> push made us look at
specific pieces of code more in details. Though a lot still needs to be done
and color science is at times a very head-scratching part of the work.</li>
</ul>
<p>Now anyone following our <a href="https://www.gimp.org/news/">development news</a> knows
that a lot more happened.
This report is not going to repeat what we already wrote about in various news items.</p>
<p>One particular contributor to encourage this year is Nikc who came to us with a
few patches at first then proposed a <a href="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/">Google Summer of Code
project</a>, and decided
to stay around. Thanks to them, a lot happened for <span class="caps">CMYK</span> support in <span class="caps">GIMP</span> and our
“Space Invasion” project also moved forward further.
They are now a very prolific core contributor. This can only mean good stuff for
the future!</p>
<h2 id="packaging">Packaging<a class="headerlink" href="#packaging" title="Permanent link">¶</a></h2>
<p>Clearly our <strong>macOS</strong> support has never been better: good continuous
integration, automatic <span class="caps">DMG</span> package creation, and now we even got an <a href="https://www.gimp.org/news/2022/12/02/gimp-2.10.32-apple-silicon/">Apple
Silicon package</a>!
The quality of maintenance and updates for this package is outstanding.
Lukas Oberhuber is the one to thank for this. Yet the bus factor for our macOS
package remains extremely low so we always welcome more contributors.</p>
<p>On <strong>Windows</strong> side, <span class="caps">GIMP</span> is now officially distributed <a href="https://www.gimp.org/news/2022/06/18/gimp-2-10-32-on-microsoft-store/">on the Windows
Store</a>,
after getting contacted by a developer relations team at Microsoft. This is
great as too many non-trusted packages used to be distributed there and now they
seem to have mostly disappeared with the official one eclipsing them with its very
good rating.</p>
<p>On <strong>Flathub</strong> (<span class="caps">GNU</span>/Linux), the burden is getting lightened as we now got
automation in dependency version check, thanks to Ondřej Míchal. The flatpak
package team is also getting bigger, with 4 recurring contributors.</p>
<h2 id="infrastructure">Infrastructure<a class="headerlink" href="#infrastructure" title="Permanent link">¶</a></h2>
<p>We also got some infrastructure changes, such as our mirroring system, now based
on <em>Mirrorbits</em>. This is something I am planning to talk again about soon, so I
won’t go into details.</p>
<p>On community side, our mailing lists have been discontinued, together <a href="https://mail.gnome.org/archives/desktop-devel-list/2022-August/msg00004.html">with all
of <span class="caps">GNOME</span> mailing
lists</a>
whose infrastructure we are on. We now
<a href="https://www.gimp.org/discuss.html#forums">recommend</a> 2 forums for the community:</p>
<ul>
<li><a href="https://discuss.pixls.us/gimp/">forum hosted by pixls.us</a>, the community for Free/Open Source Photography.</li>
<li><a href="https://discourse.gnome.org/tag/gimp">forum hosted by the <span class="caps">GNOME</span> project</a>, the Free Software desktop by the <span class="caps">GNOME</span> Foundation.</li>
</ul>
<h2 id="websites">Websites<a class="headerlink" href="#websites" title="Permanent link">¶</a></h2>
<p>Our <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#documentation-website">documentation
website</a>
is getting a lot of love, thanks to Jacob Boerema, with automatic updates,
statistics showing… and of course, the contents is getting serious scrutiny to
improve documentation quality. Compared to 2021, there has been nearly double
the number of commits in 2022, which is revealing of the big step up.</p>
<p>Meanwhile we revived the <a href="https://www.gimp.org/news/2022/10/16/gimp-developer-website-rewrite/">developers
website</a>
which was in a dire state for over 10 years.</p>
<p>We still have a pending project to port the main website to the <em>Hugo</em> framework
as well. Unfortunately this could not happen in 2022.</p>
<h1 id="plans-for-2023">Plans for 2023<a class="headerlink" href="#plans-for-2023" title="Permanent link">¶</a></h1>
<h2 id="gimp-300"><span class="caps">GIMP</span> 3.0.0?<a class="headerlink" href="#gimp-300" title="Permanent link">¶</a></h2>
<p>I should not give dates, so don’t take it as a promise. Maybe it’s just a
foolish dream by a foolish man:
I am currently planning <strong><span class="caps">GIMP</span> 3.0.0 release in 2023, or at least our first
release candidates</strong>.</p>
<p>Here. I said it. If it doesn’t happen, remember that it was not a promise. 😜</p>
<p>There is still a lot to be done, so I hope I’m not making a fool of myself. But
at some point, not being able to release just gets frustrating. Of course, we
are still within acceptable development durations (<span class="caps">GIMP</span> 2.8 to 2.10 took 6
years; we are still in the 5th year since 2.10) but I really want to get it over with.</p>
<p>Now to get this deadline to work, I have decided to delay some elements out of
our <a href="https://developer.gimp.org/core/roadmap/#gimp-30">3.0 roadmap</a>. In particular:</p>
<ul>
<li>Extensions management: project dear to me as I started it and developed what
is already implemented, yet to get a safe online infrastructure to handle
extension search and download, we will need time.</li>
<li>Paint Select tool: very awesome tool, but its contributor, Thomas Manni, is
not happy with the performance (it requires instant canvas feedback to be
usable) and is currently investigating alternative algorithms.</li>
</ul>
<p>In the same time, I have been pushing aside some nice new code contributed to us
when I realize reviewing it and making back and forth corrections will take us
weeks. For instance, some of you may have seen the nice “<a href="https://www.youtube.com/watch?v=7M8R_yU7RhM">vector
layers</a>” demo by Nikc (based on
work by Hendrik Boom and Jacob Boerema) on social networks. This won’t make it
to <span class="caps">GIMP</span> 3.0.</p>
<p>This is a rule which I apply to my own code. Some people might indeed remember
my own <a href="https://www.youtube.com/watch?v=N5oyqbD7zyQ">link layer experiments</a> for
instance, which I stopped working on 2 years ago, already for the same reason.</p>
<p>These will still happen, I’m only moving these targets away into further
releases, which I’m explaining in the next section.</p>
<h2 id="rethinking-our-roadmaps">Rethinking our roadmaps<a class="headerlink" href="#rethinking-our-roadmaps" title="Permanent link">¶</a></h2>
<p>This leads me to an organizational work I’ve been doing lately on our roadmaps
and on planification of releases. Up to this day, you must have read a lot about
our bi-version planification: <strong><span class="caps">GIMP</span> 3.0</strong> for <span class="caps">GTK</span>+3 port then <strong>3.2</strong> for
advanced non-destructive editing.</p>
<p>While this second target is still definitely a big plan in our roadmap, I don’t
think that making it again a huge development cycle with dozens of features and
taking several years is the wisest thing. This old development model made sense
back in the day, but less nowadays in my opinion.</p>
<p>My goal for <span class="caps">GIMP</span> is to release more often, with faster development cycles, maybe
less features at once, yet nice features at each release. This is something I
had been pushing for, ever since 2014, when I was still a newcomer (I first
evoked that we should be able to publish new features even in micro versions in
a <a href="https://developer.gimp.org/conferences/lgm/2014-leipzig_germany/lgm_2014_minutes/#release-management">meeting during <span class="caps">LGM</span>
2014</a>).
This ultimately led to our <a href="https://www.gimp.org/release-notes/gimp-2.10.html#roadmap-and-whats-next">release policy
change</a>,
starting from <span class="caps">GIMP</span> 2.10.0. And this is what I want to continue pushing further.</p>
<p>So my point is that targetting for a “<span class="caps">GIMP</span> 3.2” somewhere in the distant future
doesn’t make sense anymore. The non-destructive editing features, such as
non-destructive layer effects, will happen, but will it be <span class="caps">GIMP</span> 3.2.0? Or some
3.0.x version instead? We’ll see. It’s all just numbers anyway. We may likely
break this down in smaller releases in the end.</p>
<p>With this in mind, I reviewed our after-3.0 roadmaps into smaller pieces,
per logical categories of projects we want and which will definitely happen.</p>
<ul>
<li>Link and vector layers are now into a new <a href="https://developer.gimp.org/core/roadmap/#non-destructive-layer-types">“non-destructive layer
types”</a>
category. The code is so well advanced that it would be a waste and while
these won’t make it to <span class="caps">GIMP</span> 3.0.0, it will definitely become one of the prime
targets immediately after release. Maybe in <span class="caps">GIMP</span> 3.0.2?<br/>
By the way, this also opens the door to the long-awaited shape features:
with vector layers, we could have non-destructive shape drawing.
I mean, on-canvas shapes should be a vector features to make it right!</li>
<li>Non-destructive <a href="https://developer.gimp.org/core/roadmap/#non-destructive-filters">layer
effects</a>
(formerly the main target for 3.2) is obviously a project on its own.</li>
<li><a href="https://developer.gimp.org/core/roadmap/#macros-script-recording">Macro</a>
support is also something we’ve wanted for a long time and with <span class="caps">GIMP</span> 3.0, we
have started to lay the foundations for this feature. This should hopefully
soon become a reality.</li>
<li><a href="https://developer.gimp.org/core/roadmap/#animation-and-multi-page-support">Animation
support</a>,
which as most of you know is something I’ve worked on for years, will have to
be in <span class="caps">GIMP</span> someday. So it’s also its own category. It will also bring
multi-page support (not just layers as pages).</li>
<li>Our <a href="https://developer.gimp.org/core/roadmap/#extensions">extension platform</a>
is still very much planned!</li>
<li>The <a href="https://developer.gimp.org/core/roadmap/#space-invasion">Space Invasion</a>
project will continue: for 3.0, we focus on correctness of color models we
already support; after 3.0, we might look into going further with new color
models backends, such as core <span class="caps">CMYK</span> or L*a*b* support, but also spot color
channels and whatnot…</li>
<li>We have now a bunch of unfinished <a href="https://developer.gimp.org/core/roadmap/#tools">tools</a>
in our playground area and it would be good if we took the time to finish
them. Of course, we also have ideas for nice new tools. And finally there are
tools which we really want to improve, such as our Text tool which deserves
more love.</li>
<li>Finally we have started to enhance the concept of
“<a href="https://developer.gimp.org/core/roadmap/#canvas">canvas</a>“, with the “Show
all” feature since <a href="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/#out-of-canvas-viewing-and-editing"><span class="caps">GIMP</span>
2.10.14</a>.
We always wanted to go further, and also to rework the concept of layer
dimension (e.g. with auto-growing layers, or even infinite layer abilities).</li>
<li>…</li>
</ul>
<p>And this is how I completely rewrote our roadmap page. Hopefully some people
will enjoy reading the new page and will find it exciting. Note that contents
didn’t change that much, except that it has been reorganized to put more
emphasis on the bigger strokes for <span class="caps">GIMP</span> evolution after <span class="caps">GIMP</span> 3.0 release, making
it more obvious (hopefully) which direction current contributors are pushing
<span class="caps">GIMP</span> to go.</p>
<h1 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">¶</a></h1>
<p>This is where we are at. I’m expecting 2023 to be an eventful year. 2022 has
been quite awesome too, but also tiring to the point that there were weeks when
I couldn’t work on anything, especially soon after coding bursts for releases. I
also focused a bit more on getting healthier work habits, such as working with a
height-adjustable desk (for sitting and standing work sessions) and doing
regular walks.</p>
<p>This is also why I work on procedures to get faster releases, better
infrastructure and better documentation for onboarding new contributors. I am
aiming for a more organized path while keeping the slightly 🌪️ chaotic ❤️🔥 core
which really makes working in our team so enjoyable. ☺️</p>
<p>As I was saying in last year’s report, <span class="caps">GIMP</span> is not only a <strong>Free Software</strong>, it
is also a <strong>Community Software</strong>: random human beings doing something nice
together and sharing it with everyone. Why? Because we can, because we want. And
that’s why I love our small community, with just the right amount of chaos and
insanity, sparkled with just the right amount of organization!</p>
<p>Finally don’t forget you can <a href="https://www.gimp.org/donating/">💌 donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, <strong>myself as
maintainer of <span class="caps">GIMP</span> (through “ZeMarmot” project) and Øyvind as maintainer of <span class="caps">GEGL</span>
are crowdfunding the work this report is about.</strong>
Any support is appreciated to help us succeed in such endeavour.</p>
<p>I wish you all a happy, funny 🥳 and healthy year 2023 and/or year of the rabbit 🐇!</p>GIMP 2.10.32 on Apple Silicon2022-12-02T00:00:00+01:002022-12-02T00:00:00+01:00Jehantag:www.gimp.org,2022-12-02:/news/2022/12/02/gimp-2.10.32-apple-silicon/<p>The first package of a stable version of <span class="caps">GIMP</span> for Apple Silicon is available!</p><p>It is a bit of an early Chistmas 🎅 for people using Apple Silicon machines
(Apple M1, M2…) as we release for the first time ever a stable version of <span class="caps">GIMP</span>
for this architecture!</p>
<p>It is a revision package for <span class="caps">GIMP</span> 2.10.32, already released a <a href="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/">few months
ago</a>, re-built with
our new <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#macports-based-builds">MacPorts-based
infrastructure</a>
on both <code>x86_64</code> (“macOS on Intel” architecture) and <code>AArch64</code> (“macOS on Apple Silicon”).</p>
<p>Note that we provide 2 <span class="caps">DMG</span> packages now, one for each architecture, not a single
universal package. The website will try and detect which architecture you are
on, but if it fails to detect properly (detection is not as easy on some
browsers), be careful to choose the version for the correct hardware (“<em>for
Intel</em>” or “<em>for Apple Silicon</em>“).</p>
<p>Additionally in this revised package, dependencies have been updated, in
particular babl and <span class="caps">GEGL</span>. It means that even for macOS on Intel, you will get
the <a href="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/#babl-and-gegl">recent
fix</a>
to the race condition bug which was sometimes causing crashes of <span class="caps">GIMP</span> (somehow
we mostly saw it happen on macOS).</p>
<p>This is why we recommend every person on macOS (whichever your hardware) to
update <span class="caps">GIMP</span> with this revision 1 of <span class="caps">GIMP</span> 2.10.32.</p>
<p>As usual, get these updates on <a href="/downloads/"><span class="caps">GIMP</span>’s download page</a>!</p>Happy 27!2022-11-21T00:00:00+01:002022-11-21T00:00:00+01:00Jehantag:www.gimp.org,2022-11-21:/news/2022/11/21/gimp-27-birthday/<p>Happy 27th birthday to the <span class="caps">GNU</span> Image Manipulation Program</p><p>Today, on 21<sup>st</sup> of November 2022, the <strong><span class="caps">GNU</span> Image Manipulation Program
turned 27</strong> (cf. the <a href="https://www.gimp.org/about/prehistory.html#november-1995-an-announcement">first release announcement on
1995-11-21</a>).</p>
<p>To celebrate, <a href="https://film.zemarmot.net/">Aryeom (<em>ZeMarmot</em>‘s director)</a> drew
this nice birthday illustration (fully drawn within <span class="caps">GIMP</span>, and under Creative
Commons by-sa 4.0 license, of course!):</p>
<figure>
<a href="https://www.gimp.org/news/2022/11/21/gimp-27-birthday/gimp-27th-birthday.jpg">
<img src="https://www.gimp.org/news/2022/11/21/gimp-27-birthday/gimp-27th-birthday.jpg" alt="Happy 27th birthday! - Wilber and co. comics strip by Aryeom"/>
</a>
<figcaption>
<em>“Happy 27th birthday!” by <a href="https://film.zemarmot.net">Aryeom</a>
(also a <a href="https://www.gimp.org/news/2022/11/21/gimp-27-birthday/gimp-27th-birthday-bg.jpg">Wilber-less version</a> as
temporary gimp.org header), Creative Commons by-sa 4.0</em> </figcaption>
</figure>
<p>For both Aryeom and I (Jehan), this is our tenth year of continued contribution,
since a first <em>commit</em> in September 2012 (basic icon-changing patch in the
animation playback plug-in, soon followed by more… many more patches…). Back
then, never would we have imagined sticking for so long around this nice core
community (regarding this point, we thank the other contributors for their
welcomeness, and in particular the wonderful
<a href="https://www.gimp.org/news/2017/03/01/an-interview-with-michael-natterer-gimp-maintainer/">mitch</a>)
and contributing litterally thousands of patches in <span class="caps">GIMP</span>! So it’s also a pretty
big personal milestone.</p>
<p>It is also my second year maintaining <span class="caps">GIMP</span>. And to be fair, Aryeom has a huge
role in my maintenance with constant reviewing, testing my code (and other
contributor’s code), following up with feedback, specifying behaviors (while
always caring about others’ usage! One of her main rule when she helps designing
changes is researching and wondering what worflows others have). So much is
being done in the shadow to keep it all together.</p>
<p>But <span class="caps">GIMP</span> is not only us. What would we do without Øyvind Kolås in particular?
Nowadays he is carrying most of our core flow-based graphics engine maintenance,
<a href="https://gegl.org/"><span class="caps">GEGL</span></a>, and its sister projects (<a href="https://gegl.org/babl/">babl</a>
and <a href="https://ctx.graphics/">ctx</a>).</p>
<p>Of course, I can’t forget all other awesome contributors: developers, packagers,
community support, translators (<span class="caps">GIMP</span> is more than 90% translated in <a href="https://l10n.gnome.org/module/gimp/">27
languages</a> among 84 languages we currently
support!), documenters, website contributors, tutorial writers… We should also
thank the <span class="caps">GNOME</span> Infrastructure team for being so helpful of course. And many
many more! What would <span class="caps">GIMP</span> be without all of you? 💌</p>
<p>I will likely do a more detailed report later (like I did <a href="https://gimp.org/news/2021/12/31/gimp-2021-annual-report/">last
year</a>) to sum up 2022
events, so I’ll stay short in this news. For once!</p>
<p>All in all, we wish to remind that <strong><span class="caps">GIMP</span> is Community, Free Software</strong>. It
is what <a href="https://www.gimp.org/develop/">we make of it together</a>. We welcome
contributors very warmly 🤗!</p>
<p>Finally if you can’t contribute your time, in these year-end times of giving, don’t forget
that you may <a href="https://www.gimp.org/donating/"><strong>support financially <span class="caps">GIMP</span> developers</strong></a>.
<span class="caps">GIMP</span> project actively supports its contributors willing to make a living with
their Free Software contribution. Right now it means 3 people: Aryeom and myself
(through <em>ZeMarmot</em> project) as <a href="https://www.patreon.com/zemarmot"><span class="caps">GIMP</span> maintainers</a>
and Øyvind as <a href="https://www.patreon.com/pippin"><span class="caps">GEGL</span> maintainer</a>. If you
appreciate what we do and wish to <strong>give back</strong>, funding us is an excellent way.
It is part of what makes <span class="caps">GIMP</span> development sustainable.</p>
<p>And for everyone who is really eager to see <strong><span class="caps">GIMP</span> 3.0</strong> out, it should go
without saying that funding developers is what accelerates the development of
<span class="caps">GIMP</span>.</p>
<p>🎁 <strong>So <span class="caps">GIMP</span>, and
<a href="https://www.gimp.org/about/linking.html#wilber-the-gimp-mascot">Wilber</a>, we wish you a very happy 27!</strong> 🎂</p>
<p>And to every member of the community: <strong>thank you all for sticking with this
project for all or part of these 27 years!</strong> <span class="caps">GIMP</span> would not be where it is today
without all of you! 💌</p>Development version: GIMP 2.99.14 Released2022-11-18T00:00:00+01:002022-11-18T00:00:00+01:00Jehantag:www.gimp.org,2022-11-18:/news/2022/11/18/gimp-2-99-14-released/<p>Release news for development version <span class="caps">GIMP</span> 2.99.14</p><p>The <span class="caps">GIMP</span> team is happy to release <span class="caps">GIMP</span> 2.99.14 with a lot of nice milestones on
the route to <span class="caps">GIMP</span> 3.0.</p>
<p>We are getting into deep changes, so we hope you will all test thoroughly and
we remind you that it is an unstable version meant for testing and reporting issues.</p>
<div class="toc">
<ul>
<li><a href="#tools">Tools</a><ul>
<li><a href="#align-and-distribute-tool-fully-reworked-interaction">Align and Distribute tool: fully reworked interaction</a></li>
<li><a href="#text-tool-new-outline-options">Text tool: new outline options</a></li>
<li><a href="#transform-tools-activated-automatically">Transform tools activated automatically</a></li>
</ul>
</li>
<li><a href="#usability-and-user-interface">Usability and User Interface</a><ul>
<li><a href="#floating-selection-concept-reviewed">Floating selection concept reviewed</a></li>
<li><a href="#copy-paste-re-specified">Copy-paste re-specified</a></li>
<li><a href="#new-gray-theme">New “Gray” theme</a></li>
<li><a href="#theme-override-icon-size-settings">Theme override icon size settings</a></li>
</ul>
</li>
<li><a href="#core-changes">Core changes</a><ul>
<li><a href="#much-faster-xcf-save">Much faster <span class="caps">XCF</span> save</a></li>
<li><a href="#vectors-paths-structure-in-xcf">Vectors (paths) structure in <span class="caps">XCF</span></a></li>
<li><a href="#moving-to-gapplication-and-gtkapplication">Moving to GApplication and GtkApplication</a></li>
</ul>
</li>
<li><a href="#file-format-support">File format support</a><ul>
<li><a href="#pdf"><span class="caps">PDF</span></a></li>
<li><a href="#avif"><span class="caps">AVIF</span></a></li>
<li><a href="#psd"><span class="caps">PSD</span></a></li>
<li><a href="#jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span></a></li>
<li><a href="#icns"><span class="caps">ICNS</span></a></li>
<li><a href="#tiff"><span class="caps">TIFF</span></a></li>
</ul>
</li>
<li><a href="#api"><span class="caps">API</span></a></li>
<li><a href="#macos">macOS</a><ul>
<li><a href="#pointer-click-bug-with-macos-ventura">Pointer click bug with macOS Ventura</a></li>
<li><a href="#gimp-has-an-apple-silicon-package"><span class="caps">GIMP</span> has an Apple Silicon package!</a></li>
<li><a href="#macports-based-builds">MacPorts-based builds</a></li>
<li><a href="#https-for-the-update-check"><span class="caps">HTTPS</span> for the update check</a></li>
</ul>
</li>
<li><a href="#build-and-documentation">Build and documentation</a><ul>
<li><a href="#meson-message-to-packagers">meson (message to packagers)</a></li>
<li><a href="#api-reference-tarball"><span class="caps">API</span> reference tarball</a></li>
</ul>
</li>
<li><a href="#babl-and-gegl">babl and <span class="caps">GEGL</span></a></li>
<li><a href="#team-news">Team news</a></li>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#downloading-gimp-29914">Downloading <span class="caps">GIMP</span> 2.99.14</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/f7f92b61e1d703ac4bf878b305019c98674c4745/NEWS#L9"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</p>
<h2 id="tools">Tools<a class="headerlink" href="#tools" title="Permanent link">¶</a></h2>
<h3 id="align-and-distribute-tool-fully-reworked-interaction">Align and Distribute tool: fully reworked interaction<a class="headerlink" href="#align-and-distribute-tool-fully-reworked-interaction" title="Permanent link">¶</a></h3>
<p>The Alignment tool was very hard to use, with complicated on-canvas interaction
to select the target items (and never being too sure if we selected right!).
Thanks to the core <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#multi-layer-selection">multiple layer
selection</a>
which <span class="caps">GIMP</span> is now capable of, we greatly simplified the tool:</p>
<ul>
<li>Target items to align or distribute are now the selected layers and/or paths
in their respective dockable, as set in the “Targets” section in tool options.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-alignment-targets.png" alt="GIMP 2.99.14: alignment tool target selection"/>
<figcaption>
<em>Targets in alignment tool options - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<ul>
<li>For layers in particular, a new option “<em>Use extents of layer contents</em>” allow
to align or distribute target layers based on their pixel contents, not the
layer bounds (which typically might be bigger than the pixel data). This is
similar to running “<em>Crop to Content</em>” before aligning, except that we don’t
actually crop.</li>
<li>Guides still need to be selected on-canvas if you want to align or distribute
them. The tool options hints at the modifiers: <code>Alt</code> or <code>Shift-Alt</code>. Moreover
the selected guide color will change, giving a visual feedback of selected guides.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-align-guides.gif" alt="GIMP 2.99.14: aligning and distributing guides (screencast)"/>
<figcaption>
<em>Aligning and distributing guides - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<ul>
<li>Simple clicks (no modifiers) in the canvas is now only used to pick the
reference object for alignment, if “<em>Picked reference object</em>” is set in the
“<em>Relative to</em>” dropdown menu. In such case, you can pick as reference any
layer, path or guide. The 2 other dropdown choices are “<em>Image</em>” and
“<em>Selection</em>” in order respectively to use the current image or selection as
alignment reference.</li>
<li>Your reference object shows on-canvas handles as visual feedback.</li>
<li>In the “Targets” section of the tool options, you can also choose your item
anchor points: left, right, top, bottom and center. Therefore if you align
2-dimension targets and reference, you may align e.g. the left side of targets
to the left, middle or right side of your reference. Any combination is possible.</li>
<li>The distribute actions do not use the reference object anymore. Instead they
use the leftest/rightest or top/bottom object as reference (i.e. that the 2
extreme position targets don’t move). This is consistent with how other
software, e.g. Inkscape, handle distribution.</li>
<li>
<p>2 types of distribution actions are proposed:</p>
<ul>
<li><em>Distribute anchor points evenly in the horizontal/vertical</em>: the distance
between the anchor point of each target stays the same, e.g. the distance
between the left side of each object.</li>
<li><em>Distribute horizontally/vertically with even horizontal/vertical gaps</em>:
the distance between the right side of one object and the left side of the
next (in horizontal distribution) statys the same.</li>
</ul>
</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-align-items.gif" alt="GIMP 2.99.14: aligning and distributing layers (screencast)"/>
<figcaption>
<em>Align <a
href="https://www.gimp.org/about/linking.html#wilber-the-gimp-mascot">Wilber</a>
and <a href="https://film.zemarmot.net/">ZeMarmot</a> relatively to Wilber’s
center point, then objects tops under Wilber, before distributing them - <span class="caps">GIMP</span>
2.99.14</em>
</figcaption>
</figure>
<h3 id="text-tool-new-outline-options">Text tool: new outline options<a class="headerlink" href="#text-tool-new-outline-options" title="Permanent link">¶</a></h3>
<p>The Text tool now gains non-destructive outline and fill options.</p>
<p>This is implemented as a new “Style” setting in the tool options, with 3 choices:</p>
<ul>
<li><em>Filled</em>: the original style;</li>
<li><em>Outlined</em>: you can choose an outline color or pattern, antialiasing, a line
width and style. The character inside will be see-through.</li>
<li><em>Outlined and filled</em>: identical to “<em>Outlined</em>” except for the fact that
characters inside will be filled by the text color.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-text-outline.gif" alt="GIMP 2.99.14: outline feature in text tool options (screencast)"/>
<figcaption>
<em>Outline feature in text tool options - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<h3 id="transform-tools-activated-automatically">Transform tools activated automatically<a class="headerlink" href="#transform-tools-activated-automatically" title="Permanent link">¶</a></h3>
<p>All transform tools (Unified Transform, Rotate, Scale…) needed an explicit click
on canvas before their handle showed up on the canvas when activated with the
tool box or shortcut, which was not consistent with their activation through the
Tools menu, and with how some other tools worked.</p>
<p>As this change was requested, we decided to experiment with directly activating
the handles as soon as the tool is selected.</p>
<h2 id="usability-and-user-interface">Usability and User Interface<a class="headerlink" href="#usability-and-user-interface" title="Permanent link">¶</a></h2>
<h3 id="floating-selection-concept-reviewed">Floating selection concept reviewed<a class="headerlink" href="#floating-selection-concept-reviewed" title="Permanent link">¶</a></h3>
<p>The “Floating selection” concept has been a huge topic across the years,
especially because it was quite unexpected by many people.</p>
<p>After discussing the matters, we came to the conclusion that we should
experiment limiting its usage.</p>
<p>Nevertheless we are also deeply aware that this feature can be a huge time saver
and a much better interface for some types of interaction. In particular, the
quick on-canvas copy|cut-paste with the <code>Alt</code> modifier (<code>Ctrl-Alt</code> to cut-paste
or <code>Shift-Alt</code> to copy-paste) heavily relies on the floating selection to
extremely quickly move bits of a layer.
Obviously the explicit “<em>Float</em>” action (equivalent to a cut-paste) is in a
similar situation.</p>
<p>For pasting inside a layer mask, it is even mandatory because it allows to edit
the pasted data — e.g. positioning appropriately, transforming it… — before
actually merging into the mask which may already contain mask data. Note that if
some day, layers were allowed to contain several masks, this would not be
necessary anymore.</p>
<p>For this reason, the 3 cases where we still have floating items are:</p>
<ul>
<li>when pasting into a layer mask;</li>
<li>when doing quick copy|cut-paste on canvas with the <code>Alt</code> modifiers;</li>
<li>when floating layers explicitly with the “<em>Float</em>” action.</li>
</ul>
<p>There is still a case which we need to discuss as it also creates floating
selections: transform tools when there is a selection.
For other common types of data pasting, they will now create new layers directly.</p>
<p>As a side change, when the “floating selection” happens on a layer mask, we now
call it “floating mask” and shows it above the mask in the Layers dockable (it
used to be above the layer at all times). This should make this specific case
less confusing.</p>
<h3 id="copy-paste-re-specified">Copy-paste re-specified<a class="headerlink" href="#copy-paste-re-specified" title="Permanent link">¶</a></h3>
<p>In the light of multi-layer selection, we have been wondering how the various
types copy-paste cases should work. In particular when copying several layers,
should you paste several layers or a merged copy? And when copying pieces
(through a selection) of several layers?</p>
<p>This is still a
<a href="https://developer.gimp.org/core/specifications/copy-paste/">work-in-progress</a>
but we are trying to properly specify consistent and reasonable behavior for the
many sub-cases. In particular now, we always paste as many layers as was copied,
even when we copied from a selection (in which case, the new layers will be the
size of the selection bounding box).</p>
<p>For the merging case, we add 2 new actions called “<em>Paste as Single Layer</em>” and
“<em>Paste as Single Layer in Place</em>” in the <code>Edit > Paste as</code> submenu. As the
names imply, they paste the merged down version of your copied contents. It’s a
bit similar to “Copy Visible”, except that it only applies to the selected
layers and can be chosen at paste time.</p>
<h3 id="new-gray-theme">New “Gray” theme<a class="headerlink" href="#new-gray-theme" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now comes with a “Gray” theme based on a 18.42% luminance middle-gray
background, which should be a good neutral environment for professionnal color work.</p>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-gray-theme.jpg" alt="GIMP 2.99.14: gray theme"/>
<figcaption>
<em>Focusing on your artwork color with a middle-gray 18.42% luminance theme - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<h3 id="theme-override-icon-size-settings">Theme override icon size settings<a class="headerlink" href="#theme-override-icon-size-settings" title="Permanent link">¶</a></h3>
<p>We now provide a theme-override icon size selection in <code>Preferences > Themes</code>
with conceptual sizes: small, medium, large and huge. The following widgets are
so far modified: toolbox icons, fg/bg editor in toolbox, foreground/background
editor in Colors dockable, dockables tab icons, bottom buttons (in the button
box) of dockables, header eye and lock icons above item trees, and eye and lock
icon switches in item tree cells.</p>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-icon-size-override.gif" alt="GIMP 2.99.14: override theme icon sizes"/>
<figcaption>
<em>Overriding theme-set icon sizes - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<p>You may recall that we have a similar setting in <span class="caps">GIMP</span> 2.10 stable branch, which
was initially removed for <span class="caps">GIMP</span> 3.0, because our updated toolkit has high-density
display awareness and will already resize all the interface following your
“scale factor” settings (as set in your system).
Nevertheless we realized it was not enough. First of all, because this single
settings cannot take all special cases into consideration and some people still
wanted even bigger icons because they were watching their display from far away,
or simply prefered small icons, or any other reason.</p>
<p>This is the rationale for adding this override of icon size, thus bypassing the
system settings. As a nice aside, it will work with any theme. So you don’t have
to discard a theme you appreciate just because the chosen icons are not the size
you want.</p>
<h2 id="core-changes">Core changes<a class="headerlink" href="#core-changes" title="Permanent link">¶</a></h2>
<h3 id="much-faster-xcf-save">Much faster <span class="caps">XCF</span> save<a class="headerlink" href="#much-faster-xcf-save" title="Permanent link">¶</a></h3>
<p>Saving with <span class="caps">RLE</span> (default) and zlib (the “<em>better but slower compression</em>”
checkbox in the Save dialog) is now multi-threaded (following the settings in
Preferences), which makes it a lot faster.</p>
<p>In the best case scenario, we saw up to 70% save time (e.g. a 276-layer, 115MiB,
was reliably saved in about 50 seconds before, and 15 seconds after the change,
on the same test machine), though other tests would be around 1/3 save time
(another 180MiB <span class="caps">XCF</span> was saving in 1m30s before and 1min after the change on a
same machine). On any case, it’s a great news for people working on big images,
who hopefully won’t have to wait so long. Or even small images anyway!</p>
<p>This work was initially contributed by suzu_11 and further improved upon.</p>
<h3 id="vectors-paths-structure-in-xcf">Vectors (paths) structure in <span class="caps">XCF</span><a class="headerlink" href="#vectors-paths-structure-in-xcf" title="Permanent link">¶</a></h3>
<p>A further change in the <span class="caps">XCF</span> format, which warranted bumping the format version,
was that paths now have a proper structure in the <span class="caps">XCF</span> specification instead of
just being “properties” on images.</p>
<p>What it means especially is that the <span class="caps">XCF</span> format will now store locks and color
tags on paths, but also the path selection (whether several paths were selected
in their dockable). It will also make path items easier to evolve in the future
as we add new features, instead of being stuck on some old, outdated and
non-evolvable format.</p>
<p>As an aside, the <span class="caps">XCF</span> format specification had been stored inside the source
repository ever since 1997 (2006 in its detailed version). We moved the file to
the new developer website:
<a href="https://testing.developer.gimp.org/core/standards/xcf/"> Documentation of the <span class="caps">XCF</span> file format </a>.
It should make it easier to read, with markdown formatting and generated table
of contents.</p>
<h3 id="moving-to-gapplication-and-gtkapplication">Moving to <code>GApplication</code> and <code>GtkApplication</code><a class="headerlink" href="#moving-to-gapplication-and-gtkapplication" title="Permanent link">¶</a></h3>
<p>This is a technical information which possibly only developers would understand:
the main process is now run as a <code>GimpApp</code> which is a new class derived from
<code>GtkApplication</code>. The main process of <code>gimp-console</code> on the other hand is a
<code>GimpConsoleApp</code> which is derived from <code>GApplication</code>. Both new classes share a
same <code>GimpCoreApp</code> interface.</p>
<p>This is a main step for the <span class="caps">GTK</span>+3 port as it should allow us to work with
<code>GMenu</code> next.</p>
<h2 id="file-format-support">File format support<a class="headerlink" href="#file-format-support" title="Permanent link">¶</a></h2>
<h3 id="pdf"><span class="caps">PDF</span><a class="headerlink" href="#pdf" title="Permanent link">¶</a></h3>
<p>Among other improvements, the <span class="caps">PDF</span> export now provides an option “<em>Root layers
only</em>” available when “<em>Layers as pages</em>” is checked.</p>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-pdf-root-layers.png" alt="GIMP 2.99.14: root layers only option in PDF export"/>
<figcaption>
<em>Root layers only option in <span class="caps">PDF</span> export - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<p>This option considers root layers only as <span class="caps">PDF</span> pages, and not their children,
which means you can more cleanly organize your <span class="caps">PDF</span> pages into layer groups.</p>
<h3 id="avif"><span class="caps">AVIF</span><a class="headerlink" href="#avif" title="Permanent link">¶</a></h3>
<p>We improved <span class="caps">AVIF</span> compatibility with Safari on iOS 16.0. Some <span class="caps">AVIF</span> images are
indeed rendered differently in Apple’s implementation compared to implementations
of Google and Mozilla (See <a href="https://github.com/AOMediaCodec/av1-avif/issues/195">upstream report</a>).</p>
<p>This changes requires libheif 1.10.0 though the plug-in can still build with
older libheif.</p>
<h3 id="psd"><span class="caps">PSD</span><a class="headerlink" href="#psd" title="Permanent link">¶</a></h3>
<p>Two important changes were implemented:</p>
<ul>
<li>export of <span class="caps">CMYK</span>(A) files added, with 8 or 16-bit precision per channel, using a
<span class="caps">CMYK</span> soft-proof profile for conversion.</li>
<li>Paths are now exported with <span class="caps">PSD</span> files.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-psd-cmyk.png" alt="GIMP 2.99.14: CMYK PSD export"/>
<figcaption>
<em>Exporting <span class="caps">PSD</span> images as <span class="caps">CMYK</span> using the soft-proof profile - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<p>As a reminder, proper <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#export-formats-with-new-or-improved-cmyk-support"><span class="caps">CMYK</span> <span class="caps">PSD</span>
import</a>
was improved in <span class="caps">GIMP</span> 2.99.12, storing the <span class="caps">CMYK</span> profile from the <span class="caps">PSD</span> as
soft-proof profile, making round-trips easier (passing through a <span class="caps">RGB</span> conversion
in <span class="caps">GIMP</span>).</p>
<h3 id="jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span><a class="headerlink" href="#jpeg-xl" title="Permanent link">¶</a></h3>
<p>Metadata import and export are now supported.</p>
<h3 id="icns"><span class="caps">ICNS</span><a class="headerlink" href="#icns" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now has initial support for loading and exporting <abbr title="Apple Icon
Image"><span class="caps">ICNS</span></abbr> files, the icon format by Apple.</p>
<p>It will also warn you when one of your layer is not a valid icon size for the
<span class="caps">ICNS</span> format.</p>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-icns-support.png" alt="GIMP 2.99.14: ICNS support"/>
<figcaption>
<em><span class="caps">ICNS</span> support - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<h3 id="tiff"><span class="caps">TIFF</span><a class="headerlink" href="#tiff" title="Permanent link">¶</a></h3>
<p>The <span class="caps">TIFF</span> format has a concept of “reduced page”. Until now, we were assuming
pages tagged as “reduced” to be thumbnails. Yet this is not always the case. For
instance we had feedbacks from makers of medical devices which were using
“reduced pages” as sub-sampled images generated by said devices. They needed
<span class="caps">GIMP</span> to be able to load all the pages as layers (the main images and the
sub-sampled ones).</p>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-import-tiff-reduced.gif" alt="GIMP 2.99.14: importing reduced pages of TIFF files"/>
<figcaption>
<em>Importing reduced pages of <span class="caps">TIFF</span> files - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<p>This is why we added a new option called “<em>Show reduced images</em>” which lets you
decide whether you want to load these or not. The option will be checked by
default through a small heuristic: if there is only 1 reduced page and it’s in
the second position, then it’s probably a thumbnail (as per common usage across
software); in which case we disable the checkbox by default. Still in the end,
the choice is yours!</p>
<h2 id="api"><span class="caps">API</span><a class="headerlink" href="#api" title="Permanent link">¶</a></h2>
<p>Several <span class="caps">API</span> improvements are present in this release:</p>
<ul>
<li>We have a better <code>GimpPickButton</code> implementation for Windows, which should
work better than the existing implementation, thanks to Luca Bacci.</li>
<li>Text layers now have a dedicated class <code>GimpTextLayer</code>.</li>
<li>Various functions were added to get lists of selected items (as per 2.99
ability to select multiple items).</li>
<li><code>gimp_vectors_stroke_translate()</code> now uses <code>double</code> offsets (instead of integer).</li>
<li>
<p>There is a new function <code>gimp_text_layer_set_markup()</code>, contributed by Ian
Munsie, which allows to set <a href="https://docs.gtk.org/Pango/pango_markup.html">Pango
markup</a> directly in text layers.
It is a powerful function because it allows to render texts even with features
not supported in the text tool <abbr title="Graphical User
Interface"><span class="caps">GUI</span></abbr>.</p>
<p>For instance, this is a text layer with a double underline and an overline
on “<em>Hello</em>“, “<em>under</em>” in subscript, and “<em>2</em>” in superscript all of which
are supported features in Pango, but not in our text tool <span class="caps">GUI</span>, as set
through the Python binding of our <span class="caps">API</span>:</p>
<p><code>txt_layer.set_markup('<span underline="double" overline="single">Hello</span> <sub>under</sub>world<sup>2</sup>')</code></p>
<p>As a note of interest, any styling unsupported by the <span class="caps">GUI</span> will be discarded
if you edit the text layer through the <span class="caps">GUI</span>.</p>
</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/11/18/gimp-2-99-14-released/gimp-2.99.14-text-layer-set-markup.png" alt="GIMP 2.99.14: text layer styled with gimp_text_layer_set_markup()"/>
<figcaption>
<em>Text layer styled with <code>gimp_text_layer_set_markup()</code> - <span class="caps">GIMP</span> 2.99.14</em>
</figcaption>
</figure>
<p>Though this release is not the most packed with <span class="caps">API</span> changes, a lot of background
work is in-progress and in particular Lloyd Konneker is very actively
participating to the work. We should hopefully see the result in the next
development release.</p>
<h2 id="macos">macOS<a class="headerlink" href="#macos" title="Permanent link">¶</a></h2>
<p>Though the macOS build, still has some issues, major advances happened on macOS
side, thanks to Lukas Oberhuber, once again.</p>
<h3 id="pointer-click-bug-with-macos-ventura">Pointer click bug with macOS Ventura<a class="headerlink" href="#pointer-click-bug-with-macos-ventura" title="Permanent link">¶</a></h3>
<p>Let’s start with the one bad news (before going to the good ones): there seems
to be a major hover and click bug in <span class="caps">GTK</span> on macOS Ventura, the last version of
macOS released a few weeks ago. It basically makes all <span class="caps">GTK</span>+3 application
unusable, including <span class="caps">GIMP</span>. Every new release of this operating system seems to
bring its load of (bad) surprises! 😓</p>
<p>As of now, no solutions exist yet as <span class="caps">GTK</span> developers are still looking for the
cause. In any case, you may want to hold onto updating your <span class="caps">OS</span> if some <span class="caps">GTK</span>+3
applications (e.g. <span class="caps">GIMP</span>, Inkscape, Siril…) are a major part of your workflow.</p>
<h3 id="gimp-has-an-apple-silicon-package"><span class="caps">GIMP</span> has an Apple Silicon package!<a class="headerlink" href="#gimp-has-an-apple-silicon-package" title="Permanent link">¶</a></h3>
<p>The biggest news is that we now have a <span class="caps">DMG</span> package for Apple Silicon machines
(M1, M2…)! 🥳</p>
<p>Be careful, you should take this as an <strong>experimental</strong> 🥼 package of an
<strong>experimental</strong> 🧪 <span class="caps">GIMP</span> version. So issues are expected. As usual, we welcome
any <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">issue
report</a> you would get with <span class="caps">GIMP</span>
(on macOS or any other platform by the way).</p>
<h3 id="macports-based-builds">MacPorts-based builds<a class="headerlink" href="#macports-based-builds" title="Permanent link">¶</a></h3>
<p>The second big change on macOS land, less visible yet quite major as an
infrastructure change: Lukas ported the build to <code>MacPorts</code> away from the
historical <code>JHBuild</code> scripts.</p>
<p>The main reason was that we could take advantage of the bigger “port”
maintaining community for our dependencies, instead of building everything
ourselves. This can be compared to using <code>MSYS2</code> on Windows or the runtime
system of flatpak. This improves the build time, but also the maintenance load
as Lukas is still alone to maintain all this.</p>
<p>The drawbacks are that it makes it a bit harder to tweak dependencies when
needed (as usual when you rely on an upstream), but also that the <span class="caps">DMG</span> packages
are now bigger in file size. This is unfortunate, but considering that the
alternative might be to wear our macOS maintainer out and have no package at
all, we consider it to be worth it.</p>
<h3 id="https-for-the-update-check"><span class="caps">HTTPS</span> for the update check<a class="headerlink" href="#https-for-the-update-check" title="Permanent link">¶</a></h3>
<p>The “update check” — i.e. the ability to verify if new versions of <span class="caps">GIMP</span> were
released, i.e. that you are running outdated <span class="caps">GIMP</span> — was never working on macOS
because of the lack of <span class="caps">HTTPS</span> support for macOS in <code>GIO</code>, our backend library to
handle all input/output transparently.</p>
<p>Lukas Oberhuber implemented a work-around for this, based on a macOS system <span class="caps">API</span>
(no additional dependency), which we may backport later to <code>GIO</code>. Maybe macOS
will eventually have the ability to open <span class="caps">HTTPS</span> remote images at some point!</p>
<h2 id="build-and-documentation">Build and documentation<a class="headerlink" href="#build-and-documentation" title="Permanent link">¶</a></h2>
<h3 id="meson-message-to-packagers">meson (message to packagers)<a class="headerlink" href="#meson-message-to-packagers" title="Permanent link">¶</a></h3>
<p>As told when <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#meson-message-to-packagers">releasing <span class="caps">GIMP</span>
2.99.12</a>,
we entered an intensive testing phase for our meson build. We received useful
reports and feedbacks, which allowed us to get the meson build even closer to finalization.</p>
<p>This release might be the last one when we will provide both an autotools and
meson tarball for packagers. If all goes well, we may decide to phase out our
autotools build after <span class="caps">GIMP</span> 2.99.14, and only provide a meson tarball.</p>
<p>So if any packager finds any issue, please, now is the time to tell us about it!</p>
<h3 id="api-reference-tarball"><span class="caps">API</span> reference tarball<a class="headerlink" href="#api-reference-tarball" title="Permanent link">¶</a></h3>
<p>Our developer website now provides online <a href="https://developer.gimp.org/api/3.0/"><code>libgimp</code> and <code>libgimpui</code> 2.99 <span class="caps">API</span>
reference</a>, generated by <code>gi-docgen</code>.</p>
<p>This is the experimental version of what should become the <code>libgimp</code> 3.0 <span class="caps">API</span>. Of
course, it’s still a moving target, so you should not expect it to be stable
yet, up until we officially release <span class="caps">GIMP</span> 3.0. Still, plug-in developers are
welcome to experiment already in order to prepare their plug-in for the new
major version (several well known plug-ins already do have versions usable with
our 2.99 experimental <span class="caps">API</span>).</p>
<p>An <span class="caps">API</span> reference tarball is generated as part of the continuous integration
process and we now distribute them on <a href="https://download.gimp.org/pub/gimp/v2.99/api-docs/">our download
server</a> for anyone who
prefers to read the documentation offline.</p>
<h2 id="babl-and-gegl">babl and <span class="caps">GEGL</span><a class="headerlink" href="#babl-and-gegl" title="Permanent link">¶</a></h2>
<p>As usual, this release is supplemented with the releases of
<a href="https://gegl.org/babl/">babl</a> 0.1.98 and <a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.40.</p>
<p>Some race conditions are now avoided in the <span class="caps">LUT</span> cache <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#automatic-lut-creation-for-conversions-in-babl">introduced in <span class="caps">GIMP</span>
2.99.10</a>.</p>
<p><span class="caps">ICC</span> tags handling was improved as well in babl and the <code>newsprint</code> <span class="caps">GEGL</span>
operation was improved so that it does not drop the alpha channel in <span class="caps">RGB</span> modes.</p>
<h2 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h2>
<p>There is no specific team news, except that we are getting a solid core team,
with the usual people steadily contributing. 🧑💻</p>
<p>Our <a href="https://gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/">GSoC student</a>, Nikc,
stayed around and is clearly getting used to our codebase as they contribute
more and more, which is pleasing to see!</p>
<h2 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h2>
<p>4 organizations contributed <a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">download
mirrors</a> to
distribute <span class="caps">GIMP</span>.</p>
<p>Thanks to <em>metanet.ch</em> (Zürich, Switzerland), the <em>Fremont Cabal Internet
Exchange</em> (7 mirrors across the United States and Canada!), the <em><span class="caps">LIP6</span>,
Sorbonne université</em> (Paris, France) and <em>EdgeUno</em> (Bogotá, Colombia; our
first mirror in South America, at least since the renewed mirror procedure!).</p>
<p>We remind that mirrors are important as they help the project by sharing the
load for dozens of thousands of daily downloads. Moreover by having mirrors
spread across the globe, we ensure that everyone can have fast download access
to <span class="caps">GIMP</span>.</p>
<h2 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h2>
<p>One more self-published third-party book about <span class="caps">GIMP</span>, in English, was added to
the <a href="https://www.gimp.org/books/">books page</a>:</p>
<ul>
<li><a href="https://www.gimp.org/books/#gimp-210-das-umfassende-handbuch"><em>The Ultimate <span class="caps">GIMP</span> 2.10 Guide: Learn Professional photo editing</em>, by Bernard ‘t Hooft</a>
(2018, in English)</li>
</ul>
<p>We remind that we welcome book additions. Whether you wrote it or just
read it, if you know of a book about <span class="caps">GIMP</span>, just <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the same
information as other books in the list</a>. Thanks!</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>31 people contributed to the <a href="https://gitlab.gnome.org/GNOME/gimp/">main
repository</a> for <span class="caps">GIMP</span> 2.99.14:</p>
<ul>
<li>16 developers contributed to <code>GIMP</code> code base for this micro version:<ul>
<li>1 developer with more than 100 commits: Jehan.</li>
<li>3 developers with 10 to 20 commits: Jacob Boerema, Nikc and Daniel Novomeský.</li>
<li>12 developers with less than 10 commits: Lukas Oberhuber, Hanabishi, Luca
Bacci, Øyvind Kolås, Gotam Gorabh, Ian Munsie, Michael Schumacher, Niels
De Graef, suzu_11, Hanabishi, Niels De Graef and lloyd konneker.</li>
</ul>
</li>
<li>15 translations were updated: Basque, Catalan, Chinese (China), Galician,
Georgian, German, Hungarian, Icelandic, Polish, Portuguese, Russian,
Slovenian, Spanish, Swedish, Ukrainian.</li>
<li>17 translators contributed: Hugo Carvalho, Yuri Chornoivan, Martin, Zurab
Kargareteli, Sveinn í Felli, Alexandre Prokoudine, Anders Jonsson, Balázs Úr,
Jordi Mas, Boyuan Yang, Luming Zh, Rodrigo Lledó, Asier Sarasua Garmendia,
Fran Dieguez, Piotr Drąg, Balázs Meskó, Tim Sabsch.</li>
<li>1 person contributed to icons and themes: Jehan.</li>
<li>10 people contributed build-related updates: Jehan, Alx Sa, Hanabishi, Øyvind
Kolås, Daniel Novomeský, Ian Munsie, Luca Bacci, Lukas Oberhuber, Niels De
Graef, Thomas Klausner.</li>
</ul>
<p>These are the stats on <a href="https://gitlab.gnome.org/GNOME/babl/">babl</a>,
<a href="https://gitlab.gnome.org/GNOME/gegl/"><span class="caps">GEGL</span></a> and
<a href="https://ctx.graphics/files.html">ctx</a> repositories:</p>
<ul>
<li>1 contributors to <code>babl</code> 0.1.98 with 5 commits: Øyvind Kolås</li>
<li>12 contributors to <code>GEGL</code> 0.4.40:<ul>
<li>4 code contributors: Øyvind Kolås, Jehan, Sam James, nikita.</li>
<li>8 translators: Marco Ciampa, Asier Sarasua Garmendia, Enrico Nicoletto,
Fran Dieguez, Jordi Mas, Luming Zh, Matheus Barbosa, Sabri Ünal.</li>
</ul>
</li>
<li><code>ctx</code> doesn’t have releases per-se as it is project-embedded code.
In the time frame between <span class="caps">GIMP</span> 2.99.12 and 2.99.14, there were 247 commits by
1 contributor: Øyvind Kolås.</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/GNOME/gimp-help/">documentation
repository</a>, in the <span class="caps">GIMP</span> 2.99.12 to
2.99.14 timeframe, 5 people contributed:</p>
<ul>
<li>Main contributor on documentation and script with 57 commits: Jacob Boerema.</li>
<li>1 additional contributor on documentation: Tim Sabsch.</li>
<li>4 translators: Tim Sabsch, Andre Klapper, Hugo Carvalho, Rodrigo Lledó.</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/">main website
repository</a>, in the <span class="caps">GIMP</span>
2.99.12 to 2.99.14 timeframe, 1 contributor contributed 89 commits: Jehan.</p>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build">macOS build
repository</a>, in the
<span class="caps">GIMP</span> 2.99.12 to 2.99.14 timeframe, 1 contributor contributed 43 commits: Lukas Oberhuber.</p>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/">developer website
repository</a>, since the
<a href="https://www.gimp.org/news/2022/10/16/gimp-developer-website-rewrite/">relevant
news</a>, 1
contributor contributed 8 commits: Jehan.</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting and manual tweaking, errors may
slip inside these stats. Feel free to tell us if we missed or
mis-categorized some contributors or contributions because we try to
acknowledge every contributor for being a part of <span class="caps">GIMP</span>!</em></p>
<h2 id="downloading-gimp-29914">Downloading <span class="caps">GIMP</span> 2.99.14<a class="headerlink" href="#downloading-gimp-29914" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.99.14 is available on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a>, now in 4 package formats, as
we got the new macOS on Apple Silicon package:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> package for Intel</li>
<li>macOS <span class="caps">DMG</span> package for Apple Silicon</li>
</ul>
<p>Other packages made by third-party are obviously expected to follow
(Linux distributions, *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>With this release, we are really approaching <span class="caps">GIMP</span> 3.0 release, as can be seen
from the <a href="https://developer.gimp.org/core/roadmap/#gimp-30">roadmap of 3.0</a>
where most items are “nearly done” or “done”. We are clearly reaching this part
of development when we start targetting specific pain points, which means a lot.</p>
<p>Nice milestones in this release:</p>
<ul>
<li>we now have all themes we absolutely needed (neutral dark, light and
middle-gray themes);</li>
<li>macOS builds are getting on-par with other builds;</li>
<li>usability is being finalized, after the multi-item selection really changed
the whole paradigm of how <span class="caps">GIMP</span> interacts with layers changed;</li>
<li>the space invasion project is currently running strong. Even though this
release doesn’t show as much consequences of it yet as we hoped, the next
release should;</li>
<li>developer documentation, for onboarding of new contributors, is finally
getting somewhere.</li>
</ul>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to
give back and <strong>accelerate the development of <span class="caps">GIMP</span></strong>.
Community commitment helps the project to grow stronger! 💪🥳</p>Conference “GIMP and ZeMarmot” in Vandœuvre-lès-Nancy (France)2022-10-28T00:00:00+02:002022-10-28T00:00:00+02:00Jehantag:www.gimp.org,2022-10-28:/news/2022/10/28/conference-zemarmot-fccl/<p>Talk about <span class="caps">GIMP</span> and the sister project ZeMarmot in Vandœuvre-lès-Nancy</p><p>Next <strong>Friday, the 4th of November 2022, from <span class="caps">6PM</span> to <span class="caps">8PM</span> <span class="caps">CET</span></strong>, Aryeom (with her
hats of film director of “<a href="https://film.zemarmot.net/">ZeMarmot</a>” and <span class="caps">GIMP</span>
contributor) and myself (Jehan, with my hats of main developer/maintainer of
<span class="caps">GIMP</span> and technical operations in “ZeMarmot”), will host a conference at the
<em>Jules Verne</em> library in <strong>Vandœuvre-lès-Nancy (France)</strong>.</p>
<figure>
<a href="https://fccl-vandoeuvre.fr/conference-gimp-et-zemarmot/">
<img src="https://www.gimp.org/news/2022/10/28/conference-zemarmot-fccl/affiche_conference_gimp_zemarmot_2022-11-04-724x1024.jpg" alt="Poster for the talk 'GIMP and ZeMarmot' of 4 November 2022 in Vandœuvre-lès-Nancy"/>
</a>
<figcaption>
<em>Poster for the talk “<span class="caps">GIMP</span> and ZeMarmot” of 4 November 2022 in Vandœuvre-lès-Nancy</em>
</figcaption>
</figure>
<dl>
<dt>Location</dt>
<dd>Médiathèque Jules Verne<br>
2 rue de Malines<br>
54500 Vandoeuvre-lès-Nancy<br>
France<br>
+33 (0)3 83 54 85 53</dd>
<dt>Time</dt>
<dd>Friday, November 4, 2022 - from <span class="caps">6PM</span> to <span class="caps">8PM</span> (<span class="caps">CET</span>, French time)</dd>
</dl>
<ul>
<li><a href="https://fccl-vandoeuvre.fr/conference-gimp-et-zemarmot/">Event page on <span class="caps">FCCL</span> website</a></li>
<li><a href="https://www.qwant.com/maps/place/osm:way:51030446">Online map for directions</a></li>
<li><a href="https://fccl-vandoeuvre.fr/film">Live streaming link</a></li>
</ul>
<p>The event is organized by a public body whose name could be translated as
something like “the <a href="https://fccl-vandoeuvre.fr/">Collective Factory of the Libre
Culture</a>” (<abbr title="Fabrique Collective de la
Culture du libre "><span class="caps">FCCL</span></abbr>), which is a cool name, right? It’s rare enough
to have public institutions funded by a city (in this case: Vandœuvre-lès-Nancy)
encouraging Free Software usage, and this is why we accepted their invitation.
As far as we know, ever since the global health crisis, it will be the first
physical conference with contributors of <span class="caps">GIMP</span>.
Quite strange to prepare talks again after 3 years! 🥲</p>
<p>We will obviously talk about <span class="caps">GIMP</span> and how it is developed as a community,
since the concept of “Community, Free Software” is dear to me. We will also talk
about “<a href="https://film.zemarmot.net/">ZeMarmot</a>“, the Free/Libre Animation Film
produced by the non-profit <a href="https://libreart.info/"><span class="caps">LILA</span></a> which
<a href="https://film.zemarmot.net/en/donate">crowd-funds</a> our work (for the movie and <span class="caps">GIMP</span>
development). So it will be the opportunity to discuss about various interesting
topics, based on our concrete experience of running <span class="caps">FLOSS</span> and Libre Art projects.</p>
<p>We may also present some other Free/Libre movies we produced, such as the ones
made on account of <a href="https://framasoft.org/">Framasoft</a>: “<a href="https://framatube.org/w/kkGMgK9ZtnKfYAgnEtQxbv">What is
Peertube?</a>” and “<a href="https://framatube.org/w/9dRFC6Ya11NCVeYKn8ZhiD">What is the
Fediverse?</a>“).</p>
<p>So if you are in France around Vandœuvre-lès-Nancy on November 4, we hope we’ll
see you there. 🤗 Otherwise, I am told that the talk will be <a href="https://fccl-vandoeuvre.fr/film">streamed
live</a> 🖥️ (in French of course).</p>Revival of the GIMP developer website2022-10-16T00:00:00+02:002022-10-16T00:00:00+02:00Wilbertag:www.gimp.org,2022-10-16:/news/2022/10/16/gimp-developer-website-rewrite/<p>Revival of the <span class="caps">GIMP</span> developer website</p><p>This weekend, we published a new <a href="https://developer.gimp.org/">developer 🧑💻 website</a>! 🥳</p>
<figure>
<a href="https://developer.gimp.org/">
<img src="https://www.gimp.org/news/2022/10/16/gimp-developer-website-rewrite/gimp-developer-website-revival-2022.png" alt="Screenshot of the new developer website of GIMP"/>
</a>
<figcaption>
<em>Screenshot of the new developer website of <span class="caps">GIMP</span></em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#a-bit-of-history">A bit of history</a></li>
<li><a href="#work-in-progress">Work in progress</a></li>
<li><a href="#whats-next">What’s next</a></li>
<li><a href="#why-this-website">Why this website?</a><ul>
<li><a href="#improving-onboarding">Improving onboarding</a></li>
<li><a href="#simplifying-plug-in-development">Simplifying plug-in development</a></li>
</ul>
</li>
<li><a href="#statistics">Statistics</a></li>
<li><a href="#contributing-to-and-funding-gimp">Contributing to and Funding <span class="caps">GIMP</span></a></li>
</ul>
</div>
<p>As the name indicates, it is targetted at developers, both core contributors
(people making <span class="caps">GIMP</span> itself) and third-party developers (people
making plug-ins and publishing them on the side). This is why the website
has 2 main sections:</p>
<ul>
<li><a href="https://developer.gimp.org/core/">Core</a>: for core developers, with roadmaps,
information on how to build <span class="caps">GIMP</span>, coding style guidelines…</li>
<li><a href="https://developer.gimp.org/resource/">Resources</a>: for third-party developers,
with links to the public <code>libgimp</code> <abbr title="Application Programming
Interface"><span class="caps">API</span></abbr>, tutorials to make plug-ins…<br/>
We call this section “<em>Resources</em>” as in the future, it may also contain info
on how to make brushes or other data for <span class="caps">GIMP</span>.</li>
</ul>
<h2 id="a-bit-of-history">A bit of history<a class="headerlink" href="#a-bit-of-history" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> has had a <a href="https://developer.gimp.org/">developer website</a> for at least 2
decades (the Internet Archive traces back an early page in 2001), yet mostly
unmaintained ever since 2009, which is a shame.</p>
<p>Since then, documentation for developers was scattered on the <a href="https://www.gimp.org/">general
website</a>, the source repository itself and 2 wikis
(developer and <span class="caps">GUI</span> wiki). As you may know, the <a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/#development-website">developer wiki encountered
problems</a>
recently. As for the <span class="caps">GUI</span> wiki, it is still there, though we plan to merge both
wikis into our new developer website.</p>
<p>Rather than having duplicate documents all over the place, we want to
consolidate developer documentation into a single point of entry.</p>
<h2 id="work-in-progress">Work in progress<a class="headerlink" href="#work-in-progress" title="Permanent link">¶</a></h2>
<p>This new website is still a work-in-progress. Contents is still incomplete and
often outdated. We decided to publish it in its current state and update it as
we go, rather than wait forever.</p>
<p>As usual, we stick to only serving static pages, no server-side scripting. It’s
simpler and safer as we don’t want to spend our time administering a webpage (we
develop <span class="caps">GIMP</span>, not webpages).</p>
<p>What has been done so far:</p>
<ul>
<li>We ported the website from DockBook to <a href="https://gohugo.io/">Hugo</a>, especially
thanks to Robin Swift, with help from Pat David. It has a few advantages:<ul>
<li>The markdown syntax is less powerful yet so far sufficient and simpler
that DockBook <span class="caps">XML</span>. It should facilitate
<a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/">contributions</a>.</li>
<li>Hugo websites are easier to build and test, with nice immediate feedback
loop when using the hugo webserver during development.</li>
<li>Hugo has a nice organization where file structure also decides of the
website structure.</li>
</ul>
</li>
<li>Contents was reorganized, reviewed, partially rewritten or merged. Some
outdated documents were kept for historical interest, yet may not be as
relevant for modern <span class="caps">GIMP</span> usage.<br/>
We identified 2 main sections — as explained above: <em>Core</em> and <em>Resources</em> —
with an additional <em>Conferences</em> section where we mostly keep track of
historical meetings where developers made some decisions on the future of
<span class="caps">GIMP</span>. We try to organize documents in these sections and subsections when relevant.</li>
<li>We progressively improve automatization of the website publishing, for
instance automatic grab of the newest <code>libgimp</code> library documentation, and
early error detection.</li>
<li>We created a testing website to validate changes before publishing to the main
website (similar as what we do for <code>gimp.org</code>). Both websites will be
automatically published daily from their own branch and can be triggered
manually through Continuous Integration jobs on <em>Gitlab</em>.</li>
<li>All documents from the old developer website were salvaged, ported to
markdown, reorganized or discarded after examination.</li>
<li>Several development-related documents from the main <code>gimp.org</code> website were
moved to <code>developer.gimp.org</code> or merged into others. For instance, we had
redundant pages about contributing code for <span class="caps">GIMP</span>. There is now (unless we
missed some) only a single tutorial:
<a href="https://developer.gimp.org/core/submit-patch/">Submit your first patch</a>.</li>
<li>Dozens of the old wiki documents were ported to markdown and moved or
discarded after examination. In particular, some of the most requested pages
have a home again:<ul>
<li><a href="https://developer.gimp.org/core/roadmap/"><span class="caps">GIMP</span> roadmaps</a></li>
<li><a href="https://developer.gimp.org/core/setup/"><span class="caps">GIMP</span>’s compilation tutorials</a></li>
</ul>
</li>
<li>Some documents from the main source repository of <span class="caps">GIMP</span> were moved. An
important document is the <a href="https://developer.gimp.org/core/coding_style/"><span class="caps">GIMP</span> Coding Style
guide</a>.</li>
<li>Redirections were created, because “<a href="https://www.w3.org/Provider/Style/URI"><em>Cool URIs don’t
change</em></a>” and links to moved pages can
be found in many third-party websites. For instance old links on the roadmap
(which used to be at
<a href="https://wiki.gimp.org/wiki/Roadmap">wiki.gimp.org/wiki/Roadmap</a>) now
redirect to the new roadmap.</li>
</ul>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>More documents need to move, be rewritten or fixed. This is only a start.</p>
<p>Also the website style is currently pretty simple and bare. On one hand, maybe
it’s not too bad for a development website. On the other hand, discussions have
happened proposing to make the website look a little more lively and less
austere 🧐. We’ll see!</p>
<h2 id="why-this-website">Why this website?<a class="headerlink" href="#why-this-website" title="Permanent link">¶</a></h2>
<h3 id="improving-onboarding">Improving onboarding<a class="headerlink" href="#improving-onboarding" title="Permanent link">¶</a></h3>
<p>By having a single point of entry, we hope it will feel less heavy for newcomers
to understand where to go for building <span class="caps">GIMP</span> and contributing patches.</p>
<p>Now if anyone asks, tell them to look at <a href="https://developer.gimp.org/core/">the Core section of <span class="caps">GIMP</span>’s developer
website</a>.</p>
<h3 id="simplifying-plug-in-development">Simplifying plug-in development<a class="headerlink" href="#simplifying-plug-in-development" title="Permanent link">¶</a></h3>
<p>We strive for a lively third-party plug-in ecosystem. For this to happen, we
want to help third-party developers. There are a lot of documentation and
tutorials about plug-in developement, but they are spread across the web, many
links are dead, a good part of the documents are unmaintained and therefore
partly outdated.</p>
<p>This new website doesn’t bring much <strong>yet</strong> on this side, though by making
plug-in development one of the 2 main sections, we clearly intend to change this
fact for the upcoming <span class="caps">GIMP</span> 3.0. You should not expect new tutorials for <span class="caps">GIMP</span>
2.10 plug-in development, but this is definitely where you should keep an eye on
if you are interested by plug-in creation for <span class="caps">GIMP</span> 3.0: <a href="https://developer.gimp.org/resource/">Resources section of
<span class="caps">GIMP</span>’s developer website</a></p>
<h2 id="statistics">Statistics<a class="headerlink" href="#statistics" title="Permanent link">¶</a></h2>
<p>The main work happened on the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/"><code>gimp-web-devel</code>
repository</a>.</p>
<p>Since mid-July, when we started the website renewal, the following contributors participated:</p>
<ul>
<li>Jehan: 86 commits</li>
<li>Pat David: 38 commits</li>
<li>Robin Swift: 15 commits</li>
<li>Lukas Oberhuber: 1 commit</li>
</ul>
<p>Some more work, unlisted here, happened on <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/"><code>gimp-web</code> (main website)
repository</a>.</p>
<h2 id="contributing-to-and-funding-gimp">Contributing to and Funding <span class="caps">GIMP</span><a class="headerlink" href="#contributing-to-and-funding-gimp" title="Permanent link">¶</a></h2>
<p>As usual, we remind that <span class="caps">GIMP</span> is Community, Free and Libre Software. It is what
we all make of it, together. This is a main reason of such a developer website.
Hopefully you will find it useful. If not, don’t remember that the website
itself is community-made. So feel free to <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/">propose developer tutorials and fixes
or updates to existing ones</a>.</p>
<p class='buttons'>
<a href="https://developer.gimp.org/core/">
<span class='donate-button'>
Help with<br/> <strong><span class="caps">GIMP</span> development</strong>
</span>
</a>
</p>
<p>Last but not least, if <span class="caps">GIMP</span> is useful to you and <strong>you wish to fund
development</strong>, you are very welcome to <a href="https://www.gimp.org/donating/"><strong>donate</strong> to the project and fund core
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>.</p>
<p class='buttons'>
<a href="https://www.gimp.org/donating/">
<span class='donate-button'>
Support us by<br/> <strong>Donating</strong>
</span>
</a>
</p>Development version: GIMP 2.99.12 Released2022-08-27T00:00:00+02:002022-08-27T00:00:00+02:00Wilbertag:www.gimp.org,2022-08-27:/news/2022/08/27/gimp-2-99-12-released/<p>Release news for development version <span class="caps">GIMP</span> 2.99.12</p><p><span class="caps">GIMP</span> 2.99.12 is a huge milestone towards <span class="caps">GIMP</span> 3.0. Many of the missing
pieces are getting together, even though it is still a work in progress.
As usual, issues are expected and in particular in this release which
got important updates in major areas, such as canvas interaction
code, scripts, but also theming…</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-cmyk-space-invasion.gif">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-cmyk-space-invasion.gif" alt="CMYK space invasion - animated video-game like strip"/>
</a>
<figcaption>
<em>“<span class="caps">CMYK</span> space invasion”, by <a href="https://film.zemarmot.net">Jehan</a> (based on GPLv3 code screencast), Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>The most noteworthy changes are listed below:</p>
<div class="toc">
<ul>
<li><a href="#core-features">Core Features</a><ul>
<li><a href="#on-canvas-brush-sizing">On-canvas brush sizing</a></li>
<li><a href="#customizable-on-canvas-modifiers">Customizable on-canvas modifiers</a></li>
<li><a href="#testing-new-zoom-behaviors">Testing new Zoom behaviors</a></li>
<li><a href="#improved-tool-pointers">Improved tool pointers</a></li>
<li><a href="#improving-again-the-fill-by-line-art-detection-of-bucket-fill-tool">Improving again the “Fill by line art detection” of Bucket Fill tool</a></li>
<li><a href="#customizable-checkerboard-colors">Customizable checkerboard colors</a></li>
<li><a href="#welcome-dialog">Welcome Dialog</a></li>
<li><a href="#pinching-gesture-for-more-usage">Pinching gesture for more usage</a></li>
</ul>
</li>
<li><a href="#cmyk"><span class="caps">CMYK</span></a><ul>
<li><a href="#simulation-data-is-now-image-data">Simulation data is now image data</a></li>
<li><a href="#simulation-toggle-in-the-status-bar">Simulation toggle in the status bar</a></li>
<li><a href="#various-gui-now-simulation-aware">Various <span class="caps">GUI</span> now simulation-aware</a></li>
<li><a href="#export-formats-with-new-or-improved-cmyk-support">Export formats with new or improved <span class="caps">CMYK</span> support</a></li>
<li><a href="#new-plug-in-api">New plug-in <span class="caps">API</span></a></li>
</ul>
</li>
<li><a href="#themes">Themes</a></li>
<li><a href="#file-format-support">File format support</a><ul>
<li><a href="#psd"><span class="caps">PSD</span></a></li>
<li><a href="#svg"><span class="caps">SVG</span></a></li>
<li><a href="#gif"><span class="caps">GIF</span></a></li>
<li><a href="#png"><span class="caps">PNG</span></a></li>
<li><a href="#dds"><span class="caps">DDS</span></a></li>
<li><a href="#fli"><span class="caps">FLI</span></a></li>
<li><a href="#raw-data">Raw data</a></li>
<li><a href="#new-format-wbmp">New format: <span class="caps">WBMP</span></a></li>
<li><a href="#new-format-ani">New format: <span class="caps">ANI</span></a></li>
</ul>
</li>
<li><a href="#script-fu">Script-fu</a><ul>
<li><a href="#script-fu-server-now-its-own-plug-in">Script-fu server now its own plug-in</a></li>
<li><a href="#new-separate-interpreter">New separate interpreter</a></li>
<li><a href="#rethinking-the-api">Rethinking the <span class="caps">API</span></a></li>
</ul>
</li>
<li><a href="#api"><span class="caps">API</span></a></li>
<li><a href="#batch-processing">Batch processing</a></li>
<li><a href="#build-and-documentation">Build and documentation</a><ul>
<li><a href="#meson-message-to-packagers">meson (message to packagers)</a></li>
<li><a href="#gettext">Gettext</a></li>
</ul>
</li>
<li><a href="#platform-support">Platform support</a><ul>
<li><a href="#wayland">Wayland</a></li>
<li><a href="#macos">macOS</a></li>
</ul>
</li>
<li><a href="#babl-and-gegl">babl and <span class="caps">GEGL</span></a><ul>
<li><a href="#babl-01940196">babl 0.1.94/0.1.96</a></li>
<li><a href="#gegl-0438"><span class="caps">GEGL</span> 0.4.38</a></li>
</ul>
</li>
<li><a href="#team-news">Team news</a></li>
<li><a href="#websites">Websites</a><ul>
<li><a href="#documentation-website">Documentation website</a></li>
<li><a href="#development-website">Development website</a></li>
</ul>
</li>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#downloading-gimp-29912">Downloading <span class="caps">GIMP</span> 2.99.12</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/02739dd6e61b622577d94657949b20c68b51ed8e/NEWS#L9"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</p>
<h2 id="core-features">Core Features<a class="headerlink" href="#core-features" title="Permanent link">¶</a></h2>
<h3 id="on-canvas-brush-sizing">On-canvas brush sizing<a class="headerlink" href="#on-canvas-brush-sizing" title="Permanent link">¶</a></h3>
<p>There were requests for quickly changing tool settings, such as brush
size or tool opacity, without having to go to the “Tool Options” dockable</p>
<p>A quickly appearing on-canvas <span class="caps">GUI</span> was considered (similar to other
software), though we realized that many people who want this prefer a
non workflow-disruptive interaction.</p>
<p>This is why we went for a simpler and direct design. For instance, now
<code>Alt</code> + right click will trigger a brush resize action on canvas.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-brush-change-on-canvas.gif">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-brush-change-on-canvas.gif" alt="Changing brush size with Alt + right click"/>
</a>
<figcaption>
<em>Changing brush size with Alt + right click - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>Note that this code area still is a work-in-progress. There are more
interactions still worked on, such as opacity update and customizability
(see <a href="#customizable-on-canvas-modifiers">next section</a>).</p>
<h3 id="customizable-on-canvas-modifiers">Customizable on-canvas modifiers<a class="headerlink" href="#customizable-on-canvas-modifiers" title="Permanent link">¶</a></h3>
<p>Many features are available on-canvas, some of them less known than
others, for panning, zooming, rotating the canvas (<a href="https://www.gimp.org/release-notes/gimp-2.10.html#digital-painting-improvements">since <span class="caps">GIMP</span>
2.10.0</a>)
or even selecting layers through canvas (<a href="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/#on-canvas-layer-selection">since <span class="caps">GIMP</span>
2.10.10</a>).</p>
<p>The current features are:</p>
<table>
<thead>
<tr>
<th>Modifiers</th>
<th>Main button</th>
<th>Secondary button (usually middle click)</th>
<th>Third Button (usually right click)</th>
</tr>
</thead>
<tbody>
<tr>
<td>-</td>
<td><em>Tool-specific</em></td>
<td>Panning</td>
<td>Contextual menu</td>
</tr>
<tr>
<td><code>Ctrl</code>/<code>Cmd</code></td>
<td><em>Tool-specific</em></td>
<td>Zoom</td>
<td>-</td>
</tr>
<tr>
<td><code>Shift</code></td>
<td><em>Tool-specific</em></td>
<td>Canvas rotation</td>
<td>-</td>
</tr>
<tr>
<td><code>Shift-Ctrl</code>/<code>Shift-Cmd</code></td>
<td><em>Tool-specific</em></td>
<td>Constrained (15°) canvas rotation</td>
<td>-</td>
</tr>
<tr>
<td><code>Alt</code></td>
<td><em>Tool-specific</em></td>
<td>Layer picking</td>
<td>Resize brush (<a href="#on-canvas-brush-sizing">new</a>)</td>
</tr>
</tbody>
</table>
<p><em>Note: on macOS, <code>Cmd</code> is used in place of <code>Ctrl</code>. This is usually
implied when <code>Ctrl</code> only is mentioned.</em></p>
<p>These are based on the following logic:</p>
<ul>
<li>The main button is <em>reserved for tools</em>. Even though some of them
share similar logic (e.g. all the selection tools share modifiers to
add, subtract or intersect selections), some tools will have specific
use cases.</li>
<li>The secondary button is used for “navigation”, in particular canvas
navigation, but even on some kind of <code>z</code> axis with layer navigation
(recent Layer picking ability since <span class="caps">GIMP</span> 2.10.10).</li>
<li>The third button was always reserved for contextual menu only. The new
<a href="#on-canvas-brush-sizing">brush resizing ability</a> breaks this tradition.</li>
</ul>
<p>As we added new features, it became obvious that we were eventually
going to lack modifiers for other useful actions. Also everyone is
unique and has their own preferred workflow, so some people would
definitely wish to have slightly different action behavior.
As an example, even the <a href="#on-canvas-brush-sizing">just implemented brush
sizing</a> already comes in 2 variants (resize
from center or sides).</p>
<p>Not to mention we had feedbacks of people disliking unexpected canvas
changes, for instance because they hit <code>Shift</code> too early and a canvas
rotation happens (admittedly not everyone cares about having canvas
rotation in their workflow).
Moreover some legacy actions, such as the contextual menu, can be
questionable nowadays (especially as it is the same menu available
at the top of the window).</p>
<p>This is why the canvas interaction code got factorized to use
customizable modifiers rather than hard-coded. The table above is still
the default, but now you may customize it: add more actions and
modifiers, remove some or change them all. The settings are in
<code>Preferences > Canvas Interaction > Modifiers</code>, then click on the button
labelled “<em>Click here to set a button’s modifiers</em>” with any mouse or
stylus button to start customize its modifiers.</p>
<p>You can even add “<em>custom actions</em>“, i.e. anything to which you could
assign a shortcut. Want to swap the foreground/background color on
<code>right click</code>? Now you can. Want to activate the Unified Transform tool
with <code>Shift-middle click</code> and remove canvas rotation? You can too.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-remapping-modifiers.gif">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-remapping-modifiers.gif" alt="Remapping modifiers for on-canvas interactions"/>
</a>
<figcaption>
<em>Remapping Shift+middle click to select the Unified Transform tool
and removing Shift-Ctrl + middle click mapping - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>Not only this, but it should work with any button (not only the second
and third). So if you have a mouse with 20 buttons, you could map every
one of them to an action (as well as any combination with modifiers).</p>
<p>Furthermore it will recognize different input devices, so that you can
map different actions to the same button of several plugged mice or
styli (note that it doesn’t recognize yet different device of the exact
same model, but eventually it probably will).</p>
<p>⚠️ If you experience bugs in any canvas interaction, this is a good time
to report them because a lot of code updates happened to make the code
more generic so early-tester bugs are expected.</p>
<h3 id="testing-new-zoom-behaviors">Testing new Zoom behaviors<a class="headerlink" href="#testing-new-zoom-behaviors" title="Permanent link">¶</a></h3>
<p>A new settings is available in <code>Preferences > Canvas Interaction</code> to
customize the zoom behavior, when zooming with <code>Ctrl</code> + middle click or
<code>Ctrl-Space</code>.</p>
<p>The legacy algorithm would zoom, in or out, continuously as long as there is
movement. It doesn’t depend on the movement span, which is why we called
it the “<em>By duration</em>” drag-to-zoom behavior.</p>
<p>The new behavior is the “<em>By distance</em>” drag-to-zoom as it will zoom more
if you do large moves, or in a more fine-grained way with very short
moves. We left both behaviors available as a settings because after user
testing, we decided that some people may prefer the old behavior, though
the newly proposed one also made sense.</p>
<p>Finally the “<em>Drag-to-zoom speed</em>” allows you to set the speed rate at
which the zoom will happen, in percentage of the default (i.e. that 100
is the default speed; you can raise or lower it).</p>
<p>These zoom settings were contributed by woob.</p>
<h3 id="improved-tool-pointers">Improved tool pointers<a class="headerlink" href="#improved-tool-pointers" title="Permanent link">¶</a></h3>
<p>In <code>Preferences > Input Devices</code>, you will first discover that some
settings have been moved around. In particular, pointer-related settings
have been moved from “Image Windows” to “Input Devices” tab and reorganized.</p>
<p>The second improvement is that the settings behavior have been rethought:</p>
<ul>
<li>Now when “<em>Show brush outline</em>” is checked and “<em>Show pointer for
paint tools</em>” is unchecked, if the brush outline cannot be drawn (for
instance because you use a dynamics changing the size with pressure),
<span class="caps">GIMP</span> will display a fallback 4-arcs generic outline showing the set
size (it used to show a crosshair which made no sense, as “<em>Show
pointer</em>” was explicitly unchecked).</li>
<li>When both “<em>Show brush outline</em>” and “<em>Show pointer for paint tools</em>”
are unchecked, we show a minimal visual feedback of a few pixels only,
as inconspicuous as possible, instead of a crosshair. Once again,
people are explicitly asking for nothing, so showing a crosshair felt
counter-productive. Yet actually showing nothing at all would be
confusing too. Even with tablet displays, the parallax issue is
unfortunately very real. This is why we opted for an extremely small
point-like cursor. It still shows your exact position with few disturbance.</li>
</ul>
<p>The point-like cursor was originally contributed by L Amander, then
modified by Aryeom who made it visible on both dark and light
background, and the new pointer was adapted into existing settings
instead of creating a dedicated setting.</p>
<p>⚠️ This point-like cursor feature is really adapted for tablet displays
and may seem very hard to use and frustrating for any other usage
(nearly invisible pointer).</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-point-like-cursor.gif">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-point-like-cursor.gif" alt="Drawing with point-like cursor"/>
</a>
<figcaption>
<em>Drawing with point-like cursor: 🔎 can you see the pointer? 🔬 - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h3 id="improving-again-the-fill-by-line-art-detection-of-bucket-fill-tool">Improving again the “Fill by line art detection” of Bucket Fill tool<a class="headerlink" href="#improving-again-the-fill-by-line-art-detection-of-bucket-fill-tool" title="Permanent link">¶</a></h3>
<p>The “Fill by line art detection” mode of the Bucket Fill tool is a big
question for us as we are regularly <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#new-option-in-line-art-mode-of-bucket-fill-tool">tweaking the
options</a>
to improve usability.</p>
<p>The idea is how to make the settings easier to understand while not
losing the very advanced capacity of the tool.</p>
<p>Therefore we tried something new, reorganizing the options in 3
categories which correspond to the 3 main steps of the line art algorithm:</p>
<ol>
<li><strong>Line Art Detection</strong>: the settings which configure how the line art
is detected: which source is being used? Using opacity or grayscale?
Which threshold?</li>
<li><strong>Line Art Closure</strong>: the settings for the closure algorithm of
opened line art areas.</li>
<li><strong>Fill Borders</strong>: the settings for borders of the fill: how much
should we grow under the detected line art? How to get nicer borders?</li>
</ol>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-fill-line-art-3-steps.png">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-fill-line-art-3-steps.png" alt="Bucket Fill options - line art algorithm"/>
</a>
<figcaption>
<em>3 steps in the line art algorighm: (1) line detection, (2) line closure, (3) border style - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>Also we add an “<em>Automatic closure</em>” checkbox which is equivalent to
setting the “<em>Maximum gap length</em>” to zero, and simply means we don’t
want any smart closure by an algorithm. It is more understandable this
way while making easier to switch between smart and no closure.</p>
<p>As a parallel, the option “<em>Allow closing lines in selected layer</em>” was
renamed “<em>Manual closure in fill layer</em>“.</p>
<p>Finally we added a “<em>Stroke borders</em>” which works similarly as the
“<em>Stroke Path</em>” or “<em>Stroke Selection</em>” features and which can be
useful, in particular for visible borders of unclosed areas.</p>
<p>More iterations may happen to improve usability of this very nice tool
as we progress towards <span class="caps">GIMP</span> 3.0.</p>
<h3 id="customizable-checkerboard-colors">Customizable checkerboard colors<a class="headerlink" href="#customizable-checkerboard-colors" title="Permanent link">¶</a></h3>
<p>In <span class="caps">GIMP</span>, we represent transparency in an image through the very common
“checkerboard” pattern. In order to handle various use cases, we were
proposing a series of colors, from light to dark grays, and even
proposing white, gray or black only backgrounds. Though all these had
the shared characteristics of being shades of gray.</p>
<p><code>Preferences > Display > Transparency > Check style</code> has now a new
option “<em>Custom checks</em>” allowing to select any <span class="caps">RGB</span> colors for the 2
colors representing “transparency”. If you wish to show transparency
with rainbow 🌈 colors, this is up to you!</p>
<p>The new function <code>gimp_checks_get_colors()</code> has been added to the
interface for plug-ins, replacing <code>gimp_checks_get_shades()</code>. This would
allow any plug-in needing to render transparency checkerboard according
to user choice.</p>
<p>This was originally contributed by Ben Rogalski, then improved, in
particular for proper <span class="caps">API</span> and plug-in support.</p>
<h3 id="welcome-dialog">Welcome Dialog<a class="headerlink" href="#welcome-dialog" title="Permanent link">¶</a></h3>
<p>Remember the “<a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#welcome-dialog">Welcome
dialog</a>”
which you get after an update (you probably got one in <span class="caps">GIMP</span> 2.99.12)? We
worked a bit on the “<em>Release Note</em>” tab to allow for “demo” items. I.e. now
some items (spotted with a different bullet point) will play a short
scenario showing what a new feature refer to.</p>
<p>This is still a work-in-progress which doesn’t work for all types of
features, and the styling for demo “playback” can definitely be
improved. This is what it looks like right now:</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-welcome-dialog-demo.gif">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-welcome-dialog-demo.gif" alt="Demo items
in release notes of Welcome dialog"/>
</a>
<figcaption>
<em>Double-clicking demo items in release notes of Welcome dialog - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h3 id="pinching-gesture-for-more-usage">Pinching gesture for more usage<a class="headerlink" href="#pinching-gesture-for-more-usage" title="Permanent link">¶</a></h3>
<p>It was already possible to <a href="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/#pinch-gesture-on-canvas-for-zooming">zoom the canvas with pinch
gesture</a>
since <span class="caps">GIMP</span> 2.99.6.
It is now also possible to rotate the canvas with a pinch gesture. Note
that we made the choice to make zoom and rotation through pinch
exclusive, i.e. that the first detected movement will lock on the
gesture to either zoom or rotation, not both at the same time. It seemed
to us that people might find it annoying to rotate when you just want to
zoom (or the other way around).</p>
<p>Furthermore you can now zoom the preview images in item dockables
(<em>Layers</em>, <em>Channels</em>, <em>Paths</em>) with pinching or mouse wheel.</p>
<p>Finally you can zoom in the <em>Gradients</em> dockable by pinch gesture too.</p>
<p>All of these were contributed by Povilas Kanapickas, who had already
implemented zoom through pinch gesture on canvas.</p>
<h2 id="cmyk"><span class="caps">CMYK</span><a class="headerlink" href="#cmyk" title="Permanent link">¶</a></h2>
<p>This one deserved a section on its own in this news report because
thanks to our new <a href="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/">GSoC
student</a>,
things moved quite fast here, not only for <span class="caps">CMYK</span>, but for the color space
invasion project as a whole. We
had to re-think a lot of the color conversions and display in various
parts of the program.</p>
<h3 id="simulation-data-is-now-image-data">Simulation data is now image data<a class="headerlink" href="#simulation-data-is-now-image-data" title="Permanent link">¶</a></h3>
<p>The main usage of “simulation” is soft-proofing, a very common use case
being printing. E.g. you could work in a <span class="caps">RGB</span> space, but know the final
format (e.g. through a profile given to you by a printshop, often a <span class="caps">CMYK</span>
profile) and want to see how your image would render, in particular
regarding gamut loss.</p>
<p>It was already possible to set a “<em>Soft proof profile</em>“, as well as a
rendering intent, and whether you wanted black point compensation or
not. Yet this info was lost at each session restart.</p>
<p>These data will now be stored within the <span class="caps">XCF</span> file itself. So you won’t
need to re-set them each time. Indeed if you work on a print job, the
final target can be considered part of your workflow for this specific
print job, hence part of the image.</p>
<p>As a consequence, these 3 information (soft proof profile, soft proof
rendering intent and soft proof black point compensation) moved from the
<code>View > Color Management</code> menu to the <code>Image > Color Management</code> menu
(though <code>View > Color management</code> still contains some settings, such as
whether to enable color management and whether or not to soft-proof;
these are not image data but specific to a view: a same image can be
simultaneously displayed in several views, one proofed and the other
not, for instance).</p>
<h3 id="simulation-toggle-in-the-status-bar">Simulation toggle in the status bar<a class="headerlink" href="#simulation-toggle-in-the-status-bar" title="Permanent link">¶</a></h3>
<p>To make simulation a first-class citizen in your workflow, we wanted a
way to make it obvious when you are viewing a proofed image or not.
This is done through a new icon at the right of the status bar. This
icon has 3 purposes:</p>
<ul>
<li>It visually shows whether we are in simulation (a.k.a. soft-proofing)
mode or not.</li>
<li>It allows to switch from simulation to non-simulated modes by clicking
on it.</li>
<li>It allows to customize simulation settings (simulation profile,
simulation rendering intent, black point compensation…) with a pop-up
dialog by right-clicking.</li>
</ul>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-soft-proofing-toggle.jpg">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-soft-proofing-toggle.jpg" alt="Quickly
changing soft-proofing settings with a toggle on status bar"/>
</a>
<figcaption>
<em>Quickly enabling soft-proofing, clicking a toggle on status bar; or changing soft-proofing settings, right-clicking the same toggle (here showing a <span class="caps">CC</span> by-sa character design on canvas, by <a href="https://film.zemarmot.net/">Aryeom</a>) - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h3 id="various-gui-now-simulation-aware">Various <span class="caps">GUI</span> now simulation-aware<a class="headerlink" href="#various-gui-now-simulation-aware" title="Permanent link">¶</a></h3>
<p>Most GUIs which were displaying <span class="caps">CMYK</span> data were displaying “naive <span class="caps">CMYK</span>”
colors. It is some generic algorithm not taking into account a specific
<span class="caps">CMYK</span> color space.</p>
<p>Now if you set a simulation profile, and if this profile is a <span class="caps">CMYK</span> one,
then these interface will display <span class="caps">CMYK</span> colors for this space, assuming
that this is what you are interested in.</p>
<p>This includes interfaces such as the Color Picker tool, Sample Points,
and the <span class="caps">CMYK</span> color selector.</p>
<h3 id="export-formats-with-new-or-improved-cmyk-support">Export formats with new or improved <span class="caps">CMYK</span> support<a class="headerlink" href="#export-formats-with-new-or-improved-cmyk-support" title="Permanent link">¶</a></h3>
<p>Similarly, several supported image formats have now new or improved <span class="caps">CMYK</span>
support. We are not talking about having core <span class="caps">CMYK</span> support as backend
encoding; <span class="caps">GIMP</span> is still only working in either *<span class="caps">RGB</span>, grayscale or
indexed. Yet, you can now better import or export <span class="caps">CMYK</span> images in several
formats, with much more suitable conversion done. In particular, it
means that:</p>
<ul>
<li>The <span class="caps">CMYK</span> profile of imported <span class="caps">CMYK</span> images will be stored as a
simulation profile. I.e. that the image will now be <span class="caps">RGB</span>, yet the <span class="caps">CMYK</span>
profile will be kept for simulation.</li>
<li><span class="caps">RGB</span> images can be exported as <span class="caps">CMYK</span>, using the simulation profile (if a
<span class="caps">CMYK</span> one) for conversion, then stored in the resulting <span class="caps">CMYK</span> file.</li>
</ul>
<p>The assumption is always that the simulation profile is your target
color space.</p>
<p>The updated formats so far are:</p>
<p><strong><span class="caps">JPEG</span></strong>:</p>
<ul>
<li><span class="caps">CMYK</span> export now possible using the image Soft-proofing profile.</li>
<li><span class="caps">CMYK</span> import ported to <span class="caps">GEGL</span>/babl conversion. The <span class="caps">CMYK</span> profile in
the <span class="caps">JPEG</span> image will be stored as soft-proof profile on the image.</li>
</ul>
<p><strong><span class="caps">TIFF</span></strong>:</p>
<ul>
<li>8 and 16-bit <span class="caps">CMYK</span>(A) export now possible, using the image
Soft-proofing profile.</li>
<li><span class="caps">CMYK</span> import now possible. The <span class="caps">CMYK</span> profile in the <span class="caps">TIFF</span> image will
be stored as Soft-proofing profile on the image.</li>
</ul>
<p><strong><span class="caps">PSD</span></strong>:</p>
<ul>
<li><span class="caps">CMYK</span> import ported to <span class="caps">GEGL</span>/babl conversion. The <span class="caps">CMYK</span> profile in
the <span class="caps">PSD</span> image will be stored as soft-proof profile on the image.</li>
</ul>
<h3 id="new-plug-in-api">New plug-in <span class="caps">API</span><a class="headerlink" href="#new-plug-in-api" title="Permanent link">¶</a></h3>
<p>Plug-ins can now request or set the soft-proofing profile of an image
with new functions, such as <code>gimp_image_get_simulation_profile()</code> or
<code>gimp_image_set_simulation_profile()</code> respectively. This is really a new
image data which can and should be used by plug-ins when they want to
display or process <span class="caps">CMYK</span> colors in the context of the active image.</p>
<p>Similarly several <code>libgimpwidgets</code> widgets (<code>GimpColorNotebook</code>,
<code>GimpColorSelection</code> and <code>GimpColorSelector</code>) became simulation-aware
with new dedicated functions to set the simulation space of interest.</p>
<h2 id="themes">Themes<a class="headerlink" href="#themes" title="Permanent link">¶</a></h2>
<p><span class="caps">GTK</span> got a new <span class="caps">CSS</span>-like theming system in <span class="caps">GTK</span>+ 3, which means our 2.10
themes were not reusable and which is why we called for theme designers
many times because a graphics application should really have a good set
of neutral gray themes for an interface with the less color pollution
possible, as it can affect your color perception.</p>
<p>It is only a month ago that we got a first proposal for a mid-gray
neutral theme, though this one is still a work-in-progress. On the other
hand, it triggered our long-term contributor, <a href="https://shallowsky.com/">Akkana
Peck</a>, to propose a Light theme. With quick
back-and-forth exchanges, this one was rapidly completed and merged into
the source tree. Nikc helped also a lot by finding solutions to annoying
bugs where we were stuck.</p>
<p>In the end, we made the theme more generic, making colors into variables
with semantic names, and reused the same style code yet different colors
to make a dark theme.</p>
<p>Instead of having 2 themes, we merged these into a “Default” theme with
both a light and dark variants which will be switched depending on the
“<em>Use dark theme variant if available</em>” checkbox.</p>
<p>For this to work, we also made a new process for theme makers, based on
generic <span class="caps">GTK</span> process, which is that your theme can contain a
<code>gimp-dark.css</code> file (additional to the main <code>gimp.css</code>). This secondary
file will be used instead of the first when the “<em>Use dark theme variant
if available</em>” option is checked in Preferences.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-themes.jpg">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-themes.jpg" alt="New Default theme in
light and dark variants"/>
</a>
<figcaption>
<em>New Default theme in light and dark variants - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h2 id="file-format-support">File format support<a class="headerlink" href="#file-format-support" title="Permanent link">¶</a></h2>
<h3 id="psd"><span class="caps">PSD</span><a class="headerlink" href="#psd" title="Permanent link">¶</a></h3>
<p>Additionally to the new <span class="caps">CMYK</span> support on import, our <span class="caps">PSD</span> support got the
following improvements:</p>
<ul>
<li>Improved error logging during load.</li>
<li>Added support for extra layer mask: according to the specifications
the extra mask is used “<em>when both a user mask and a vector mask are
present</em>“.
We haven’t seen an example that has the extra mask, so not sure
which of the masks would appear first.
For now assuming that the extra mask will be first. The advantage
of adding this here now, is that we won’t try to add a mask
channel as a normal channel.</li>
<li>Minimal support of duotone data: on import, a duotone image will
be imported as grayscale image with an alert and the color
information will be stored in a parasite; on export, a dialog will
propose you to re-include the duotone data if the image is still
grayscale. This allows for a roundtrip in <span class="caps">GIMP</span> without losing the
duotone information.</li>
</ul>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-psd-duotone.jpg">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-psd-duotone.jpg" alt="New dialogs when importing (left) then re-exporting (right) a PSD duotone image"/>
</a>
<figcaption>
<em>New dialogs when importing (left) then re-exporting (right) a <span class="caps">PSD</span> duotone image - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h3 id="svg"><span class="caps">SVG</span><a class="headerlink" href="#svg" title="Permanent link">¶</a></h3>
<p>Some valid <span class="caps">SVG</span> can fail to import when they contain some huge data (of
various types). This is not a limitation of the parser but a security
limitations, because malicious <span class="caps">SVG</span> files can be created on purpose to
consume too much memory.</p>
<p>Nevetheless this can still happen on valid and non-malicious files, as
some users encounter issues with <span class="caps">SVG</span> files exported by Sweet Home 3D (a
nice Free Software for drawing interior design plans). Hence when
failure to load a <span class="caps">SVG</span> occurs, <span class="caps">GIMP</span> will propose to try again with the
security limitation removed.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-svg-disable-safety.jpg">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-svg-disable-safety.jpg" alt="Dialog to disable safety limit on failed SVG import"/>
</a>
<figcaption>
<em>Dialog to disable safety limit on failed <span class="caps">SVG</span> import - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>🛈 Note that <span class="caps">GIMP</span> doesn’t have the information whether the load failure
happened because of this specific issue or not, so if the reason was
other, even retrying without security limitation may still fail.</p>
<p>⚠️ Also very <span class="caps">IMPORTANT</span>: as explained, this was a safety measure, which
implies that disabling it has security implications. You should only
accept disabling it to load <span class="caps">SVG</span> files from trusted sources, as the
pop-up also reminds. ☢️</p>
<h3 id="gif"><span class="caps">GIF</span><a class="headerlink" href="#gif" title="Permanent link">¶</a></h3>
<p>A new option appeared in the <span class="caps">GIF</span> export dialog: “<em>Number of repeats</em>“.
It specifies a specific number of repeat for loop animation. Previously
you only had the choice of single run animation versus infinite loop.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-gif-repeat.png">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-gif-repeat.png" alt="GIF export dialog"/>
</a>
<figcaption>
<em><span class="caps">GIF</span> export dialog with new option “Number of repeats” - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h3 id="png"><span class="caps">PNG</span><a class="headerlink" href="#png" title="Permanent link">¶</a></h3>
<p>The following changes happened in our <span class="caps">PNG</span> support:</p>
<ul>
<li>The format does not have any flag for linear <span class="caps">RGB</span>, but it can simply
include a linear profile (or a 1.0 <code>gAMA</code> chunk). Therefore since we
always attach the profile when importing (or transforming the <code>gAMA</code>
chunk into a profile), we now always load <span class="caps">PNG</span> images as non-linear backend.</li>
<li>When exporting indexed images, a new checkbox “<em>Optimize for smallest
possible palette size</em>“, if enabled, will export a <span class="caps">PNG</span> file with
lowest bit-depth palette possible (less than an 8-bit palette with 256
entries, if possible).</li>
</ul>
<h3 id="dds"><span class="caps">DDS</span><a class="headerlink" href="#dds" title="Permanent link">¶</a></h3>
<p>The following changes happened in our <span class="caps">DDS</span> support:</p>
<ul>
<li>16-bit masks now supported.</li>
<li><span class="caps">DDS</span> images with single 16-bit channel support added.</li>
<li><span class="caps">DDS</span> images with two 16-bit channels correctly converted to 16-bit
<span class="caps">RGB</span> images.</li>
<li>More robust <span class="caps">DDS</span> loading.</li>
</ul>
<h3 id="fli"><span class="caps">FLI</span><a class="headerlink" href="#fli" title="Permanent link">¶</a></h3>
<p>The following changes happened in our <span class="caps">FLI</span> support:</p>
<ul>
<li>1-frame animation now loaded correctly (it’s not really an animation
yet it should still open!).</li>
<li>Layer names now include the delay in ms.</li>
<li>More robust <span class="caps">FLI</span>/<span class="caps">FLC</span> loading, double-checking data rather than
assuming that the file writer properly followed the specs, better
error handling…</li>
</ul>
<h3 id="raw-data">Raw data<a class="headerlink" href="#raw-data" title="Permanent link">¶</a></h3>
<p>🛈 We are talking here of “raw data” where you export your pixels as
contiguous or planar data directly, without following a specific file
format, and not <span class="caps">RAW</span> file formats as are usually called formats used by
digital cameras (for these, we still prefer to pass through good raw
developer software, such as darktable or RawTherapee).</p>
<p>A big rewriting of the Raw Data dialog (and <span class="caps">API</span>) organization happened.</p>
<p>First, it is now possible to export any bit depth as raw data (despite
the higher bit depth support, exporting 16 or 32-bit images used to
still export them 8-bit raw data). This part will also be available in
future stable version <span class="caps">GIMP</span> 2.10.34.</p>
<p>And especially all exportable formats can be loaded back, and more. As
it made for a huge list, the way the import dialog used to list formats,
we split settings. Data type (unsigned or signed integer, floating
point), endianness or planar configuration (contiguous or planar) are
now their own settings and code has been generalized to support each and
every combination. The “<em>Pixel format</em>” list is now only about the
layout for various components.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-raw-data.png">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-raw-data.png" alt="Raw data import dialog"/>
</a>
<figcaption>
<em>Raw data import dialog with more settings and much more support formats - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<p>As a consequence <span class="caps">GIMP</span> now supports a lot more raw data formats, while
keeping a usable dialog, without showing a never-ending list of formats.</p>
<p>The <span class="caps">PDB</span> <span class="caps">API</span> for this plug-in has also been improved to follow the same
scheme of separate arguments.</p>
<p>As a last change, the <span class="caps">HGT</span> format (supported since the <a href="https://www.gimp.org/news/2017/12/12/gimp-2-9-8-released/#file-formats">stable version <span class="caps">GIMP</span>
2.10.0</a>)
is sharing the same codebase so we used to pop the raw data dialog up.
Nevertheless we have all the relevant information for a properly formed
<span class="caps">HGT</span> file, so we now load these directly without dialog (unless we fail
to detect the proper sample spacing).</p>
<h3 id="new-format-wbmp">New format: <span class="caps">WBMP</span><a class="headerlink" href="#new-format-wbmp" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now supports loading <abbr title="Wireless Application Protocol
Bitmap Format"><span class="caps">WBMP</span></abbr> image files, which are monochrome images
optimized for the legacy <abbr title="Wireless Application
Protocol"><span class="caps">WAP</span></abbr> protocol, now mostly discontinued.</p>
<p>The format itself is probably not really useful for new images, but it
can always be useful to be able to load existing images from older archives.</p>
<p>Note that this is a limited support as it doesn’t support all features
of <span class="caps">WBMP</span>, yet hopefully enough to be useful for most use cases.</p>
<h3 id="new-format-ani">New format: <span class="caps">ANI</span><a class="headerlink" href="#new-format-ani" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now has import and export support for the <code>ANI</code> animated mouse
cursor format.</p>
<p>The export dialog allows you to set hot-spot coordinates for each image
in the animation.</p>
<p>Hot-spot coordinates from imported <span class="caps">ANI</span> files are stored as parasite in
the <span class="caps">XCF</span> to be reused as a default when re-exporting.</p>
<figure>
<a href="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-ani-support.jpg">
<img src="https://www.gimp.org/news/2022/08/27/gimp-2-99-12-released/gimp-2.99.12-ani-support.jpg" alt="Export dialog of ANI format"/>
</a>
<figcaption>
<em>Export dialog of <span class="caps">ANI</span> format with cursor name, author, animation delay and hot-spot settings (<span class="caps">CC</span> by-sa illustration, shown in-dialog, by Aryeom) - <span class="caps">GIMP</span> 2.99.12</em>
</figcaption>
</figure>
<h2 id="script-fu">Script-fu<a class="headerlink" href="#script-fu" title="Permanent link">¶</a></h2>
<p>Lloyd Konneker, our new Script-fu maintainer, really did take his new
responsibility to heart as Script-fu code has not seen such activity for
years now.</p>
<p>A lot of bugs were fixed, more documentation for Script-fu developers
was written, but also huge changes happened.</p>
<h3 id="script-fu-server-now-its-own-plug-in">Script-fu server now its own plug-in<a class="headerlink" href="#script-fu-server-now-its-own-plug-in" title="Permanent link">¶</a></h3>
<p>Script-fu used to be a very monolithic extension plug-in (i.e. a plug-in
running permanently in background), with all its features in one binary,
which had several drawbacks. One of them is that the Script-fu server
(<code>script-fu-server</code>), which allows to communicate with <span class="caps">GIMP</span> remotely,
would also be running in the same process.</p>
<p>It can be considered a security hazard, which is why it was made its own
plug-in, which can be run independently, on request only.</p>
<h3 id="new-separate-interpreter">New separate interpreter<a class="headerlink" href="#new-separate-interpreter" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now installs a <code>gimp-script-fu-interpreter-3.0</code> binary which will
run the Script-fu scripts. It has huge advantages:</p>
<ul>
<li>Script-fu scripts are finally proper plug-ins. They are installed
within the <code>plug-ins/</code> folder (not in <code>scripts/</code> anymore), and work
the same way as other bindings.
Note that Script-fu is not a GObject-Introspected binding, unlike
other bindings, and it has its own way to wrap the <span class="caps">PDB</span> protocol or
<code>libgimp*</code> libraries, but other than this, it became now much closer conceptually.</li>
<li>It makes the Script-fu infrastructure much more robust as a single
crashing script will not crash the whole Script-fu altogether. Every
Script-fu plug-in now runs in its own dedicated and independant process.</li>
</ul>
<h3 id="rethinking-the-api">Rethinking the <span class="caps">API</span><a class="headerlink" href="#rethinking-the-api" title="Permanent link">¶</a></h3>
<p>Since a lot happened on the main <code>libgimp*</code> <span class="caps">API</span>, Script-fu specific <span class="caps">API</span>
had not been able to follow up. We are now trying to fill that gap and
to get Script-fu much closer to the main interface.</p>
<p>Among these changes, the new function <code>script-fu-register-filter</code> is
used to declare <span class="caps">PDB</span> procedure of the C class <code>GimpImageProcedure</code>. It
will also allow to much more easily use the procedural dialog generation
through the <code>GimpProcedureDialog</code> class.</p>
<p>A lot of discussions also happened on the topic of argument handling for
various types. This is still a work-in-progress as we are trying to
improve some use cases, for instance handling of plug-in’s specific
lists of options.</p>
<h2 id="api"><span class="caps">API</span><a class="headerlink" href="#api" title="Permanent link">¶</a></h2>
<p>The Application Programming Interface for plug-in developer received
various improvements and changes within this iteration.</p>
<p>Of course, we have many new functions corresponding to new features in
<span class="caps">GIMP</span>, such as for the simulation color management, customizable
checkerboard colors and more. <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/50a1fd6ed33a8e20636d176b5f36064a4df15a08/NEWS#L280">See the
list</a>.</p>
<p>A new <code>gimp_image_metadata_save_filter()</code> also appears, as an
alternative to <code>gimp_image_metadata_save_finish()</code> when you want to save
metadata yourself and you need only filtering processing.
It returns filtered metadata allowing the caller to save the finalized
metadata via other means (via native format’s library for example). This
<span class="caps">API</span> can be used to support metadata saving of image formats not directly
supported by gexiv2/exiv2. We already use it for the <span class="caps">HEIF</span>/<span class="caps">AVIF</span> plug-in.</p>
<p>We also finally got rid of various functions assuming that an image only
had a single active layer or channel. We know this is not true anymore
in <span class="caps">GIMP</span> 3.0, with <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#multi-layer-selection">multi-item
selection</a>.</p>
<p>Among the many other changes, one of the most important changes in this
updated <span class="caps">API</span> is how we handle plug-in localization. While the translation
of most strings were left to the plug-in’s discretion, the strings at
register time (plug-in title, documentation…) were translated by the
core, e.g. when used in menus or in the <span class="caps">PDB</span> browser, using gettext
catalog given at registration time. This raised various issues, such as
what happens if several plug-ins were to register a catalog with the
same name (which could have been fixed, with even more complicated
internal logic)? Or what happens if a plug-in doesn’t register a
localization catalog, but the default catalog contains (wrong)
translations for submitted strings? Moreover it ended up to be quite
confusing as many plug-in developers were wondering what is translated
where, i.e. if a string should be surrounded by <code>_()</code> (common gettext
macro) or <code>N_()</code> (noop gettext macro).</p>
<p>So the new logic is much simpler: translation is now left <em>entirely</em> at
the plug-in discretion, i.e. all strings received by the core are
assumed to be in the correct target language. The core doesn’t try to
translate anything coming from plug-ins anymore.</p>
<p>Now to help a bit with localization, our infrastructure proposes a
standard file organization, with all gettext catalogs under the
<code>locale/</code> folder of the plug-in directory, and named the same way as the
plug-in itself. If the catalog is absent, our system outputs a message
on <code>stderr</code> to inform of this standard procedure. A plug-in following
this procedure won’t have anything else to do than place the compiled
gettext catalogs (<code>*.mo</code> files) with the right domain name in the right folder.</p>
<p>A <code>GimpPlugIn</code> can supplant this behavior at any time by overriding the
<code>set_i18n()</code> method, to either disable localization altogether, pointing
to a different catalog path and name or even use another system than gettext.</p>
<p>The only remnant of the old logic, which we need to think about and
improve, is the localization of menu paths, as we still want
core-localization of some base menu paths. E.g. the root menus (“Edit”,
“Image”, “Colors”, “Filters”…) but also some submenus (“Blur”,
“Enhance”, “Distorts”…) should still be localized by the core while
plug-ins will need to handle new parts in the menu path. This is the
only exception to the new “no core translation” logic for plug-in.</p>
<h2 id="batch-processing">Batch processing<a class="headerlink" href="#batch-processing" title="Permanent link">¶</a></h2>
<p>A new <code>libgimp</code> class <code>GimpBatchProcedure</code> was added, facilitating the
creation of batch interpreter plug-ins, i.e. plug-ins meant to be run
from command line to process a series of procedure calls. Currently 2
such interpreters exist in <span class="caps">GIMP</span>: the Script-fu
(<code>plug-in-script-fu-eval</code>) and the Python (<code>python-fu-eval</code>) interpreters.</p>
<p>Running code this way is done with the <code>--batch</code> <abbr title="Command
Line Interface"><span class="caps">CLI</span></abbr> option. Historically Script-fu was used as
default, but this is not the case anymore. Now you must explicitly
specify an interpreter with <code>--batch-interpreter</code>.</p>
<p>Moreover a new option <code>--quit</code> was created and this is what you must use
if you wish to exit <span class="caps">GIMP</span> immediately after the scripts are run. Do not
call <code>"(gimp-quit 1)"</code> anymore. A nice improvement is that <span class="caps">GIMP</span> will now
exit immediately after a batch failure (i.e. if you had a series of
<code>--batch</code> calls, it will stop at the first failure) and will propagate
the failure into the process exit code.
Exit codes are inspired from command Linux error codes: 0 for success,
69 for service unavailable (e.g. setting a non-existing interpreter
name), 64 for usage (e.g. not specifying any interpreter or calling
errors), 70 for execution errors (bugs in the interpreter plug-in) and
130 for canceling the call. Therefore you will now know when your
scripts fail.</p>
<p>As an example of batch processing, here is how you could load a <span class="caps">PNG</span>
image, then export it back as <span class="caps">JPEG</span>:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>gimp-2.99<span class="w"> </span>--batch-interpreter<span class="w"> </span>python-fu-eval<span class="w"> </span>-idf<span class="w"> </span>-b<span class="w"> </span><span class="s2">"img=Gimp.list_images()[0];layers=img.list_layers();c=Gimp.get_pdb().lookup_procedure('file-jpeg-save').create_config();c.set_property('image',img);c.set_property('file',Gio.file_new_for_path('/home/jehan/out.jpg'));c.set_property('drawables',Gimp.ObjectArray.new(Gimp.Drawable, layers, False));c.set_property('num-drawables',len(layers));Gimp.get_pdb().run_procedure_config('file-jpeg-save',c)"</span><span class="w"> </span>--quit<span class="w"> </span>/home/jehan/in.png
</code></pre></div>
<p>This long command line may seem frightening, but this is the same script
in a file, named for instance <code>gimp-script.py</code>:</p>
<div class="highlight"><pre><span></span><code><span class="n">img</span> <span class="o">=</span> <span class="n">Gimp</span><span class="o">.</span><span class="n">list_images</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">layers</span> <span class="o">=</span> <span class="n">img</span><span class="o">.</span><span class="n">list_layers</span><span class="p">()</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">Gimp</span><span class="o">.</span><span class="n">get_pdb</span><span class="p">()</span><span class="o">.</span><span class="n">lookup_procedure</span><span class="p">(</span><span class="s1">'file-jpeg-save'</span><span class="p">)</span><span class="o">.</span><span class="n">create_config</span><span class="p">()</span>
<span class="n">c</span><span class="o">.</span><span class="n">set_property</span><span class="p">(</span><span class="s1">'image'</span><span class="p">,</span> <span class="n">img</span><span class="p">)</span>
<span class="n">c</span><span class="o">.</span><span class="n">set_property</span><span class="p">(</span><span class="s1">'file'</span><span class="p">,</span> <span class="n">Gio</span><span class="o">.</span><span class="n">file_new_for_path</span><span class="p">(</span><span class="s1">'/home/jehan/out.jpg'</span><span class="p">))</span>
<span class="n">c</span><span class="o">.</span><span class="n">set_property</span><span class="p">(</span><span class="s1">'drawables'</span><span class="p">,</span> <span class="n">Gimp</span><span class="o">.</span><span class="n">ObjectArray</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">Gimp</span><span class="o">.</span><span class="n">Drawable</span><span class="p">,</span> <span class="n">layers</span><span class="p">,</span> <span class="kc">False</span><span class="p">))</span>
<span class="n">c</span><span class="o">.</span><span class="n">set_property</span><span class="p">(</span><span class="s1">'num-drawables'</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">layers</span><span class="p">))</span>
<span class="n">Gimp</span><span class="o">.</span><span class="n">get_pdb</span><span class="p">()</span><span class="o">.</span><span class="n">run_procedure_config</span><span class="p">(</span><span class="s1">'file-jpeg-save'</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
</code></pre></div>
<p>Run it through <span class="caps">GIMP</span> in batch mode like this:</p>
<div class="highlight"><pre><span></span><code>gimp-2.99<span class="w"> </span>--batch-interpreter<span class="w"> </span>python-fu-eval<span class="w"> </span>-idf<span class="w"> </span>-b<span class="w"> </span>-<span class="w"> </span>--quit<span class="w"> </span>/home/jehan/in.png<span class="w"> </span><<span class="w"> </span>gimp-script.py
</code></pre></div>
<p>Of course, you can add in your scripts any filtering or image
manipulation, through <span class="caps">GEGL</span> or libgimp <span class="caps">API</span>.</p>
<h2 id="build-and-documentation">Build and documentation<a class="headerlink" href="#build-and-documentation" title="Permanent link">¶</a></h2>
<h3 id="meson-message-to-packagers">meson (message to packagers)<a class="headerlink" href="#meson-message-to-packagers" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> build system traditionally uses <span class="caps">GNU</span> autotools. An initial, yet
incomplete, port to the newer meson system was contributed in 2017 by
Félix Piédallu.</p>
<p>It took a few years to complete the last customizations, tweaking meson
scripts to be able to handle all the special cases we had in <span class="caps">GIMP</span> code.
As we approached completion in this development cycle, we started to
officially recommend meson for Windows, then macOS, and finally, early
August, we decided to recommend meson for all platforms.</p>
<p>This is still an evaluation phase for this build system, though now we
are moving forward into intensive testing. <strong>If you are a packager,
please try to now use our meson build and report any issue to us.</strong></p>
<p>Exceptionally for this version, we released 2 tarballs on our <a href="https://download.gimp.org/gimp/v2.99/">download
server</a>:
<code>gimp-2.99.12.tar.xz</code> and <code>gimp-2.99.12-autotools.tar.bz2</code>. As you can
guess, the former is the meson-generated tarball, yet we left an
autotools-generated tarball as fallback if the meson tarball end up
having major issues.</p>
<p>The
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/INSTALL.in"><span class="caps">INSTALL</span></a>
file was rewritten as well with meson instructions.</p>
<p>Of course, all our own packages (flatpak for Linux, installer for
Windows and <span class="caps">DMG</span> for macOS) are now built with meson.</p>
<h3 id="gettext">Gettext<a class="headerlink" href="#gettext" title="Permanent link">¶</a></h3>
<p>As many other projects, <span class="caps">GIMP</span> was using the <code>intltool</code> project to extract
localizable strings and translate various files with <code>gettext</code>, not only code.</p>
<p>Since about 2016, upstream <code>gettext</code> gained the ability to extract
strings for more types of files and formats, projects were <a href="https://wiki.gnome.org/MigratingFromIntltoolToGettext">encouraged
to move on</a> and
the <code>intltool</code> project was progressively abandoned. But <span class="caps">GIMP</span> was still
using it for various types of files (<span class="caps">XML</span>, desktop files, Inno Setup
translation files and more…) so the workfield was not small.</p>
<p>Well no more as Niels De Graef finally took care of this port and got
rid of this technical debt! 🥳</p>
<p>Of course, it triggered various problems, even to release day as we
realized when testing installers that some buttons were broken (which is
one of the few reasons why this news is out days after the actual source
release) and we had to fix the strings. Hopefully this was the last
related issue!</p>
<h2 id="platform-support">Platform support<a class="headerlink" href="#platform-support" title="Permanent link">¶</a></h2>
<h3 id="wayland">Wayland<a class="headerlink" href="#wayland" title="Permanent link">¶</a></h3>
<p>Wayland issues are slowly yet surely being getting rid of. Some of the
issues we had just disappeared with more recent versions of some Wayland
compositors. We do hope more bugs in upstream compositors will be fixed
eventually because some serious issues are still puzzling us (such as
crashes of some <span class="caps">GTK</span> applications, <span class="caps">GIMP</span> included, on the <code>Sway</code> Wayland compositor).</p>
<p>Some other issues have been handled in our code.</p>
<p>One of them is that early testers may have noticed a very annoying popup
telling you that “<em>gimp-2.99 wants to inhibit shortcuts</em>” (at least on
<code>Mutter</code>, the Wayland compositor of <span class="caps">GNOME</span>) in former 2.99 versions.
This got fixed by removing various keyboard grabbing code which was not
necessary anymore with <span class="caps">GTK</span>+3.0.</p>
<p>Some issues still remain, based on the early state of Wayland in
general, in particular because it doesn’t have color management. We were
often advised to use the “portals” for various features, such as color
picking, which unfortunately do not return us color-managed colors (as a
side issue, some desktop — such as Cinnamon and Mate — simply are
missing implementation for the color picking portal even though the
portal exists, which confuses <span class="caps">GIMP</span>). This is a <em>regression</em> problem
because we were getting wrong colors (slightly wrong, or even very wrong
if you use a wide gamut display) even when one were still running on
X11. Therefore now we will favour the X11 implementation for color
picking when you are running on X11 and will use the portals only
on Wayland. We may go back to portals for everyone on Linux when they
return managed colors.</p>
<p>Meanwhile, we are in discussions with Freedesktop portal developers to
get a new color-picking portal <span class="caps">API</span>, which will eventually have to be
implemented for the various desktops. Let’s hope it happens sooner
rather than later! 😅</p>
<h3 id="macos">macOS<a class="headerlink" href="#macos" title="Permanent link">¶</a></h3>
<p>As usual, a lot of maintenance work was done by <a href="https://medium.com/@lukasco">Lukas
Oberhuber</a>.
Packaging work is not as visible, hence is quite often thankless, which
should be fixed: thanks Lukas as well as every other packager!</p>
<p>Apart from this, you may remember the slowness issues happening on newer
macOS versions (ever since Big Sur). We had some custom patches already
for <span class="caps">GTK</span> and some dirty trick in <span class="caps">GIMP</span> code itself since <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#wayland-and-macos-support"><span class="caps">GIMP</span>
2.99.10</a>.</p>
<p>It all led to various improvements in <span class="caps">GTK</span> code which took over the
previous patches. It took months of testing, several code proposals
in several directions (at least 3 different merge requests, possibly
more code was discarded) and it got to a very satisfying result as Lukas
confirmed it is much faster now and <span class="caps">GIMP</span> is totally usable. Our in-<span class="caps">GIMP</span>
dirty tricks could also be removed.
For all these improvements, we want to thank in particular John Ralls
who provided the final fixes and Christian Hergert for his constant
inputs. Of course, we should not forget the numerous other contributors
who stopped by to help and give useful inputs. Hopefully <span class="caps">GTK</span> on macOS
will continue to improve even more!</p>
<p>In any case, this is great news for all other multi-platform <span class="caps">GTK</span>
software, though no <span class="caps">GTK</span>+3 release contains these fixes yet. It will be
available in <span class="caps">GTK</span>+ 3.24.35.</p>
<p>We include a patch on Cairo (again by John Ralls) as well for improved
performance on macOS, though the gained performance was not as obvious
as the <span class="caps">GTK</span> fix.</p>
<p>Also additionally to the development releases, we now provide nightly
builds for macOS. Check the section “<em>Automatic development builds</em>” of
the <a href="https://www.gimp.org/downloads/devel/">Development download page</a>
for a procedure.
⚠️ As usual, we remind that nightly builds means that it’s even more
experimental than development builds: these packages happen at random
point in the development process and the builds are not even
human-tested. ☢</p>
<p>In any case, a lot has happened since the days, not so long ago, when we
were <a href="https://www.gimp.org/news/2020/12/25/gimp-2-10-22-released-macos/#whats-going-on-with-big-sur">despairing at the sad state of <span class="caps">GIMP</span> on
macOS</a>,
with slowness (to the point of being unusable) and interface issues. Now
we are finally getting to a point where we can hope <span class="caps">GIMP</span> 3.0 will be
great on macOS, though we are still very short on contributors for this
<span class="caps">OS</span>. We welcome any developer wanting to join us!</p>
<p>Last point for people waiting for M1 builds: some work has been done in
this direction, but we are mostly blocked by <span class="caps">CI</span> hardware limitations.
We’ll keep you updated on improvements for this topic obviously.</p>
<p>For people who have a M1 Mac and are willing to build locally, there are
<a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/master/scripts/build_gimp3.sh">build scripts</a>,
in the <a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build">gimp-macos-build repository</a>
though starting from the <a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/blob/master/README.md"><span class="caps">README</span></a>
might be ideal.
Note that Lukas is already doing all his work on M1 machines now, so
we are just waiting for <span class="caps">CI</span> support to provide proper packages.</p>
<h2 id="babl-and-gegl">babl and <span class="caps">GEGL</span><a class="headerlink" href="#babl-and-gegl" title="Permanent link">¶</a></h2>
<p>As usual, this release is supplemented with the releases of
<a href="https://gegl.org/babl/">babl</a> 0.1.94/0.1.96 and
<a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.38.</p>
<h3 id="babl-01940196">babl 0.1.94/0.1.96<a class="headerlink" href="#babl-01940196" title="Permanent link">¶</a></h3>
<p>babl 0.1.94 fixes a crash on non-aligned data for <span class="caps">SIMD</span> and improve vala
compatibility of introspection information.</p>
<p>It also brings a new command line utility for converting unique colors
from one format and/or space to another. This is very useful to us for
testing our color conversions and verifying that <span class="caps">GIMP</span> code does the
right conversions too, which is why we wrote this tool in the context of
the color invasion project.</p>
<p>For instance, to convert some color from sRGB to the <span class="caps">CIELAB</span> color space:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>babl<span class="w"> </span>-f<span class="w"> </span><span class="s2">"R'G'B' u8"</span><span class="w"> </span>-t<span class="w"> </span><span class="s1">'CIE Lab float'</span><span class="w"> </span><span class="m">100</span><span class="w"> </span><span class="m">100</span><span class="w"> </span><span class="m">100</span>
Converting<span class="w"> </span>from<span class="w"> </span><span class="s2">"R'G'B' u8"</span><span class="w"> </span>to<span class="w"> </span><span class="s2">"CIE Lab float"</span>:
-<span class="w"> </span><span class="m">42</span>.374615
-<span class="w"> </span><span class="m">0</span>.000000
-<span class="w"> </span><span class="m">0</span>.000009
</code></pre></div>
<p>Usage is:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>babl<span class="w"> </span>--help
Usage:<span class="w"> </span>babl<span class="w"> </span><span class="o">[</span>options<span class="o">]</span><span class="w"> </span><span class="o">[</span>c1<span class="w"> </span>..<span class="o">]</span>
Convert<span class="w"> </span>color<span class="w"> </span>data<span class="w"> </span>from<span class="w"> </span>a<span class="w"> </span>specific<span class="w"> </span>Babl<span class="w"> </span>format<span class="w"> </span>and<span class="w"> </span>space<span class="w"> </span>to<span class="w"> </span>another.
<span class="w"> </span>Options:
<span class="w"> </span>-h,<span class="w"> </span>--help<span class="w"> </span>this<span class="w"> </span><span class="nb">help</span><span class="w"> </span>information
<span class="w"> </span>-f,<span class="w"> </span>--from<span class="w"> </span>input<span class="w"> </span>Babl<span class="w"> </span>format
<span class="w"> </span>-t,<span class="w"> </span>--to<span class="w"> </span>output<span class="w"> </span>Babl<span class="w"> </span>format
<span class="w"> </span>-i,<span class="w"> </span>--input-profile<span class="w"> </span>input<span class="w"> </span>profile
<span class="w"> </span>-o,<span class="w"> </span>--output-profile<span class="w"> </span>output<span class="w"> </span>profile
<span class="w"> </span>-r,<span class="w"> </span>--intent<span class="w"> </span>rendering<span class="w"> </span>intent
<span class="w"> </span>it<span class="w"> </span>only<span class="w"> </span>works<span class="w"> </span>with<span class="w"> </span>an<span class="w"> </span>output<span class="w"> </span>profile
<span class="w"> </span>-b,<span class="w"> </span>--brief<span class="w"> </span>brief<span class="w"> </span>output
<span class="w"> </span>it<span class="w"> </span>can<span class="w"> </span>be<span class="w"> </span>re-entered<span class="w"> </span>as<span class="w"> </span>input<span class="w"> </span><span class="k">for</span><span class="w"> </span>chain<span class="w"> </span>conversions
All<span class="w"> </span>parameters<span class="w"> </span>following<span class="w"> </span>--<span class="w"> </span>are<span class="w"> </span>considered<span class="w"> </span>components<span class="w"> </span>values.<span class="w"> </span>This<span class="w"> </span>is<span class="w"> </span>useful<span class="w"> </span>to<span class="w"> </span>input<span class="w"> </span>negative<span class="w"> </span>components.
The<span class="w"> </span>tool<span class="w"> </span>expects<span class="w"> </span>exactly<span class="w"> </span>the<span class="w"> </span>number<span class="w"> </span>of<span class="w"> </span>components<span class="w"> </span>expected<span class="w"> </span>by<span class="w"> </span>your<span class="w"> </span>input<span class="w"> </span>format.
The<span class="w"> </span>default<span class="w"> </span>input<span class="w"> </span>and<span class="w"> </span>output<span class="w"> </span>formats<span class="w"> </span>are<span class="w"> </span><span class="s2">"R'G'B' float"</span><span class="w"> </span>and<span class="w"> </span>default<span class="w"> </span>space<span class="w"> </span>is<span class="w"> </span>sRGB<span class="w"> </span><span class="k">for</span><span class="w"> </span>RGB<span class="w"> </span>formats,<span class="w"> </span>or<span class="w"> </span>the<span class="w"> </span>naive<span class="w"> </span>CMYK<span class="w"> </span>space<span class="w"> </span><span class="k">for</span><span class="w"> </span>CMYK<span class="w"> </span>formats.
</code></pre></div>
<p>Of course, this tool is still meant to evolve.</p>
<p>Note that babl 0.1.96 is functionally the same as babl 0.1.94, except
for a fix in the build system, which was preventing to build babl from a
tarball. Packagers in particular should therefore use the latest version.</p>
<h3 id="gegl-0438"><span class="caps">GEGL</span> 0.4.38<a class="headerlink" href="#gegl-0438" title="Permanent link">¶</a></h3>
<p>A new denoising operation called “Denoise <span class="caps">DCT</span>” (<code>"denoise-dct"</code>) was
introduced by Thomas Manni. It decomposes the input buffer to sliding
overlapping patches, calculates the <span class="caps">DCT</span> denoising in each patch, and
then aggregates the denoised patches to the output buffer averaging the
overlapped pixels.</p>
<p>As for existing operations, the following were improved:</p>
<ul>
<li><code>ff-load</code> and <code>ff-save</code>: big <span class="caps">API</span> cleanup, now ffmpeg-5.0 compatible.</li>
<li><code>gif-load</code>: updated to latest upstream libnsgif version.</li>
<li><code>slic</code>: progress reporting and improved parameter handling.</li>
<li><code>vector-fill</code>: updated to latest upstream ctx version.</li>
<li><code>oilify</code>: clamp inputs to avoid <code>nan</code> in output.</li>
<li><code>gegl:load</code>: fix possible double free.</li>
<li><code>rgbe-write</code>: plug leaks in error paths.</li>
</ul>
<p>Apart from bug fixes, other interesting points are that the build
simplified using <span class="caps">GEGL</span> as a subproject and the continuous integration has
been rewritten to be more reliable.</p>
<h2 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h2>
<p><a href="https://film.zemarmot.net/en/#team">Aryeom</a> got reporter access to gimp
and gimp-web to help with various design-related issues.</p>
<p>Daniel Novomeský, maintainer of our <span class="caps">JPEG</span>-<span class="caps">XL</span> and <span class="caps">HEIF</span>/<span class="caps">AVIF</span> plug-ins, has
been given access right to our flathub repository (for our stable and
development flatpak) to help with maintenance.</p>
<p>We’d like to thank a category of contributors who are historically not
much in the light: release testers. Recently in particular, as we are
enhancing our <a href="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#continuous-integration-changes">continuous integration and release
process</a>,
we also try to improve manual verifications before release. Users are
very welcome to discuss with us and hang out on our discussion channels
during release frenzy to test the final builds.</p>
<p>For our Windows installer, additionally to packagers (Jernej Simončič)
and developers (Jacob Boerema), we want to thank
<a href="https://www.deviantart.com/sevenics">Sevenix</a> for having always been
on-call, testing our installers for a few releases now. Sevenix also
helps us to moderate our recent <a href="https://www.gimp.org/discuss.html#discord">Discord discussion
channel</a>.</p>
<p>This is true for the Linux flatpak and the macOS <span class="caps">DMG</span> as well, as in
these case, only their packagers (respectively Jehan and Lukas
Oberhuber) have been testing them before release these days. So whatever
is your platform of choice, please join us!</p>
<p>It’s a good reminder that you don’t need to be a developer to contribute
back. There are tasks for designers, packagers, testers, translators,
documenters and more! 🤗</p>
<h2 id="websites">Websites<a class="headerlink" href="#websites" title="Permanent link">¶</a></h2>
<h3 id="documentation-website">Documentation website<a class="headerlink" href="#documentation-website" title="Permanent link">¶</a></h3>
<p>We regularly write about this here: the <a href="https://www.gimp.org/news/2021/09/18/gimp-2-10-28-released/#team-news">new
maintainer</a>
of the <code>gimp-help</code> repository (our documentation), <a href="https://www.jacobboerema.nl/en/">Jacob
Boerema</a>, has been improving it for over
a year now, doing much needed maintenance, removing technical debt, and
improving what existed. But you could not see much of it… until today!</p>
<p>Indeed he very recently updated the <a href="https://docs.gimp.org/">online documentation
website</a>. As you can see, from the landing page
already, we finally see all languages, and each of them show their
translation ratio now. We do hope it will trigger more people to help
and contribute to translation! 😸</p>
<p>A daily-update process has also been set up, so that we won’t ever get
back in this bad situation of outdated online documentation for years
(even though some contents were already fixed in-repository).</p>
<p>The Quick Reference <span class="caps">PDF</span> is now also available in every supported
language (once again with translation completion percentage showing up).</p>
<p>Of course, a lot of original contents still deserve more love, either
outdated, or information about new features may be missing. There is
just so much that a man alone can do. Yet now the infrastructure is
there to welcome a much faster update and feedback process, so if anyone
wants to contribute to the documentation, you should look at the
<a href="https://gitlab.gnome.org/Infrastructure/gimp-web">repository</a> and
propose merge requests. The contribution format is <em>DocBook</em>.</p>
<p>For translation contributions, you should get in touch with <span class="caps">GNOME</span>
translation teams as they have their own platform. More information is
available <a href="https://docs.gimp.org/help.html">here</a>.</p>
<p>A dedicated news with more details might soon be published, possibly if
we decide to make a new tagged release of the manual, which will mean
new installers for Windows, and tarballs for other platforms and for
packagers, containing up-to-date contents for offline usage.</p>
<h3 id="development-website">Development website<a class="headerlink" href="#development-website" title="Permanent link">¶</a></h3>
<p>Meanwhile our <a href="https://developer.gimp.org/">developer website</a> was in an
even more dire situation as it had not been updated for over 10 years!</p>
<p>This is about to change as one of our goals for <span class="caps">GIMP</span> 3.0 is to improve
the plug-in ecosystem, not only with an upcoming <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#extensions">extension
platform</a>,
but also with better and more up-to-date documentation.</p>
<p>The work on the new developer website is finally starting, thanks to the
impulsion by Robin Swift, a new contributor, and help from Pat David
(who is the long-time contributor who already helped by <a href="https://www.gimp.org/news/2015/11/22/20-years-of-gimp-release-of-gimp-2816/#new-website">revamping our
website</a>
and created the <a href="https://pixls.us/"><span class="caps">PIXLS</span>.<span class="caps">US</span> community</a> for <span class="caps">FLOSS</span>
photography tool).</p>
<p>We already ported the website contents, away from DocBook, to the
<a href="https://gohugo.io/">Hugo</a> platform. This should simplify contributions.
We also cleaned most of the outdated contents and started to port some
contents which were stored in the source repository itself and from the wiki.</p>
<p>Ah, the wiki! Some people might have noticed that it is gone now. We
used to have the roadmap, build instructions for newcomers and more
technical or historical stuff over there. Let’s say that unfortunate
events occurred and we lost it. 😱</p>
<p>Fortunately all the contents could be salvaged, and we plan to port the
valuable parts into the upcoming developer website, nicely
organized.
After all, both the wiki and the developer website were filling a
similar purpose (with the exception that one was mostly abandoned). So
in the end, it’s a good thing, organization wise, right? 😅).</p>
<p>It’s still very early in the migration process, so we will keep you
up-to-date with more exciting news soon.</p>
<h2 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h2>
<p>A new
<a href="https://www.gimp.org/donating/sponsors.html#official-mirrors">mirror</a>
joined us to distribute <span class="caps">GIMP</span>.</p>
<p>Thanks to <em>SandyRiver.<span class="caps">NET</span></em> in Pikeville, Kentucky <span class="caps">USA</span>, for sharing the
download load!</p>
<h2 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h2>
<p>Three German books and three Polish books about <span class="caps">GIMP</span> have been added to
the <a href="https://www.gimp.org/books/">books page</a>:</p>
<ul>
<li><a href="https://www.gimp.org/books/#gimp-210-das-umfassende-handbuch"><em><span class="caps">GIMP</span> 2.10. Das umfassende Handbuch</em>, by Jürgen Wolf</a>
(2019, in German)</li>
<li><a href="https://www.gimp.org/books/#gimp-niesamowite-efekty"><em><span class="caps">GIMP</span>. Niesamowite efekty</em>, by Błażej Witkowski</a>
(2019, in Polish)</li>
<li><a href="https://www.gimp.org/books/#gimp-poznaj-swiat-grafiki-komputerowej"><em><span class="caps">GIMP</span>. Poznaj świat grafiki komputerowej</em>, by Błażej Witkowski</a>
(2019, in Polish)</li>
<li><a href="https://www.gimp.org/books/#bildbearbeitung-mit-gimp-210-leicht-gemacht-der-praktische-einstieg"><em>Bildbearbeitung mit <span class="caps">GIMP</span> 2.10 leicht gemacht. Der praktische Einstieg</em>, by Robert Klaßen</a>
(2018, in German)</li>
<li><a href="https://www.gimp.org/books/#gimp-28"><em><span class="caps">GIMP</span> 2.8</em>, by Bettina K. Lechner</a>
(2014, in German)</li>
<li><a href="https://www.gimp.org/books/#fotografia-cyfrowa-obsuga-programu-gimp"><em>Fotografia cyfrowa, Obsługa programu <span class="caps">GIMP</span></em>, by Jadwiga Pawluk</a>
(2012, in Polish)</li>
</ul>
<p>We remind that we welcome book additions. Whether you wrote it or just
read it, if you know of a book about <span class="caps">GIMP</span>, just <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the same
information as other books in the list</a>. Thanks!</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>61 people contributed to the <a href="https://gitlab.gnome.org/GNOME/gimp/">main
repository</a> for <span class="caps">GIMP</span> 2.99.12:</p>
<ul>
<li>23 developers contributed to <code>GIMP</code> code base for this micro version:<ul>
<li>1 developer with more than 300 commits: Jehan.</li>
<li>4 developers with 10 to 50 commits: Jacob Boerema, Nikc, Loyd
Konneker, Niels De Graef.</li>
<li>18 developers with less than 10 commits: Povilas Kanapickas, Kevin
Cozens, Lukas Oberhuber, woob, Simon Budig, Anders Jonsson, Axel
Viala, Ben Rogalski, Claude Paroz, Daniel Novomeský, GokhanKabar,
Jan Tojnar, L amander, azetoy, houda, Øyvind Kolås, ktoyle and
Sonia Habtiche.</li>
</ul>
</li>
<li>25 translations were updated: Basque, Brazilian Portuguese, Bulgarian,
Catalan, Chinese (China), Danish, Dutch, Finnish, French, Galician,
Georgian, German, Greek, Hungarian, Icelandic, Korean, Persian,
Polish, Portuguese, Russian, Slovenian, Spanish, Swedish, Turkish, Ukrainian.</li>
<li>35 translators contributed: Yuri Chornoivan, Hugo Carvalho, Martin,
Rodrigo Lledó, Zurab Kargareteli, Luming Zh, Anders Jonsson, Fran
Dieguez, Sveinn í Felli, Nathan Follens, Asier Sarasua Garmendia,
Balázs Úr, Matej Urbančič, Alan Mortensen, Aleksandr Melman, Alexandre
Prokoudine, Claude Paroz, Jordi Mas, Sabri Ünal, Balázs Meskó,
MohammadSaleh Kamyab, Alexander Shopov, Jiri Grönroos, Piotr Drąg,
dimspingos, Charles Monzat, Hannie Dumoleyn, Jürgen Benvenuti, Tim
Sabsch, Alexandre Franke, Aryeom, Boyuan Yang, Danial Behzadi, Maíra
Canal and Rafael Fontenelle.</li>
<li>4 people helped with in-code documentation: Jehan, Lloyd Konneker,
Niels De Graef and Akkana Peck.</li>
<li>1 person contributed to icons: Stanislav Grinkov.</li>
<li>3 people contributed to cursors: Aryeom, Jehan and L amander.</li>
<li>3 people contributed to themes: Jehan, Akkana Peck and Nikc.</li>
<li>12 people contributed build-related updates: Jehan, Lloyd Konneker,
Akkana Peck, Anders Jonsson, Jan Tojnar, ktoyle, Øyvind Kolås, Lukas
Oberhuber, Bartłomiej Piotrowski, Ondřej Míchal, Daniel Novomeský and
Jacob Boerema.</li>
</ul>
<p>These are the stats on <a href="https://gitlab.gnome.org/GNOME/babl/">babl</a>,
<a href="https://gitlab.gnome.org/GNOME/gegl/"><span class="caps">GEGL</span></a> and
<a href="https://ctx.graphics/files.html">ctx</a> repositories:</p>
<ul>
<li>7 contributors to <code>babl</code> 0.1.94 and 0.1.96:<ul>
<li>3 contributors with multiple commits: Axel Viala, Øyvind Kolås and Jehan.</li>
<li>4 contributors with single commits: Eli Schwartz, Lukas Oberhuber,
Sergey Torokhov and Xavier Claessens.</li>
</ul>
</li>
<li>24 contributors to <code>GEGL</code> 0.4.38:<ul>
<li>7 contributors with multiple commits: Øyvind Kolås, Behnam
Momeni, Thomas Manni, Michael Drake, Xavier Claessens, Axel Viala
and Anders Jonsson,</li>
<li>3 contributors with single commit: Felix Schwarz, Jehan and darnuria.</li>
<li>15 translators: Hugo Carvalho, Piotr Drąg, Rodrigo Lledó, Yuri
Chornoivan, Anders Jonsson, Luming Zh, Martin, Zurab Kargareteli,
dimspingos, Alan Mortensen, Jordi Mas, Marcia van den Hout, Marco
Ciampa, Sabri Ünal and Tim Sabsch.</li>
</ul>
</li>
<li><code>ctx</code> doesn’t have releases per-se as it is project-embedded code. So
let’s count commits in the time frame between <span class="caps">GIMP</span> 2.99.10 and 2.99.12:<ul>
<li>1 contributor with 396 commits: Øyvind Kolås.</li>
</ul>
</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/GNOME/gimp-help/">documentation
repository</a>, in the same time
frame as <span class="caps">GIMP</span> 2.99.12, 26 people contributed:</p>
<ul>
<li>1 contributor with more than a hundred commits on documentation and
scripts: Jacob Boerema.</li>
<li>7 contributors on the documentation itself or scripts, with less than
30 commits: Jehan, Anders Jonsson, Andre Klapper, Balázs Úr, Daniele
Forsi, Jernej Simončič and Marco Ciampa.</li>
<li>21 translators: Rodrigo Lledó, Jordi Mas, Nathan Follens, Yuri
Chornoivan, Marco Ciampa, Anders Jonsson, Tim Sabsch, Hugo Carvalho,
Balázs Úr, dimspingos, Alan Mortensen, Aleksandr Melman, Charles
Monzat, Claude Paroz, Danial Behzadi, Kjartan Maraas, Luming Zh,
Martin, Matheus Barbosa, Milo Ivir and Ulf-D. Ehlert.</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web/">main website
repository</a>:</p>
<ul>
<li>1 contributor contributed 76 commits: Jehan.</li>
<li>5 contributors contributed 1 to 10 commits: Alexandre Prokoudine,
Anders Jonsson, Tom Gooding, Alberto Garcia Briz and Babs Keeley.</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build">macOS build
repository</a>:</p>
<ul>
<li>1 contributor contributed 71 commits: Lukas Oberhuber.</li>
<li>1 contributor contributed 2 commits: Jehan.</li>
</ul>
<p>On the <a href="https://gitlab.gnome.org/Infrastructure/gimp-web-devel/">developer website
repository</a>:</p>
<ul>
<li>3 contributors: Jehan, Pat David and Robin Swift.</li>
</ul>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting and manual tweaking, errors may
slip inside these stats. Feel free to tell us if we missed or
mis-categorized some contributors or contributions because we try to
acknowledge every contributor for being a part of <span class="caps">GIMP</span>!</em></p>
<h2 id="downloading-gimp-29912">Downloading <span class="caps">GIMP</span> 2.99.12<a class="headerlink" href="#downloading-gimp-29912" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.99.12 is available on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a> in 3 package formats:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> package</li>
</ul>
<p>Other packages made by third-party are obviously expected to follow
(Linux, *<span class="caps">BSD</span> distributions’ packages, etc.). The <span class="caps">MSYS2</span> project is also
apparently planning to package the development version soon too.</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>This release is once again a major milestone towards <span class="caps">GIMP</span> 3.0. All 2.99
development versions were big milestones, but we are really feeling we
are getting close to release candidates now, with some great improvements
happening in much needed places:</p>
<ul>
<li>we are finally getting proper neutral-gray themes;</li>
<li>our Wayland build is finally getting a bit stabler (even though issues remain);</li>
<li>our macOS build is really on the usable side now;</li>
<li>our last remaining <span class="caps">GTK</span> port issues are slowly, but very surely,
getting taken care care of;</li>
<li>the space invasion project is showing leaps thanks to the <span class="caps">CMYK</span> project
(which forces us to review color space issues as a whole);</li>
<li>Script-fu and the <span class="caps">API</span> in general are getting much love;</li>
<li>several of our long-worked improvement projects are getting to an end;</li>
<li>and more as so many things are on the work!</li>
</ul>
<p>We still can’t give you any date for <span class="caps">GIMP</span> 3.0, but we are getting there! 🤩</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate and personally fund <span class="caps">GIMP</span>
developers</a>, as a way to
give back and <strong>accelerate the development of <span class="caps">GIMP</span></strong>. The <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers
of <span class="caps">GEGL</span> and <span class="caps">GIMP</span> are <strong>crowdfunding</strong> to be able to work
full-time on free
software</a>,
which could happen thanks to its community! 💪🥳</p>GIMP 2.10.32 is on the Microsoft Store!2022-06-18T00:00:00+02:002022-06-18T00:00:00+02:00Wilbertag:www.gimp.org,2022-06-18:/news/2022/06/18/gimp-2-10-32-on-microsoft-store/<p><span class="caps">GIMP</span> is officially distributed on the Microsoft Store</p><p>Until now, <span class="caps">GIMP</span> was only officially distributed <strong>for Windows</strong> as an
installer provided on our <a href="https://www.gimp.org/downloads/">download page</a>.</p>
<p>In particular, the <span class="caps">GIMP</span> team never distributed it via the <em>Microsoft
Store</em>.
<a href="https://apps.microsoft.com/store/detail/gimp/XPDM27W10192Q0">This changes
today!</a> 🥳</p>
<h2 id="what-if-i-see-several-gimp-on-the-microsoft-store">What if I see several <span class="caps">GIMP</span> on the Microsoft Store?<a class="headerlink" href="#what-if-i-see-several-gimp-on-the-microsoft-store" title="Permanent link">¶</a></h2>
<p>You might see other “<span class="caps">GIMP</span>” on the Microsoft Store, so you must be
careful. For the official package, make sure you use the link we provide:</p>
<p class='buttons'>
<span class='download-button' id='download-ms-store'>
<a href="ms-windows-store://pdp/?productid=XPDM27W10192Q0">
<span class="caps">GIMP</span> on Microsoft Store
(Windows-only link)
</a>
</span>
</p>
<p>While others distributing <span class="caps">GIMP</span> is not necessary a problem (we even have
a <a href="https://www.gimp.org/about/selling.html">page explaining why selling <span class="caps">GIMP</span> is not illegal</a>),
we have no way to know what is actually in a third-party package, hence
we cannot vouch for them.</p>
<p>Problems could be malware 😱 participating in botnets, hack your files or
other computers or perhaps just steal <span class="caps">CPU</span> resources. Some are charging
for their packages while using deceptive wording — seeming to be the
official <span class="caps">GIMP</span> team — and at the same time introducing subtle bugs or
significant problems like uploading opened images behind the users back.
The official <span class="caps">GIMP</span> packages do not contain malware nor do they upload
your files. We have a strict <a href="https://www.gimp.org/about/privacy.html">Privacy
Policy</a>.
Our packages are also <a href="#funding-gimp"><strong>free of charge</strong></a>.</p>
<p>These are not all cases, and other third-party packagers may be doing a
great job adding value (user support, additional documentation, more
filters…) so you are welcome to continue using these as long as you are
aware they are not related to us.
Anyway we saw enough problematic cases that we are happy to announce
<span class="caps">GIMP</span> being now officially distributed on the Microsoft Store so that
everyone can get <span class="caps">GIMP</span> from its source.</p>
<h2 id="limitations-of-stores-gimp">Limitations of store’s <span class="caps">GIMP</span><a class="headerlink" href="#limitations-of-stores-gimp" title="Permanent link">¶</a></h2>
<p>We worked closely with a developer relations team at Microsoft for this
new distribution channel. <span class="caps">GIMP</span> is proposed as what they call a
<a href="https://developer.microsoft.com/en-us/microsoft-store/desktop-apps/">traditional desktop
app</a>
which basically means that even if you install <span class="caps">GIMP</span> from the store, it
actually uses the exact same installer (as found on our <a href="https://www.gimp.org/downloads/">download
page</a> then run by the store in silent mode).</p>
<p>The good side is that it’s easier for us to maintain and user experience
is exactly the same. The bad side is that it doesn’t get additional
niceties made available by centralized repositories, such as
auto-update. You will still have to update yourself, the old way.</p>
<p>This is why working on a <span class="caps">MSIX</span> or <span class="caps">UWP</span> package remains a possibility if
anyone wants to continue the <a href="https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/588">work started</a>.
Contributors welcome! 🤗</p>
<h2 id="funding-gimp">Funding <span class="caps">GIMP</span><a class="headerlink" href="#funding-gimp" title="Permanent link">¶</a></h2>
<p>As all other official <span class="caps">GIMP</span> packages, <strong><span class="caps">GIMP</span> is free of charge on the
Windows Store</strong>. 💌</p>
<p>If <span class="caps">GIMP</span> is useful to you and <strong>you wish to fund development</strong>, you are
very welcome to <a href="https://www.gimp.org/donating/"><strong>donate</strong> to the project and fund core <span class="caps">GIMP</span>
developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>.</p>
<p class='buttons'>
<a href="https://www.gimp.org/donating/">
<span class='donate-button'>
Support us by<br/> <strong>Donating</strong>
</span>
</a>
</p>GIMP 2.10.32 Released2022-06-14T00:00:00+02:002022-06-14T00:00:00+02:00Wilbertag:www.gimp.org,2022-06-14:/news/2022/06/14/gimp-2-10-32-released/<p>Release news for version <span class="caps">GIMP</span> 2.10.32</p><p><span class="caps">GIMP</span> continues strengthening its bases as this new version 2.10.32 is
quite heavy on bug fixes and improves our support for many image file formats.</p>
<div class="toc">
<ul>
<li><a href="#file-formats">File Formats</a><ul>
<li><a href="#tiff-and-bigtiff"><span class="caps">TIFF</span> and BigTIFF</a></li>
<li><a href="#jpeg-xl"><span class="caps">JPEG</span> <span class="caps">XL</span></a></li>
<li><a href="#dds"><span class="caps">DDS</span></a></li>
<li><a href="#metadata-handling-psd">Metadata handling (<span class="caps">PSD</span>…)</a></li>
<li><a href="#xcf"><span class="caps">XCF</span></a></li>
<li><a href="#other-formats">Other formats</a></li>
</ul>
</li>
<li><a href="#text-tool-localized-glyph-variants">Text tool: localized glyph variants</a></li>
<li><a href="#usability-themes-and-icons">Usability: themes and icons</a></li>
<li><a href="#improved-screenshot-on-windows">Improved Screenshot on Windows</a></li>
<li><a href="#gegl-babl"><span class="caps">GEGL</span>, babl</a><ul>
<li><a href="#automatic-lut-creation-for-conversions-in-babl">Automatic <span class="caps">LUT</span> creation for conversions in babl</a></li>
<li><a href="#simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl"><span class="caps">SIMD</span> builds for x86_64 and <span class="caps">ARM</span> neon (ctx, babl and <span class="caps">GEGL</span>)</a></li>
<li><a href="#other-improvements">Other improvements</a></li>
</ul>
</li>
<li><a href="#team-news">Team news</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#around-gimp">Around <span class="caps">GIMP</span></a><ul>
<li><a href="#mirror-news">Mirror news</a></li>
<li><a href="#book-news">Book news</a></li>
</ul>
</li>
<li><a href="#downloading-gimp-21032">Downloading <span class="caps">GIMP</span> 2.10.32</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p><em>This news lists the most notable and visible changes. In particular, we
do not list here the bug fixes.
To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/2ea287125f6af3cf9d35ea607071e648dcf4465e/NEWS#L11"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</em></p>
<h2 id="file-formats">File Formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<h3 id="tiff-and-bigtiff"><span class="caps">TIFF</span> and BigTIFF<a class="headerlink" href="#tiff-and-bigtiff" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now supports <strong>8 and 16-bit <span class="caps">CMYK</span>(A) <span class="caps">TIFF</span></strong> files on import. This is
one of the first consequences (already!) of the <a href="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/">GSoC
project</a>
by NikcDC under mentorship of Jehan.</p>
<p>Moreover the <strong>BigTIFF format is now supported</strong>, both for import and
export. BigTIFF is an evolution of the original <span class="caps">TIFF</span> format allowing
files bigger than 4GiB by using 64-bit internal offsets.</p>
<p>The <span class="caps">TIFF</span> export dialog exposes a checkbox to enable this format variant.</p>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-bigtiff-export.png" alt="BigTIFF export GIMP 2.10.32"/>
<figcaption>
<em>BigTIFF export in <span class="caps">GIMP</span> 2.10.32: new option in the <span class="caps">TIFF</span> export dialog</em>
</figcaption>
</figure>
<p>Moreover, if you try to export as a <span class="caps">TIFF</span> file and if it fails because of
the maximum file size being exceeded, it will propose you to retry
either as BigTIFF or with another compression algorithm.</p>
<p>Finally additional special cases in <span class="caps">TIFF</span> format are now taken into
account, making loading <span class="caps">TIFF</span> files more robust.</p>
<h3 id="jpeg-xl"><span class="caps">JPEG</span> <span class="caps">XL</span><a class="headerlink" href="#jpeg-xl" title="Permanent link">¶</a></h3>
<p><span class="caps">JPEG</span> <span class="caps">XL</span> file format has been supported in development code ever since
<a href="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#improved-file-formats-support-jpeg-xl-psdpsb-and-more"><span class="caps">GIMP</span>
2.99.8</a>.</p>
<p>Daniel Novomeský <strong>backported the import</strong> code to the stable branch.</p>
<p>We remind that a <a href="https://github.com/libjxl/libjxl/tree/main/plugins/gimp">third-party
plug-in</a>
already exists, by developers of the <code>libjxl</code> library. It is a different
codebase and should still work with <span class="caps">GIMP</span> 2.10.32. The main advantage of
the third-party plug-in is that it has also export capabilities (which
our stable plug-in doesn’t have yet), though with some unsolved issues
causing some images to fail to load or export correctly.</p>
<p>You are welcome to continue using the third-party plug-in if you prefer.
For instance the <code>MSYS2</code> project now has it built-in within the <code>libjxl</code>
package. If you install it, it will take precedence over our new core plug-in.</p>
<h3 id="dds"><span class="caps">DDS</span><a class="headerlink" href="#dds" title="Permanent link">¶</a></h3>
<p>Some game engines require <span class="caps">DDS</span> images to be flipped vertically. Until
now, asset creators had to flip the image in <span class="caps">GIMP</span>, export, then undo,
which was not a very practical workflow.</p>
<p>This is why NikcDC added a <strong>new “<em>Flip the image vertically on export</em>”
option</strong> allowing you to flip your image at export time.</p>
<p>Similarly, there is now a <strong>“<em>Visible layers</em>” option</strong> (additionally to
“<em>Selected layer</em>“, “<em>As cube map</em>“…) allowing you to export the whole
image render, not a single layer. So depending on your work usage, you
won’t have to flatten your image (to later undo this action) anymore
before export.</p>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-dds-export.png" alt="DDS export GIMP 2.10.32"/>
<figcaption>
<em><span class="caps">DDS</span> export in <span class="caps">GIMP</span> 2.10.32: new “flip” and “All visible layers” options</em>
</figcaption>
</figure>
<h3 id="metadata-handling-psd">Metadata handling (<span class="caps">PSD</span>…)<a class="headerlink" href="#metadata-handling-psd" title="Permanent link">¶</a></h3>
<p>Several metadata handling improvements were made. One of the most
important changes is that <span class="caps">GIMP</span> will start dropping
<code>Xmp.photoshop.DocumentAncestors</code> tags if more than a thousand of them
are found.</p>
<p>This case is very likely due to a bug in some versions of Photoshop or
other software creating <code>PSD</code> files as we encountered over 100,000 such
tags in some files (it probably makes no sense that a document could
have that many ancestor documents), which was seriously slowing down
<span class="caps">GIMP</span> to the point it looked frozen.</p>
<h3 id="xcf"><span class="caps">XCF</span><a class="headerlink" href="#xcf" title="Permanent link">¶</a></h3>
<p><span class="caps">XCF</span> import code also received various improvements, making the software
more robust to invalid files. In some cases, it allows to salvage more
data from corrupted <span class="caps">XCF</span> files, hence protecting your work.</p>
<h3 id="other-formats">Other formats<a class="headerlink" href="#other-formats" title="Permanent link">¶</a></h3>
<p>More format handling were improved:</p>
<dl>
<dt><span class="caps">BMP</span></dt>
<dd>A new <code>PDB</code> procedure <code>file-bmp-save2</code> was added for plug-in
developers. It supports all the options available interactively.</dd>
<dt><span class="caps">DICOM</span></dt>
<dd>Fixed endian conversion for photometric interpretation <code>MONOCHROME1</code>.</dd>
<dt><span class="caps">EPS</span></dt>
<dd>Loading transparent <span class="caps">EPS</span> files is now supported.</dd>
<dt><span class="caps">RAW</span></dt>
<dd><span class="dquo">“</span><em><span class="caps">RGB</span> Save Type</em>” confusing dialog label renamed to “<em>Palette Type</em>”
as on the main dev branch.</dd>
<dt><span class="caps">TGA</span></dt>
<dd>Improved support of indexed images with alpha channel (both import
and export).</dd>
<dt>WebP</dt>
<dd>Export has a new <span class="caps">IPTC</span> checkbox (saved through <span class="caps">XMP</span>) as well as a
thumbnail checkbox. (backported from dev branch, since 2.99.8)</dd>
</dl>
<h2 id="text-tool-localized-glyph-variants">Text tool: localized glyph variants<a class="headerlink" href="#text-tool-localized-glyph-variants" title="Permanent link">¶</a></h2>
<p>The Text tool now supports localized glyphs (<code>locl</code>) depending on the
value of the “Language” tool option.</p>
<p>It is useful if you write in languages with regional variant forms (e.g.
Serbian or Ukrainian use the same Cyrillic alphabet yet with 5 letters
having regional variants).</p>
<p><em>If your chosen font supports several variants</em>, you can now
tell the internal formatting system through the “Language” settings
which one needs to be used.</p>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-locl.png" alt="locl support in GIMP 2.10.32"/>
<figcaption>
<em>‘locl’ support in <span class="caps">GIMP</span> 2.10.32: same characters in (left) Serbian (right) Ukrainian<br/>(top) upright (bottom) italic</em>
</figcaption>
</figure>
<h2 id="usability-themes-and-icons">Usability: themes and icons<a class="headerlink" href="#usability-themes-and-icons" title="Permanent link">¶</a></h2>
<ul>
<li>All official themes now have on-hover indicator around the eye 👁️ and
link 🔗 toggles in Layer/Channel/Path Dialog tree-views.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-eye-link-toggles.gif" alt="On hover effect on eye and link toggles in GIMP 2.10.32"/>
<figcaption>
<em>On-hover effect on eye and link toggles in <span class="caps">GIMP</span> 2.10.32</em>
</figcaption>
</figure>
<ul>
<li>In the Dark theme, a new on-hover effect on radio menu items was added
to improve readability.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-on-hover-menu-radio-item.gif" alt="On hover effect on radio item in GIMP 2.10.32"/>
<figcaption>
<em>On-hover effect on radio menu items in <span class="caps">GIMP</span> 2.10.32</em>
</figcaption>
</figure>
<ul>
<li>In the Color icon theme, thin contrast borders were added to the
‘close’ and ‘detach’ icons to improve their readability against dark
backgrounds on mouse-hover.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-color-theme-contrast-icons.png" alt="More readable icons in GIMP 2.10.32"/>
<figcaption>
<em>More readable icons in <span class="caps">GIMP</span> 2.10.32</em>
</figcaption>
</figure>
<ul>
<li>In the Color icon theme, horizontal and vertical chain ⛓️ icons are
more distinguishable between their broken and not-broken variants.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-color-chain-icons.png" alt="Chain icons in Color icon theme in GIMP 2.10.32"/>
<figcaption>
<em>Left: <span class="caps">GIMP</span> 2.10.30 - Right <span class="caps">GIMP</span> 2.10.32</em>
</figcaption>
</figure>
<p>All these changes are works by Stanislav Grinkov.</p>
<h2 id="improved-screenshot-on-windows">Improved Screenshot on Windows<a class="headerlink" href="#improved-screenshot-on-windows" title="Permanent link">¶</a></h2>
<p>The Screenshot plug-in was missing the “<em>Include mouse pointer</em>” option
on Windows.</p>
<p>This long missing feature, which was available on other platforms (such
as Linux X11/Wayland, *<span class="caps">BSD</span> or macOS) is now implemented on Windows as well!</p>
<figure>
<img src="https://www.gimp.org/news/2022/06/14/gimp-2-10-32-released/gimp-2-10-32-screenshot-windows.png" alt="Screenshot plug-in on Windows in GIMP 2.10.32"/>
<figcaption>
<em>Screenshot plug-in on Windows in <span class="caps">GIMP</span> 2.10.32: new “Include mouse pointer” options</em>
</figcaption>
</figure>
<h2 id="gegl-babl"><span class="caps">GEGL</span>, babl<a class="headerlink" href="#gegl-babl" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> 2.10.32 is the first stable release with the nice optimizations
brought since <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#babl-and-gegl">babl 0.1.90 and <span class="caps">GEGL</span>
0.4.36</a>,
now that they have been battle-tested and debugged within the
development release <span class="caps">GIMP</span> 2.99.10.
As a consequence, <code>babl</code> 0.1.92 has been released, fixing in particular
<span class="caps">SIMD</span> discovery ability, which was misbehaving on Windows.</p>
<p>These improvements are important enough that we felt their 2.99.10
description deserved to be copied on the stable news to make clear this
applies to <span class="caps">GIMP</span> 2.10.32 now.</p>
<h3 id="automatic-lut-creation-for-conversions-in-babl">Automatic <span class="caps">LUT</span> creation for conversions in babl<a class="headerlink" href="#automatic-lut-creation-for-conversions-in-babl" title="Permanent link">¶</a></h3>
<p>Citing Øyvind in a recent <a href="https://www.patreon.com/posts/babl-lutefisk-62286666">report</a>:</p>
<blockquote>
<p>babl works as a universal pixel encoding translator by having - a not
necessarily fast reference conversion able to deal with everything - and
a collection of conversions that can be chained together into what babl
calls fishes. The fishes are raced against each other to find the best
conversion babl is able to create.</p>
</blockquote>
<p>In some situations, a <a href="https://en.wikipedia.org/wiki/Lookup_table#Lookup_tables_in_image_processing"><span class="caps">LUT</span> (Look-Up
Table)</a>
will perform better, we now know what the performance will be of using a
<span class="caps">LUT</span> for various combinations of input and output bits per pixel; and
mark fishes that are better as LUTs on creation time. If such a fish is
used more than a minimum, <span class="caps">LUT</span> population is triggered.</p>
<p>Right now one drawback is that it might actually slow down slightly the
first conversion happening in a given <code>input > output</code> conversion couple.
The solution which might come later would be to create the LUTs in the
background in a thread and continue doing non-<span class="caps">LUT</span> conversions until it
is ready.</p>
<p>Note that the created LUTs are also garbage-collected after a few
minutes of non-usage, to avoid filling memory with single use LUTs.</p>
<h3 id="simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl"><span class="caps">SIMD</span> builds for x86_64 and <span class="caps">ARM</span> neon (ctx, babl and <span class="caps">GEGL</span>)<a class="headerlink" href="#simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl" title="Permanent link">¶</a></h3>
<p>All of babl, <span class="caps">GEGL</span> and ctx have gotten similar <span class="caps">SIMD</span> build and dispatch changes applied.</p>
<p>Image processing code written to be portable and performant caters well to the
auto-vectorization support for <span class="caps">SIMD</span> in modern compilers. The way it is done is
mostly by changes to the build system. For now the code remains the same for
all targets but the approach can be extended with conditional intrinsics.</p>
<p>To see the impact this can have, here is a test of filling a circle with ctx
and its different pixel encoding targets, on a Raspberry Pi with default
compiler flags (without neon support). Note that the cairo reference
comparison is the <span class="caps">BGRA8</span> format (the only other format proposed by Cairo is A8):</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/GEGL-0-4-36-arm-without-neon.png" alt="Test results without SIMD"/>
<figcaption>
<em>Filling a 256px radius circle in a 512x512 buffer a number of times without Neon (smaller is better)</em>
</figcaption>
</figure>
<p>And the same test, with the compiler allowed to use Neon instructions:</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/GEGL-0-4-36-arm-with-neon.png" alt="Test results with SIMD"/>
<figcaption>
<em>Filling a 256px radius circle in a 512x512 buffer a number of times without Neon (smaller is better)</em>
</figcaption>
</figure>
<p>Note well that both the optimized and non-optimized cases are built-in,
and availability of relevant instructions determined by runtime tests.
This makes these optimizations very portable, despite being based on
recent architecture instructions.</p>
<p>ℹ️ Note that these changes (both the automatic <span class="caps">LUT</span> generation and the <span class="caps">SIMD</span>
dispatch) will apply to <span class="caps">GIMP</span> 2.10 versions later. For now they are
available in 2.99 as a form of beta test. We welcome feedbacks if you
encounter any misbehavior.</p>
<h3 id="other-improvements">Other improvements<a class="headerlink" href="#other-improvements" title="Permanent link">¶</a></h3>
<p><code>babl</code> now also comes with pre-defined <span class="caps">CIE</span> Lab u8 and <span class="caps">CIE</span> Lab u16 formats.</p>
<h2 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h2>
<p>lukaso was already considered co-maintainer of the macOS build
repository of <span class="caps">GIMP</span> (<code>gimp-macos-build</code>) since they have done most heavy
lifting on <span class="caps">GIMP</span> for macOS for many months. This has been made official
by changing their account to <code>maintainer</code> on this build repository.</p>
<p>Lloyd Konneker has been given developer git access to the main <span class="caps">GIMP</span>
repository, in particular for their nice work so far on script-fu (which
was in a state where dropping script-fu for <span class="caps">GIMP</span> 3.0 would have been
considered otherwise).</p>
<p>Kevin Cozens, a long term <span class="caps">GIMP</span> contributor and script-fu maintainer got
back recently and was given git access again to the repository. He will
help co-maintain script-fu with Lloyd.</p>
<p>Ondřej Míchal has been given “Reporter” rights on the main <span class="caps">GIMP</span>
repository (allowing to triage reports: labelling, closing,
reopening, and moving reports…).</p>
<p>After being given “Reporter” rights initially, NikcDC has eventually
been given developer git access in order to facilitate the work on
feature branches for their <a href="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/">GSoC
project</a>.</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>10 people contributed changes or fixes to <span class="caps">GIMP</span> 2.10.32 codebase:</p>
<ul>
<li>3 people contributed several code changes or fixes: Jacob Boerema,
Jehan and Nikc.</li>
<li>1 person contributed several theme and icon improvements: Stanislav Grinkov.</li>
<li>6 people contributed single commits: Sabri Ünal, Daniel Novomeský,
Lukas Oberhuber, Rafał Mikrut, smlu and Øyvind Kolås.</li>
</ul>
<p>About translations of <span class="caps">GIMP</span> itself:</p>
<ul>
<li>24 translators contributed: Anders Jonsson, Sveinn í Felli, Alan
Mortensen, Aleksandr Melman, Yuri Chornoivan, Hugo Carvalho, Luming
Zh, Rodrigo Lledó, Jordi Mas, Martin, Piotr Drąg, Balázs Úr, Jiri
Grönroos, Zurab Kargareteli, Boyuan Yang, Marco Ciampa, Matej
Urbančič, Milo Ivir, Sabri Ünal, Tim Sabsch , Balázs Meskó, Charles
Monzat, Fran Dieguez, Hannie Dumoleyn.</li>
<li>20 translations were updated: Catalan, Chinese (China), Croatian,
Danish, Dutch, Finnish, French, Georgian, German, Hungarian,
Icelandic, Italian, Polish, Portuguese, Russian, Slovenian, Spanish,
Swedish, Turkish, Ukrainian.</li>
<li><span class="caps">GIMP</span> 2.10.32 includes a new Georgian translation, incrementing the
number of available languages for the stable version to 83.</li>
<li><span class="caps">GIMP</span> was already localized in Galician, but not the Windows
installer… until this version!</li>
</ul>
<p>Contributions on other repositories in the GIMPverse:</p>
<ul>
<li>1 contributor to <code>babl</code> 0.1.92: Øyvind Kolås.</li>
<li>5 contributors to <code>babl</code> 0.1.90: Øyvind Kolås, Mingye Wang, Jehan,
Tomasz Golinski and Andrzej Hunt.</li>
<li>6 contributors to <code>GEGL</code> 0.4.36: Øyvind Kolås, Anders Jonsson, Jehan,
Alan Mortensen, Caleb Xu and zamfofex.</li>
<li><code>ctx</code> contributors in the same timeframe: Øyvind Kolås, and Jehan.</li>
<li>2 contributors to <code>gimp-macos-build</code> (macOS build scripts): Lukas
Oberhuber and Jehan.</li>
<li>4 contributors to <code>org.gimp.GIMP</code> (stable flatpak): Hubert Figuière,
Ondřej Míchal, Jehan and Rebecca Wallander.</li>
<li>1 Windows packager: Jernej Simončič.</li>
<li>Contributors to <code>gimp-help</code> (<span class="caps">GIMP</span> manual) since <a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/#release-stats">last
stats</a>:<ul>
<li>2 technical contributors (build scripts, continuous
integrations…): Jacob Boerema and Jehan.</li>
<li>5 documenters (original English text): Jacob Boerema, Anders
Jonsson, Andre Klapper, Jehan and Marco Ciampa.</li>
<li>20 translators: Rodrigo Lledó, Jordi Mas, Nathan Follens, Yuri
Chornoivan, Anders Jonsson, Hugo Carvalho, Marco Ciampa, Tim
Sabsch, Balázs Úr, dimspingos, Alan Mortensen, Aleksandr Melman,
Charles Monzat, Claude Paroz, Kjartan Maraas, Luming Zh, Martin,
Matheus Barbosa, Milo Ivir, Ulf-D. Ehlert.</li>
</ul>
</li>
<li>6 contributors to <code>gimp-web</code> (website) since last stats: Jehan,
Alexandre Prokoudine, Anders Jonsson, Tom Gooding, Alberto Garcia
Briz, Babs Keeley.</li>
</ul>
<p>Then let’s not forget to thank all the people who help us triaging in
Gitlab, report bugs and discuss evolutions with us.
And of course, our community is deeply thankful to the internet warriors
who manage our various <a href="https://www.gimp.org/discuss.html">discussion
channels</a> or social network accounts
such as Ville Pätsi, Alexandre Prokoudine, Liam Quin, Michael Schumacher
and Sevenix!</p>
<p><em>Note: considering the number of parts in <span class="caps">GIMP</span> and around, and how we
get statistics through <code>git</code> scripting, errors may slip inside these
stats. Feel free to tell us if we missed or mis-categorized some
contributors or contributions.</em></p>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="mirror-news">Mirror news<a class="headerlink" href="#mirror-news" title="Permanent link">¶</a></h3>
<p>Ever since our new <a href="https://www.gimp.org/news/2021/10/06/official-mirror-policy/">official mirror
procedure</a>,
the following mirrors have been added to our rotation scripts:</p>
<ul>
<li>Get Hosted Online (Rothwell, United Kingdom)</li>
<li>Aceldama Systems (Montreal, Canada)</li>
<li>Open Computing Facility (Berkeley, <span class="caps">CA</span>, United States)</li>
<li>Freedif (Singapore)</li>
</ul>
<p>One mirror from the previous list had to be removed because of
performance issues, and a mirror acceptance is still on-hold because of
the conflict and unstability in East Europe.</p>
<p>As a fun note, <span class="caps">GIMP</span> is now back to Berkeley through the <em>Open Computing
Facility</em> (student organization for <em>all University of California,
Berkeley students, faculty, and staff</em>). For anyone wondering why it’s
fun, you may read with interest the <a href="https://www.gimp.org/about/prehistory.html">birth
story</a> of the <span class="caps">GNU</span>
Image Manipulation Program.</p>
<p><abbr title="Too Long; Didn't Read"><span class="caps">TLDR</span>;</abbr> <span class="caps">GIMP</span> was originally
born in the University of California. I guess it’s good to be home, right?</p>
<h3 id="book-news">Book news<a class="headerlink" href="#book-news" title="Permanent link">¶</a></h3>
<p>Our <a href="https://www.gimp.org/books/">books page</a> was in a badly maintained
state. 4 books in Spanish were added to the list recently:</p>
<ul>
<li><a href="https://testing.gimp.org/books/#blanco-y-negro-con-gimp-2-ed"><em>Blanco y Negro con <span class="caps">GIMP</span></em> (2 ed.), by Alberto Garcia Briz (2022)</a></li>
<li><a href="https://testing.gimp.org/books/#niveles-y-curvas-con-gimp-2-ed"><em>Niveles y Curvas con <span class="caps">GIMP</span></em> (2 ed.), by Alberto Garcia Briz (2013)</a></li>
<li><a href="https://testing.gimp.org/books/#domine-gimp-manual-practico"><em>Domine <span class="caps">GIMP</span>. Manual práctico</em>, by Laura Raya González and José Luis
Raya Cabrera (2013)</a></li>
<li><a href="https://testing.gimp.org/books/#aprende-gimp"><em>Aprende <span class="caps">GIMP</span></em>, by Jan Smith and Roman Joost (2012)</a></li>
</ul>
<p>We took the opportunity to restructure the page with per-language section.</p>
<p>This is also a good time to remind that it is up to everyone to help us
keep this page updated. We know many more books have been published
about <span class="caps">GIMP</span> across the years so the list is very incomplete. Therefore if
you wrote or know of a book absent from the page, please feel free to
<a href="https://gitlab.gnome.org/Infrastructure/gimp-web/-/issues/new">report the same information as other books on the
page</a> so
that we can add them. Thanks!</p>
<h2 id="downloading-gimp-21032">Downloading <span class="caps">GIMP</span> 2.10.32<a class="headerlink" href="#downloading-gimp-21032" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.10.32 is available on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a> in 3 package formats:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> package</li>
</ul>
<p>Other packages made by third-party are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>You may notice that stable releases are slowing down (<a href="https://www.gimp.org/news/2021/12/21/gimp-2-10-30-released/"><span class="caps">GIMP</span>
2.10.30</a>
happened 6 months ago) as we are reaching a good stability overall on
this branch, despite being held back by our very old toolkit.
Nowadays most of our focus is on the development branch. Yet we will
continue to provide updates and bug fixes to the 2.10 branch until <span class="caps">GIMP</span>
3.0 is out.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, the <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers of
<span class="caps">GEGL</span> and <span class="caps">GIMP</span> are crowdfunding to be able to work full-time on free
software</a>. 🥳</p>GSoC 2022 project announced: CMYK features2022-06-03T00:00:00+02:002022-06-03T00:00:00+02:00Wilbertag:www.gimp.org,2022-06-03:/news/2022/06/03/cmyk-in-gsoc-2022/<p><span class="caps">CMYK</span> features will be added to <span class="caps">GIMP</span> as part of the Google Summer of Code 2022 program</p><p>The cat is out of the bag: Nikc, a Google Summer of Code student, is working
this year on <strong><a href="https://summerofcode.withgoogle.com/programs/2022/projects/x9DLkUcC">getting <span class="caps">CMYK</span> features into
<span class="caps">GIMP</span></a></strong>.
Let’s talk about this in a little more detail.</p>
<p>For the record, we only requested this unique project slot to Google.
Nikc discussed beforehand with us to understand the needs, the project
current state as well as the wanted direction. They also contributed
patches before GSoC selection so we knew how they interact during code
review. If anyone is interested in GSoC in future years, please consider
communicating with us like this, not just dropping a proposal without
contacting us on our <a href="https://www.gimp.org/discuss.html#mailing-lists">mailing
lists</a> or
<a href="https://www.gimp.org/discuss.html#irc-matrix"><span class="caps">IRC</span></a>. 😉</p>
<h2 id="whats-up-with-gimp-and-cmyk-anyway">What’s up with <span class="caps">GIMP</span> and <span class="caps">CMYK</span> anyway?<a class="headerlink" href="#whats-up-with-gimp-and-cmyk-anyway" title="Permanent link">¶</a></h2>
<p>Historically, it was complicated to implement <span class="caps">CMYK</span> support in <span class="caps">GIMP</span> as
the program used to be hardwired to use sRGB color space for pretty much
everything. Supporting any <span class="caps">RGB</span> color space has been work in progress for
many years and it got much better already in the 2.10 stable series.
On the other hand, print was not facilitated as a main workflow provided
by our project for decades.</p>
<p>Since late 2000s, we’ve been considering a late binding workflow for <span class="caps">CMYK</span>,
i.e. where you work in <span class="caps">RGB</span>, softproof in <span class="caps">CMYK</span> and then export to <span class="caps">CMYK</span>. Peter
Sikking, a <span class="caps">UX</span> architect we worked with, <a href="http://blog.mmiworks.net/2009/05/gimp-enter.html">came up with a
plan</a> for that, but the
image processing engine was missing the required changes, and someone would
have to work on exposing everything in <span class="caps">GUI</span>.</p>
<p>We ultimately lacked contributors interested into prioritizing that, and
<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/356">one patch</a> we got
from a contributor some years ago couldn’t be merged for architectural
reasons, it had to be redone completely to play well with the rest of
<span class="caps">GIMP</span>’s code.</p>
<p>A few years back, Øyvind Kolås finally <a href="https://www.patreon.com/posts/cmyk-progress-22901518">added the missing
bits</a> to <span class="caps">GEGL</span>, our image
processing engine, that made it possible to do things like blending a <span class="caps">CMYK</span>
image with an <span class="caps">RGBA</span> image and writing the result as a <span class="caps">TIFF</span> <span class="caps">CMYK</span> file.
This paved the way to this particular GSoC project.</p>
<h2 id="what-is-the-objective-of-the-gsoc-project">What is the objective of the GSoC project?<a class="headerlink" href="#what-is-the-objective-of-the-gsoc-project" title="Permanent link">¶</a></h2>
<p>First and foremost, we are not yet talking about a <span class="caps">CMYK</span> image mode, akin to
‘<span class="caps">RGB</span>’, ‘Greyscale’, and ‘Indexed’ like what you have today. Here is what it
will focus on instead.</p>
<p><strong>Importing and exporting images in a <span class="caps">CMYK</span> color space</strong>. <span class="caps">GIMP</span> will open
images in a <span class="caps">CMYK</span> color space and convert them to <span class="caps">RGB</span>(A) for viewing and
editing. You will also be able to export images to <span class="caps">CMYK</span>. We are currently
targeting <span class="caps">TIFF</span>, <span class="caps">PSD</span>, <span class="caps">PDF</span>, <span class="caps">EPS</span>, <span class="caps">AI</span>, and <span class="caps">PDF</span> file formats.</p>
<p>While you won’t be able to edit <span class="caps">CMYK</span> images in a non-native color space
yet, being able to both open (if only to view) and export <span class="caps">CMYK</span> data is
clearly a step forward. Moreover while working with a <span class="caps">CMYK</span> backend is
useful for some use cases (controlling your black colors or other
accurate color mix as per printer instructions, ink coverage, trapping,
overprinting and whatnot), working with *<span class="caps">RGB</span> images, then moving
to <span class="caps">CMYK</span> in the end, is still a recommended workflow for many types of
works. For instance, graphics professionals in the <span class="caps">GIMP</span> team and around
worked with a lot of success with a mix of <span class="caps">GIMP</span> and
<a href="https://www.scribus.net/">Scribus</a>, which is a software we warmly recommend.</p>
<figure>
<a href="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/gimp-libre-calendar-2015-printed.jpg">
<img src="https://www.gimp.org/news/2022/06/03/cmyk-in-gsoc-2022/gimp-libre-calendar-2015-printed.jpg" alt="Libre Calendar 2015, physical print project by LILA non-profit"/>
</a>
<figcaption>
<em>Example of printing with <span class="caps">FLOSS</span>: the “<a href="https://librecal2015.libreart.info/">Libre Calendar 2015</a>” was a collaborative project by <a href="https://libreart.info/"><span class="caps">LILA</span></a>, with several artists (illustrators, photographers and 3D), processed with <span class="caps">GIMP</span>, Inkscape and Scribus, Creative Commons by 2.0</em>
</figcaption>
</figure>
<p>Here is the current progress regarding <span class="caps">CMYK</span> support in file formats:</p>
<ul>
<li><span class="caps">JPEG</span>:<ul>
<li><span class="caps">CMYK</span> <span class="caps">JPEG</span> loading has been supported in <span class="caps">GIMP</span> for many years.</li>
<li><span class="caps">CMYK</span> <span class="caps">JPEG</span> loading has been recently ported to using <code>babl</code> for
conversion by Jehan Pagès.</li>
<li><span class="caps">CMYK</span> <span class="caps">JPEG</span> exporting has been implemented as well by Jehan Pagès.</li>
<li>These improvements will be available in upcoming <span class="caps">GIMP</span> 2.99.12 and
were implemented as a demonstration sample for Nikc since
<a href="https://film.zemarmot.net/">Jehan</a> is the project mentor.</li>
</ul>
</li>
<li><span class="caps">PSD</span>:<ul>
<li><span class="caps">CMYK</span> <span class="caps">PSD</span> 8-<abbr title="Bits per Channel">bpc</abbr> <span class="caps">CMYK</span> loading
has already been available since <span class="caps">GIMP</span> 2.10.18 thanks to Massimo Valentini.</li>
<li>The code has been updated by <a href="https://www.jacobboerema.nl/en/">Jacob Boerema</a>
to load 16-<abbr title="Bits per Channel">bpc</abbr> <span class="caps">CMYK</span> <span class="caps">PSD</span> files
in <span class="caps">GIMP</span> 2.99.10.</li>
<li>Work is in progress by Nikc to port <span class="caps">CMYK</span> <span class="caps">PSD</span> load code to use the
<code>babl</code> library for conversion (should be available for 2.99.12,
provided it passes review).</li>
<li>Exporting <span class="caps">CMYK</span> files in the <span class="caps">PSD</span> format could also be within the
scope of this GSoC project.</li>
</ul>
</li>
<li><span class="caps">CMYK</span> <span class="caps">TIFF</span> loading and exporting is a work in progress by Nikc and
might be available in <span class="caps">GIMP</span> 2.99.12 if it passes review on time.</li>
<li>Other formats with <span class="caps">CMYK</span> support will be considered.</li>
</ul>
<p><strong>A new dockable dialog for color management</strong>. To aid the late binding
workflow, we need to be able to easily switch soft-proofing (simulating
the <span class="caps">CMYK</span> result). Right now switching it <span class="caps">ON</span>/<span class="caps">OFF</span> and choosing profiles is
done through menus which is cumbersome.</p>
<p>Nikc will develop a new dockable dialog to convert between color
spaces via <span class="caps">ICC</span> profiles, control soft-proofing, etc. This is the next step
after <span class="caps">CMYK</span> support in various file formats. We’ll feel comfortable talking
about this more once it’s being actively worked on.</p>
<p><strong>Soft-proof profile(s) as first-class citizen</strong>: currently the
soft-proof profile is attached to the view, which means it disappears
and needs to be set up again in-between sessions. Also the selected
profile is not available to plug-ins which makes our <span class="caps">CMYK</span> export
capabilities much less interesting until it gets implemented. This is
why we want to move the soft-proof profile to become an image data
instead, which will be stored in the <span class="caps">XCF</span> file. Nikc announced to have
already started to work on this.</p>
<p>Discussions are ongoing to make this change generic to allow storing
even several simulation profiles in the long run. This will make sense
in particular when <span class="caps">GIMP</span> will support the concept of multiple export
targets, as was <a href="https://girinstud.io/news/2015/09/improving-the-export-process-in-gimp/">theorized in an early blog
post</a>.
Indeed a single image can be targetted differently for low-quality web
previewing, for high-quality digital viewing, for printing… And it can
even have different print targets. This is not in the scope of this GSoC
project but are things we need to take into account early on when
modifying the core code.</p>
<p><strong>Identifying and fixing issues with color management</strong>. There are still all
sorts of bugs and imperfections in <span class="caps">GIMP</span>’s color management implementation. We
already know about some of them and we have no doubt that others will manifest
themselves as the work on this GSoC project continues. Among the obvious
areas to look on in details are: color picking and <a href="https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/589">sample
points</a>,
<a href="https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/633">color
selection</a>,
soft-proofing, various types of previews, maybe improved ways to work on
specific color channels…
So fixing or improving those is definitely part of the project. As you
can see from the links above, work has already been started on some of
these areas, and porting more code to using
<a href="https://gegl.org/babl/">babl</a> for streamlined conversion is a big part
of the project.</p>
<p>Note that all improvements are not necessarily about <span class="caps">CMYK</span>-only in the
end, since we have been working to make our color code more generic,
which means that some changes may need to happen on a lower level, hence
enhancing the workflow, efficiency and accuracy with any color model.</p>
<h2 id="when-are-we-shipping-the-results-of-the-gsoc-project">When are we shipping the results of the GSoC project?<a class="headerlink" href="#when-are-we-shipping-the-results-of-the-gsoc-project" title="Permanent link">¶</a></h2>
<p>Currently, we expect to make all new features and improvements developed by Nikc
this spring/summer to be part of <span class="caps">GIMP</span> 3.0.</p>
<h2 id="will-there-be-a-cmyk-mode">Will there be a <span class="caps">CMYK</span> mode?<a class="headerlink" href="#will-there-be-a-cmyk-mode" title="Permanent link">¶</a></h2>
<p>The short answer is ‘eventually’.</p>
<p>Previously, we talked about <em>anyRGB</em> approach to editing that was within the
scope of the Space Invasion initiative (end-to-end <span class="caps">ICC</span> profile attribution for
an image while passing it through various operations in the node composition).
Essentially, you should be able to open an image in e.g. <em>AdobeRGB</em> color space
and never convert it to e.g. <em>sRGB</em> unless a particular <span class="caps">GEGL</span> operation requires that.</p>
<p>We revised the <em>anyRGB</em> plan to extend it to <em>anyModel</em> (<span class="caps">RGB</span>, <span class="caps">CMYK</span>, <span class="caps">LAB</span>
etc.). This is going to be a major undertaking, we do not expect to ship
this in <span class="caps">GIMP</span> 3.0 and we’d rather not give any estimations at this time.</p>
<p>Even staying within the scope of the printing world, hardcoding the
specific <span class="caps">CMYK</span> model, rather than having generic core, would make no
sense. What if you could also add spot color channels to your image for
instance? This <em>anyModel</em> core is the direction we are heading for and
the result of the groundwork which has been slowly built up by several
contributors for many years now.</p>GIMP is a GSoC 2022 mentor organization2022-03-08T00:00:00+01:002022-03-08T00:00:00+01:00Wilbertag:www.gimp.org,2022-03-08:/news/2022/03/08/gimp-in-gsoc-2022/<p><span class="caps">GIMP</span> has been accepted as Google Summer of Code 2022 mentor organization</p><p>Up till 2013, <span class="caps">GIMP</span> was a regular at the Summer of Code. Ever since then
we haven’t applied.
Nine years have passed, so we decided to give it a new try and 2 days
ago, we received an email:
<span class="caps">GNU</span> Image Manipulation program is officially a <a href="https://summerofcode.withgoogle.com/">Google Summer
of Code</a> 2022 <a href="https://summerofcode.withgoogle.com/programs/2022/organizations/gnu-image-manipulation-program">mentor
organization</a>!</p>
<p>If anyone is interested, it could be a good opportunity to jump into the
development of a huge desktop program used by millions of people. Here
are some ideas of what you could possibly work on: <a href="https://wiki.gimp.org/wiki/Hacking:GSoC/Future/Ideas">wiki with list of
possible project
ideas</a>.</p>
<p>On our side, we are interested in realistic projects which can really be
finished or at least broken down in usable parts. Our list of ideas is
mostly informative and we very much welcome people coming with their own
ideas. If you want to participate, come <a href="https://www.gimp.org/discuss.html#irc-matrix">discuss with us on
<span class="caps">IRC</span></a>.</p>
<h2 id="requirements">Requirements<a class="headerlink" href="#requirements" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> is a huge codebase with high quality level requirements before
acceptance of any code. It will require any participant to be thorough,
listen well to our reviews and have some perseverance.</p>
<p>To increase acceptance chances, you could pick some bugs to fix or some
easy features to implement (look in our <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues?scope=all&state=opened&label_name[]=4.%20Newcomers">newcomers
list</a>
or simply in the <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">full
list</a> of reports; possibly
if you encounter an issue yourself, you could just come and fix that!),
make a merge request with us and see how it goes. This would be the best
kind of first contact before submitting your application.</p>
<p>Last but not least: we welcome contributors from all walks of life,
regardless of origin, skin color, gender etc. All we ask is that you remain
courteous and respectful to your fellow developers while working with us,
and we will of course return the courtesy. If you’re looking for a
welcoming environment, our project may be the perfect fit for you! 🤗</p>
<p>See you on the other side?!</p>Development version: GIMP 2.99.10 Released2022-02-25T00:00:00+01:002022-02-25T00:00:00+01:00Wilbertag:www.gimp.org,2022-02-25:/news/2022/02/25/gimp-2-99-10-released/<p>Release news for development version <span class="caps">GIMP</span> 2.99.10</p><p><span class="caps">GIMP</span> 2.99.10 is once again a pretty massive step in our development
plans toward <span class="caps">GIMP</span> 3.0. We redesigned some core concepts of <span class="caps">GIMP</span> (“linked
layers”, item locks’ <span class="caps">GUI</span>, dynamics switch), substantially improve the
new <span class="caps">API</span> further into releasable state, babl and <span class="caps">GEGL</span> gets crazy
optimizations going on, macOS and Wayland get more love, all the while
improving file formats… And more!</p>
<p>The below report will go through the most interesting changes.</p>
<figure>
<a href="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-20220221-experiments.jpg">
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-20220221-experiments.jpg" alt="Experiments - Wilber and co. comics strip by Aryeom"/>
</a>
<figcaption>
<em>“Experiments” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2.99.10</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#redesigned-core-features">Redesigned Core Features</a><ul>
<li><a href="#linked-layers-superseded-by-layer-sets"><span class="dquo">“</span>Linked layers” superseded by “layer sets”</a></li>
<li><a href="#item-locks-redesigned">Item locks redesigned</a></li>
<li><a href="#enablingdisabling-dynamics-simplified">Enabling/Disabling dynamics simplified</a></li>
</ul>
</li>
<li><a href="#new-core-features">New Core Features</a><ul>
<li><a href="#new-option-in-line-art-mode-of-bucket-fill-tool">New option in “Line Art” mode of bucket fill tool</a></li>
<li><a href="#welcome-dialog">Welcome Dialog</a></li>
</ul>
</li>
<li><a href="#going-further-with-our-compact-slider-widget">Going further with our compact slider widget</a></li>
<li><a href="#official-plug-ins">Official plug-ins</a><ul>
<li><a href="#psd"><span class="caps">PSD</span></a></li>
<li><a href="#jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span></a></li>
<li><a href="#microsoft-windows-cursor-cur">Microsoft Windows Cursor (.cur)</a></li>
<li><a href="#screenshot">Screenshot</a></li>
<li><a href="#heif"><span class="caps">HEIF</span></a></li>
<li><a href="#deprecating-help-browser-and-webpage-plug-ins">Deprecating help-browser and webpage plug-ins</a></li>
</ul>
</li>
<li><a href="#build-and-documentation">Build and documentation</a><ul>
<li><a href="#icon-theme-handling-and-refactoring">Icon theme handling and refactoring</a></li>
<li><a href="#clang-format-check-in-continuous-integration">Clang-format check in Continuous Integration</a></li>
<li><a href="#tool-to-bisect-test-with-older-versions-of-flatpak">Tool to bisect-test with older versions of flatpak</a></li>
<li><a href="#new-contributor-documentation">New contributor documentation</a></li>
</ul>
</li>
<li><a href="#improved-api-for-plug-ins">Improved <span class="caps">API</span> for plug-ins</a></li>
<li><a href="#wayland-and-macos-support">Wayland and macOS support</a></li>
<li><a href="#babl-and-gegl">babl and <span class="caps">GEGL</span></a><ul>
<li><a href="#automatic-lut-creation-for-conversions-in-babl">Automatic <span class="caps">LUT</span> creation for conversions in babl</a></li>
<li><a href="#simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl"><span class="caps">SIMD</span> builds for x86_64 and <span class="caps">ARM</span> neon (ctx, babl and <span class="caps">GEGL</span>)</a></li>
<li><a href="#other-improvements">Other improvements</a></li>
</ul>
</li>
<li><a href="#team-news">Team news</a></li>
<li><a href="#release-stats">Release stats</a></li>
<li><a href="#downloading-gimp-29910">Downloading <span class="caps">GIMP</span> 2.99.10</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/82af34e4941603ba81ff625e3e11731f86ba3457/NEWS#L9"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</p>
<h2 id="redesigned-core-features">Redesigned Core Features<a class="headerlink" href="#redesigned-core-features" title="Permanent link">¶</a></h2>
<h3 id="linked-layers-superseded-by-layer-sets"><span class="dquo">“</span>Linked layers” superseded by “layer sets”<a class="headerlink" href="#linked-layers-superseded-by-layer-sets" title="Permanent link">¶</a></h3>
<p>Our stable series (2.10) still uses a concept of “linked layers”, which
is mostly for transforming layers together. For instance, say you want
to translate, rotate or shear several layers the exact same way. You
would link them with the “chain” 🔗 icon next to each layer in the
Layers dockable.</p>
<p>In <span class="caps">GIMP</span> 3.0, as we have multi-selection of layers and all the transform
tools were already made to work on multiple layers at once, this concept
was redundant and confusing. Nevertheless there was still one added
value: as a way to mark and store a relation between layers.</p>
<p>This is why we remove the link feature and added instead a “layer set”
feature. A “layer set” is a selection of layers stored with a name.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-layer-set.png" alt="Layer sets"/>
<figcaption>
<em>Layer set popover at bottom of Layers dockable</em>
</figcaption>
</figure>
<p>For instance, you could select a few layers together and store this
selection as a layer set. Anytime in the future, you can select the same
layers again in one click, without going through the slow process of
clicking them one by one. In the below example, I am storing a semantic
name for several layers featuring sleeping marmots:</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-storing-layer-set.png" alt="Storing Layer sets"/>
<figcaption>
<em>Left: select some layers and write a set name - Right: the set can now be selected again anytime</em>
</figcaption>
</figure>
<p>There is more! The same dialog allows you to search through layers by
names. Say I want to select all layers containing “marmot” or “flower”,
I could just search said keyword.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-search-layers.png" alt="Searching layers"/>
<figcaption>
<em>Searching layers with “flower” in the name - 3 were found in this huge layer list</em>
</figcaption>
</figure>
<p>For the geekiest of us: by default, this uses simple text search, but in
Preferences, tab “Interface”, you can also set the search entry
to use the Glob or Regular Expression syntaxes!</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-layer-set-preferences.png" alt="Layer sets settings"/>
<figcaption>
<em>Settings for search syntax: text search, glob pattern or regular expression</em>
</figcaption>
</figure>
<h3 id="item-locks-redesigned">Item locks redesigned<a class="headerlink" href="#item-locks-redesigned" title="Permanent link">¶</a></h3>
<p>The locks (position, contents and alpha) used to be at the top of the
Layers or Channels dockables. It meant that to know whether a specific
layer was locked, you had to select it. Worse, when selecting several
layers, the buttons could end up in an inconsistent state (if some
layers are locked while others not).</p>
<p>So we moved the locks to the space left vacant by the now-defunct “link”
🔗 icon, next to each item. Clicking it will open a small popover dialog
where you can select the lock type.
Selecting a single lock will show it next to the visibility (eye 👁️)
icon, selecting 2 locks or more will show a generic multi-locks icon.
Each of the new icons, specific or generic, were designed by Aryeom.
Now you know in a single glimpse to the layers list which ones are
locked or not.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-locks.png" alt="Locking a layer"/>
<figcaption>
<em>Left: popover on “lock” area click -
Middle: lock position (specific icon shown) -
Right: lock contents (2 locks in use: multi-locks icon shown)
</em>
</figcaption>
</figure>
<p>Among other advantages, the lock icons now allow the <code>Shift-click</code>
interaction, same as the visibility icon, so that one can switch many
items’ locks at once. We also created a new <code>Alt-click</code> interaction to
switch locks within all selected layers. So we now have:</p>
<ul>
<li>Simple <code>click</code> on a lock or visibility icon: the clicked item’s
visibility or lock state is switched.</li>
<li><code>Shift-click</code>: the clicked item stays visible/locked while the
visibility or lock state of all <strong>other items on the same level</strong> in
the layer tree is switched <span class="caps">ON</span> or <span class="caps">OFF</span>.</li>
<li><code>Alt-click</code>: the clicked item stays visible/locked while the
visibility or lock state of all <strong>other selected items</strong> is switched
<span class="caps">ON</span> or <span class="caps">OFF</span>.</li>
</ul>
<p>You will notice that we also added a new lock, the “Visibility Lock”. As
the name implies, it prevents the visibility status to be modified. This
is especially interesting together with features allowing to change
multiple items at once, like the <code>Shift-click</code> or <code>Alt-Click</code> actions
explained above. You could for instance have a background image locked
to be always visible, then you could switch other foreground layers’
visibility while always keeping the background visible. Oppositely you
could prevent your initial croquis for instance from being shown by mistake.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-lock-visibility.png" alt="Locking visibility of background"/>
<figcaption>
<em>Locking visibility of background layers to always visible and
croquis layer to never visible.</em>
</figcaption>
</figure>
<p>Among other changes in this area, the alpha and position locks can now
be set on Layer groups:</p>
<ul>
<li>Alpha lock on groups mostly works like contents lock on groups (except
that it’s for the alpha channel only), i.e. that it forbids to change
the alpha channel from any child layer.</li>
<li>Position lock work both ways by forbidding moving child layers but
also parent layers.</li>
</ul>
<p>A document was also written to better <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/devel-docs/specifications/locks.md">specify the behaviors of various
locks</a>.</p>
<p>Last, but not least, two changes were made to improve discoverability of
the visibility and especially the lock buttons:</p>
<ul>
<li>The visibility and lock columns in the dockable now have icon headers,
making their presence more obvious.</li>
<li>Our default theme will now provide visible hints around inactive
button areas while hovering these clickable areas.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-layer-dockable-icon-hints.png" alt="Hints for discoverability of clickable areas"/>
<figcaption>
<em>Points to notice: “visibility” and “lock” icon headers and border around clickable area when hovering with pointer</em>
</figcaption>
</figure>
<h3 id="enablingdisabling-dynamics-simplified">Enabling/Disabling dynamics simplified<a class="headerlink" href="#enablingdisabling-dynamics-simplified" title="Permanent link">¶</a></h3>
<p>It is now possible to enable and disable dynamics in a single checkbox,
instead of tediously having to select the “<em>Dynamics Off</em>” neutral
dynamics. Obviously this neutral dynamics has been removed from the list
of installed data.</p>
<p>It allows to switch dynamics painting in a single click, and without
having to remember which dynamics you were using when switching back.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-dynamics-enabling.webp" alt="Enabling/disabling dynamics in a click"/>
<figcaption>
<em>Enabling and disabling dynamics in one click</em>
</figcaption>
</figure>
<p>For advanced user, we also set up the new action
“context-dynamics-toggle”. Thus you can create a shortcut (<code>Edit >
Keyboard Shortcuts</code> menu) to switch the dynamics painting for even
faster work.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-dynamics-shortcut.png" alt="Shortcut settings for enabling/disabling dynamics"/>
<figcaption>
<em>Setting a shortcut to enable or disable dynamics in the Keyboard
Shortcuts dialog</em>
</figcaption>
</figure>
<h2 id="new-core-features">New Core Features<a class="headerlink" href="#new-core-features" title="Permanent link">¶</a></h2>
<h3 id="new-option-in-line-art-mode-of-bucket-fill-tool">New option in “Line Art” mode of bucket fill tool<a class="headerlink" href="#new-option-in-line-art-mode-of-bucket-fill-tool" title="Permanent link">¶</a></h3>
<p>We added a new option “<em>Allow closing lines in selected layer</em>” in the
“Fill by line art detection” mode of the bucket fill tool. The name is
not necessarily final as naming this was hard.</p>
<p>Anyway here is what it does: when you choose the “<em>Layer above|below the
selected one</em>” source, the selected layer is not used as line art source
(as the title says). Yet with this option, you add the ability to paint
with your fill color directly in the selected layer and union this data
as closure data.</p>
<p>Once again, it is <strong>not</strong> a source for line art detection, which means
it doesn’t trigger any recomputing. It is additional data for manual
line closure only <em>after</em> line art and closure computation.</p>
<p>One of the main usage could be to set the “<em>Maximum gap length</em>” to 0,
which totally disables line art closure computation, hence having much
less computing (i.e. faster on big line art images). Then you’d rely
solely on manually closed line arts. Unfortunately sometimes you don’t
want to close a line art with your <strong>line</strong> color/brush/style, you want
to close it with your <strong>fill</strong> color/brush/style. This is when this
option comes into play.</p>
<p>For instance, here is how you could fill the line art with the smart
closing which could oversegment if you don’t tweak properly the
“<em>Maximum gap length</em>“. Additionally the closure (here at the leg
bottoms of the character) would likely not be the expected style:</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-10-line-art-smart-closing.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-10-line-art-smart-closing.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>Now let’s disable the smart closing algorithm and use the new option
instead. We will simply paint with our expected fill color and style to
close the line art and it will be considered as “line” without
recomputation. This way, the fill is instant and the closure style is
exactly the one you expect:</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-10-line-art-manual-closing.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-10-line-art-manual-closing.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>This new option is originally based on an advanced digital painter tip
of Aryeom on how to colorize efficiently a croquis (she was using this
long before the “fill by line art detection” feature in <span class="caps">GIMP</span>, using
<em>Fuzzy Select</em> in sample merged mode). Closing line arts with fill style
is one of the many techniques she teaches to digital painting students at
university. So we thought integrating this into our line art fill tool
would be a definite gain as Aryeom was disappointed by the absence of
style and control with the smart closing algorithm.</p>
<p><em>Note: we are aware the settings in this tool are a bit complicated to
apprehend. We will hopefully do a pass of redesigning soon.</em></p>
<h3 id="welcome-dialog">Welcome Dialog<a class="headerlink" href="#welcome-dialog" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> now gets a <code>Welcome Dialog</code> which will show up only once after a
new installation or an update. It will display the splash image, some
short text and links to documentations and alike.</p>
<p>It also has a “Release Notes” tab containing the Release Notes of the
new version so that anyone can peek at a listing of novelties.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-welcome-dialog.jpg" alt="Welcome Dialog"/>
<figcaption>
<em>Welcome Dialog at first launch after installation or update</em>
</figcaption>
</figure>
<p><em>Note: the currently proposed Windows installer misses the release note.
We will fix this shortly.</em></p>
<p>The website’s (the one you are reading on <code>gimp.org</code>) news will still
provide nicer longer texts with explicative screenshots. But at least,
the Welcome Dialog will be here for people not reading the website.</p>
<p>An advantage of the Welcome Dialog’s release notes though is that it can
be fully localized by our translators (unlike the website in its
current version). For instance, here are the release notes showing on a
Portuguese-localized <span class="caps">GIMP</span>:</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-welcome-dialog-pt.png" alt="Welcome Dialog in Portuguese"/>
<figcaption>
<em>Welcome Dialog’s release notes are localized; e.g. here in Portuguese</em>
</figcaption>
</figure>
<p>Some more work might happen on this Welcome Dialog. For instance,
a “Customization” tab for some of the more controversial settings (such
as themes and icons) will likely be added.</p>
<p>There is also the question about adding more “everyday use” features,
such as a list of the last opened images, or a “New Image” option,
avoiding going in menus (or using shortcuts).
Of course it means giving the ability to open the dialog at every start
as an option (unlike now where it will only open once after a new update).</p>
<h2 id="going-further-with-our-compact-slider-widget">Going further with our compact slider widget<a class="headerlink" href="#going-further-with-our-compact-slider-widget" title="Permanent link">¶</a></h2>
<p>Our compact slider was only available to <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#compact-sliders">core
code</a>
until recently. It means that all plug-ins in particular could not use
of this slider.
So the widget has now been moved to the <code>libgimpui</code> library, making it
usable by any plug-in which wants a nice looking and efficent slider
with slow relative moves, fast drag moves and direct keyboard edits (see
some of the <a href="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/#slider-widget">usability work in an older
news</a>),
all the while maximizing the space.</p>
<p>A few of our official plug-ins already make use of it now.</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/gimp-2-99-10-compact-slider-in-png-export.png" alt="Locking a layer"/>
<figcaption>
<em>The <span class="caps">PNG</span> export dialog with compact slider
</em>
</figcaption>
</figure>
<p>Additionally our default <code>System</code> theme made it even more compact,
because there were some complaints that this said <em>compact</em> slider was
not compact enough!</p>
<h2 id="official-plug-ins">Official plug-ins<a class="headerlink" href="#official-plug-ins" title="Permanent link">¶</a></h2>
<h3 id="psd"><span class="caps">PSD</span><a class="headerlink" href="#psd" title="Permanent link">¶</a></h3>
<p>As often lately, our <span class="caps">PSD</span> plug-in got some love to widen our support abilities:</p>
<ul>
<li>new support for loading 16-bit per channel <span class="caps">CMYK</span> images.</li>
<li>new support for files in <span class="caps">LAB</span> colorspace.</li>
<li>new support for loading 32-bit per channel images (some code
existed yet may have never really worked).</li>
<li>Add extra layer groups when loading <span class="caps">PSD</span> images with clipping
layers: Photoshop handles clipping layers in a different way than
<span class="caps">GIMP</span>. The only way to have it look the same is by adding extra
layer groups. <span class="caps">PSD</span> layers that have clipping set, combined with the
first non clipping layer below it are grouped together in a new
layer group. Doing this results in the same image as the <span class="caps">PSD</span>
merged image unless there are other <span class="caps">PSD</span> elements in play that we
don’t handle yet.</li>
<li><span class="caps">PSD</span> layers with clipping set need clip to backdrop as composite
mode: certain <span class="caps">PSD</span> layers have a flag called clipping set to 1. We
were not handling this flag and had some reports about colors
bleeding where there were not supposed to. We are going to set
<span class="caps">GIMP</span>’s layer composite mode to “Clip to Backdrop” which is the closest
we can get to Photoshop’s clipping. With this, the colors won’t bleed anymore.</li>
</ul>
<h3 id="jpeg-xl"><span class="caps">JPEG</span>-<span class="caps">XL</span><a class="headerlink" href="#jpeg-xl" title="Permanent link">¶</a></h3>
<p>Our recent <span class="caps">JPEG</span>-<span class="caps">XL</span> support also continues to improve:</p>
<ul>
<li>Bit depth now selectable in <span class="caps">JXL</span> export.</li>
<li>Import in 8-bit and 16-bit integer precision now possible for
lossless images (<span class="caps">GIMP</span> used to import all <span class="caps">JXL</span> images as 32-bit float
precision images).</li>
<li>New very fast export settings: thunder and lightning (fastest).</li>
<li>Compression slider is disabled for lossless.</li>
</ul>
<h3 id="microsoft-windows-cursor-cur">Microsoft Windows Cursor (<code>.cur</code>)<a class="headerlink" href="#microsoft-windows-cursor-cur" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> is now able to load and export Microsoft Windows Cursors, including
the ability to read at import, pass on and edit at export the hot spot
location for each cursor in the file.</p>
<h3 id="screenshot">Screenshot<a class="headerlink" href="#screenshot" title="Permanent link">¶</a></h3>
<p>We definitely removed support for the <strong><span class="caps">KDE</span></strong> and <strong><span class="caps">GNOME</span></strong> portals for
screenshots. On recent versions of these portals, new security
restrictions were making them unusable for <span class="caps">GIMP</span> which didn’t have the permissions.</p>
<p>We now use only the Freedesktop portal on <strong>Linux</strong> (unless the direct X11
codepath is available, i.e. on Wayland) which is the new recommended
logic by both the <span class="caps">GNOME</span> and <span class="caps">KDE</span> teams.</p>
<p>On <strong>Windows</strong>, the Screenshot plug-in finally gets an “Include mouse
pointer” option.</p>
<h3 id="heif"><span class="caps">HEIF</span><a class="headerlink" href="#heif" title="Permanent link">¶</a></h3>
<p>The <span class="caps">HEIF</span> plug-in used to have some heuristic for the choice of the
bit-depth defaults when exporting, depending on the image’s encoding
settings. This heuristic didn’t agree with everyone’s logic.</p>
<p>Also it was going against the settings storage which are now a basic
feature of most plug-ins.</p>
<p>So we decided to just drop this heuristic and leave the user completely
responsible for chosing the bit-depth they wish.</p>
<h3 id="deprecating-help-browser-and-webpage-plug-ins">Deprecating <code>help-browser</code> and <code>webpage</code> plug-ins<a class="headerlink" href="#deprecating-help-browser-and-webpage-plug-ins" title="Permanent link">¶</a></h3>
<p>We have 2 plug-ins depending on the WebkitGTK library:</p>
<ol>
<li><code>help-browser</code>: for displaying the html docs. Nowadays every desktop
machine has a browser, so it feels redundant. Its main advantage
though was its very nice “topic tree”, which is basically a side menu
to navigate the documentation quite efficiently.</li>
<li><code>web-page</code>: a webpage screenshot plug-in allowing to shot the whole
page, not just what is visible. This is a very neat feature, yet it
also appeared on most web browsers by default these days. For
instance on Mozilla Firefox, you can <em>right-click</em> then select “Take
Screenshot” in the contextual menu of a page.</li>
</ol>
<p>On the other hand:</p>
<ol>
<li>WebkitGTK is very hard and long to build. More than once we
encountered issues and are dreading them. Actually our macOS package
don’t build it right now because of such difficulties.</li>
<li>From what we gather, recent versions are officially unsupported on
Windows right now and we don’t know when or if it will change soon.</li>
</ol>
<p>So we have 2 of our main platforms not using it, it makes a lot of
packaging problems, all this for features which are a bit redundant with
browser nowadays anyway. This is why we decided to drop the ball, at
least for now, by deprecating these 2 plug-ins. Unless situation changes
in any positive way, we are not recommending packagers to build these anymore.</p>
<h2 id="build-and-documentation">Build and documentation<a class="headerlink" href="#build-and-documentation" title="Permanent link">¶</a></h2>
<h3 id="icon-theme-handling-and-refactoring">Icon theme handling and refactoring<a class="headerlink" href="#icon-theme-handling-and-refactoring" title="Permanent link">¶</a></h3>
<p>Our icon theme handling code was a bit of a mess because of too many
build cases, so we refactored it:</p>
<ul>
<li>We now use the exact same list for the Color and Symbolic icon themes,
both in their <span class="caps">SVG</span> and <span class="caps">PNG</span> variants.</li>
<li>The <span class="caps">PNG</span> variants for both themes are now fully generated from the <span class="caps">SVG</span>
files instead of duplicating everything and risking strange bugs with
specific build combinations.</li>
<li>Our Continuous Integration now has a new weekly job to verify that the
meson and autotools build rules are perfectly synced regarding icons.</li>
<li>We started to group icons in semantic lists when possible to help with
deciding the right sizes to generate in the <span class="caps">PNG</span> case.</li>
</ul>
<p>By the way, why we keep the <span class="caps">PNG</span> variant option needs to be explained. We
were originally planning to drop it, but it turns out that the <code>librsvg</code>
dependency used as <code>GdkPixbuf</code> loader, ported to Rust in its later
versions, doesn’t build on all platforms and architectures (as Rust is
not fully portable yet).
It means that some platforms may need to either use very old versions of
librsvg or may even prefer to use <span class="caps">PNG</span>-only icons. This is why we keep
the <span class="caps">PNG</span> variant for now. It is suboptimal and on platforms where
<code>librsvg</code> is not a problem, we definitely advise to use <span class="caps">SVG</span> icons. But
at least the option exists.</p>
<p>Note though that there is another case where we depend on <code>librsvg</code>: the
<span class="caps">SVG</span> import plug-in and this one had been made a mandatory one. We are
not changing this because as graphics professionals, we consider that
even in a raster program, you need to be able to import <span class="caps">SVG</span> nowadays.
This format is simply a professional standards now and not supporting it
seems absurd.
Yet we understand if it is a problem on some platforms so, packagers,
feel free to comment out the <span class="caps">SVG</span> plug-in if really this is a problem to
you, as we have been told. It should be quite easy to achieve.</p>
<h3 id="clang-format-check-in-continuous-integration">Clang-format check in Continuous Integration<a class="headerlink" href="#clang-format-check-in-continuous-integration" title="Permanent link">¶</a></h3>
<p>A new <code>.clang-format</code> file was added to our repository and now every
merge request will trigger a <span class="caps">CI</span> job to verify coding-style of your change.</p>
<p>Now to be perfectly fair, we are not completely happy with the check
results, which is why the job failures are not fatale, mostly
informational. Let’s say this is a first step, hoping this coding style
check will get better.</p>
<h3 id="tool-to-bisect-test-with-older-versions-of-flatpak">Tool to bisect-test with older versions of flatpak<a class="headerlink" href="#tool-to-bisect-test-with-older-versions-of-flatpak" title="Permanent link">¶</a></h3>
<p><em>Note: this is developer fanciness and may not be of high interest to others.</em></p>
<p>Flatpak has limitations but also quite some interesting features. One of
them is the ability to install older versions of the package easily. It
can be a pretty neat developer tool when we want to test something on an
older version of <span class="caps">GIMP</span>, a kind of <code>git bisect</code> but with flatpak packages.
Nevertheless listing the old versions, uninstalling your current
version, installing the relevant older version, and remembering the
command lines for all this (since we don’t do this daily either) was
making it hardly usable in real life.</p>
<p>This is where this tool comes in:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>tools/flatpak-releases<span class="w"> </span>-h
Usage:<span class="w"> </span>./flathub-releases<span class="w"> </span><span class="o">[</span>--beta<span class="o">]</span><span class="w"> </span><span class="o">[</span>--system<span class="o">]</span><span class="w"> </span><span class="o">[</span>-X<span class="o">]</span><span class="w"> </span><span class="o">[</span>org.example.app<span class="o">]</span>
List<span class="w"> </span>all<span class="w"> </span>flatpak<span class="w"> </span>builds<span class="w"> </span>stored<span class="w"> </span>on<span class="w"> </span>Flathub<span class="w"> </span>or<span class="w"> </span>GNOME<span class="w"> </span>repository.
The<span class="w"> </span>builds<span class="w"> </span><span class="k">for</span><span class="w"> </span>org.gimp.GIMP<span class="w"> </span>are<span class="w"> </span>looked<span class="w"> </span>up<span class="w"> </span>by<span class="w"> </span>default<span class="w"> </span>unless
you<span class="w"> </span>provide<span class="w"> </span>explicitely<span class="w"> </span>another<span class="w"> </span>AppStream<span class="w"> </span>ID.
Adding<span class="w"> </span>a<span class="w"> </span>-X<span class="w"> </span>number<span class="w"> </span>as<span class="w"> </span>option<span class="w"> </span>install<span class="w"> </span>the<span class="w"> </span>numbered<span class="w"> </span>release
instead<span class="w"> </span>of<span class="w"> </span>listing<span class="w"> </span>them.
Options:
-0:<span class="w"> </span>install<span class="w"> </span>the<span class="w"> </span>last<span class="w"> </span>build.
-1:<span class="w"> </span>install<span class="w"> </span>the<span class="w"> </span>previous<span class="w"> </span>build.
-2:<span class="w"> </span>install<span class="w"> </span>the<span class="w"> </span>before-previous<span class="w"> </span>build<span class="w"> </span><span class="o">(</span>and<span class="w"> </span>so<span class="w"> </span>on<span class="o">)</span>.
--beta:<span class="w"> </span>list<span class="w"> </span>or<span class="w"> </span>install<span class="w"> </span>a<span class="w"> </span>beta<span class="w"> </span>release
--nightly:<span class="w"> </span>list<span class="w"> </span>or<span class="w"> </span>install<span class="w"> </span>a<span class="w"> </span>nightly<span class="w"> </span>release
--system:<span class="w"> </span>install<span class="w"> </span>as<span class="w"> </span>system<span class="w"> </span>flatpak<span class="w"> </span><span class="o">(</span>default<span class="w"> </span>to<span class="w"> </span>user<span class="w"> </span>install<span class="o">)</span>
</code></pre></div>
<p>Say I want to know all the beta release still stored on Flathub:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>tools/flatpak-releases<span class="w"> </span>--beta
<span class="w"> </span><span class="m">0</span>:<span class="w"> </span>Working<span class="w"> </span>around<span class="w"> </span>weird<span class="w"> </span>install<span class="w"> </span>path<span class="w"> </span>of<span class="w"> </span>appstream<span class="w"> </span>file.<span class="w"> </span><span class="o">(</span>be96fed3<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2022</span>-02-24<span class="w"> </span><span class="m">00</span>:37:25<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">1</span>:<span class="w"> </span>Update<span class="w"> </span>dependencies<span class="w"> </span><span class="o">(</span>127a0fa7<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2022</span>-01-13<span class="w"> </span><span class="m">16</span>:59:43<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">2</span>:<span class="w"> </span>Issue<span class="w"> </span><span class="c1">#106: File->Create->From Screenshot not working. (9c831b14) [2021-12-14 21:46:52 +0000]</span>
<span class="w"> </span><span class="m">3</span>:<span class="w"> </span>Release<span class="w"> </span>GIMP<span class="w"> </span><span class="m">2</span>.99.8.<span class="w"> </span><span class="o">(</span>908bf5b0<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2021</span>-10-20<span class="w"> </span><span class="m">20</span>:29:00<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">4</span>:<span class="w"> </span>Release<span class="w"> </span>GIMP<span class="w"> </span><span class="m">2</span>.99.6.<span class="w"> </span><span class="o">(</span>e04355dd<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2021</span>-04-26<span class="w"> </span><span class="m">14</span>:08:32<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">5</span>:<span class="w"> </span>Make<span class="w"> </span>sure<span class="w"> </span>the<span class="w"> </span>default<span class="w"> </span>path<span class="w"> </span><span class="k">for</span><span class="w"> </span>plug-ins<span class="w"> </span>and<span class="w"> </span>scripts<span class="w"> </span>point<span class="w"> </span>to<span class="w"> </span>the<span class="w"> </span>extension<span class="w"> </span>point<span class="w"> </span><span class="o">(</span>8b02ea26<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2021</span>-03-31<span class="w"> </span><span class="m">16</span>:12:06<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">6</span>:<span class="w"> </span>Build<span class="w"> </span>Little-CMS<span class="w"> </span><span class="m">2</span>.12<span class="w"> </span>ourselves.<span class="w"> </span><span class="o">(</span>ae60863e<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2021</span>-03-29<span class="w"> </span><span class="m">16</span>:03:51<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">7</span>:<span class="w"> </span>Add<span class="w"> </span>extension<span class="w"> </span>point<span class="w"> </span><span class="k">for</span><span class="w"> </span>Gimp3<span class="w"> </span><span class="o">(</span>34b2f8c0<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2021</span>-03-27<span class="w"> </span><span class="m">12</span>:40:57<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">8</span>:<span class="w"> </span>Release<span class="w"> </span>GIMP<span class="w"> </span><span class="m">2</span>.99.4.<span class="w"> </span><span class="o">(</span>20a0a962<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2020</span>-12-22<span class="w"> </span><span class="m">23</span>:45:19<span class="w"> </span>+0000<span class="o">]</span>
<span class="w"> </span><span class="m">9</span>:<span class="w"> </span>Update<span class="w"> </span>to<span class="w"> </span>GNOME<span class="w"> </span>Platform<span class="w"> </span><span class="m">3</span>.38.<span class="w"> </span><span class="o">(</span>a84da0fa<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2020</span>-11-14<span class="w"> </span><span class="m">23</span>:08:38<span class="w"> </span>+0000<span class="o">]</span>
<span class="m">10</span>:<span class="w"> </span>Use<span class="w"> </span>org.gnome.Platform//3.36beta.<span class="w"> </span><span class="o">(</span>12017e04<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2020</span>-11-06<span class="w"> </span><span class="m">22</span>:59:59<span class="w"> </span>+0000<span class="o">]</span>
<span class="m">11</span>:<span class="w"> </span>Release<span class="w"> </span>GIMP<span class="w"> </span><span class="m">2</span>.99.2!<span class="w"> </span><span class="o">(</span>58fef365<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2020</span>-10-25<span class="w"> </span><span class="m">22</span>:20:18<span class="w"> </span>+0000<span class="o">]</span>
<span class="m">12</span>:<span class="w"> </span>Add<span class="w"> </span>shared<span class="w"> </span>module<span class="w"> </span><span class="k">for</span><span class="w"> </span>intltool.<span class="w"> </span><span class="o">(</span>a1d2b211<span class="o">)</span><span class="w"> </span><span class="o">[</span><span class="m">2020</span>-06-01<span class="w"> </span><span class="m">18</span>:34:15<span class="w"> </span>+0000<span class="o">]</span>
</code></pre></div>
<p>The number <code>0</code> is the <span class="caps">GIMP</span> 2.99.10 release (the package stored the last
commit message, which might not be as relevant as we’d want).
Now say I want to install the <span class="caps">GIMP</span> 2.99.6 release for a test:</p>
<div class="highlight"><pre><span></span><code><span class="o">$</span><span class="w"> </span><span class="n">tools</span><span class="o">/</span><span class="n">flatpak</span><span class="o">-</span><span class="n">releases</span><span class="w"> </span><span class="o">--</span><span class="n">beta</span><span class="w"> </span><span class="o">-</span><span class="mi">4</span>
<span class="p">[</span><span class="mi">1</span><span class="o">/</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="n">Installing</span><span class="w"> </span><span class="n">org</span><span class="o">.</span><span class="n">gimp</span><span class="o">.</span><span class="n">GIMP</span>
<span class="n">Looking</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">matches</span><span class="err">…</span>
<span class="n">Skipping</span><span class="p">:</span><span class="w"> </span><span class="n">org</span><span class="o">.</span><span class="n">gimp</span><span class="o">.</span><span class="n">GIMP</span><span class="o">/</span><span class="n">x86_64</span><span class="o">/</span><span class="n">beta</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">already</span><span class="w"> </span><span class="n">installed</span>
<span class="p">[</span><span class="mi">2</span><span class="o">/</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="n">Updating</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">commit</span><span class="w"> </span><span class="s1">'9165cae20b6ad8549ff8053385b0facd15bb11fc8733e0b9c50aed0e961a6c3e'</span><span class="w"> </span><span class="p">(</span><span class="mi">4</span><span class="s1">'s previous build)</span>
<span class="n">Looking</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">updates</span><span class="err">…</span>
<span class="w"> </span><span class="n">ID</span><span class="w"> </span><span class="n">Branch</span><span class="w"> </span><span class="n">Op</span><span class="w"> </span><span class="n">Remote</span><span class="w"> </span><span class="n">Download</span>
<span class="w"> </span><span class="mf">1.</span><span class="w"> </span><span class="p">[</span><span class="err">✓</span><span class="p">]</span><span class="w"> </span><span class="n">org</span><span class="o">.</span><span class="n">gimp</span><span class="o">.</span><span class="n">GIMP</span><span class="w"> </span><span class="n">beta</span><span class="w"> </span><span class="n">u</span><span class="w"> </span><span class="n">flathub</span><span class="o">-</span><span class="n">beta</span><span class="w"> </span><span class="mf">43.4</span><span class="w"> </span><span class="n">MB</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mf">75.5</span><span class="w"> </span><span class="n">MB</span>
<span class="n">Updates</span><span class="w"> </span><span class="n">complete</span><span class="o">.</span>
<span class="n">Build</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="n">released</span><span class="w"> </span><span class="n">on</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">26</span><span class="w"> </span><span class="mi">14</span><span class="p">:</span><span class="mi">08</span><span class="p">:</span><span class="mi">32</span><span class="w"> </span><span class="o">+</span><span class="mi">0000</span><span class="w"> </span><span class="n">was</span><span class="w"> </span><span class="n">installed</span><span class="o">.</span>
<span class="n">Build</span><span class="w"> </span><span class="n">subject</span><span class="p">:</span><span class="w"> </span><span class="n">Release</span><span class="w"> </span><span class="n">GIMP</span><span class="w"> </span><span class="mf">2.99</span><span class="o">.</span><span class="mf">6.</span><span class="w"> </span><span class="p">(</span><span class="n">e04355dd</span><span class="p">)</span>
<span class="n">Build</span><span class="w"> </span><span class="n">commit</span><span class="w"> </span><span class="n">on</span><span class="w"> </span><span class="n">flathub</span><span class="o">-</span><span class="n">beta</span><span class="p">:</span><span class="w"> </span><span class="mi">9165</span><span class="n">cae20b6ad8549ff8053385b0facd15bb11fc8733e0b9c50aed0e961a6c3e</span>
</code></pre></div>
<p>Done. In 2 commands and less than a minute, I am now able to run our
<span class="caps">GIMP</span> 2.99.6 flatpak beta package which was 4 packages ago.</p>
<p>This command allows me to do this for the stable, the beta and the
nightly packages.</p>
<h3 id="new-contributor-documentation">New contributor documentation<a class="headerlink" href="#new-contributor-documentation" title="Permanent link">¶</a></h3>
<p>Our developer document was a bit sparse and not too maintained these
days, so a new version is starting to get written. It’s still widely
incomplete and some part are based on older docs which might be
outdated, or at least would deserve a review. In any case, work is in progress.</p>
<p>For anyone wishing to contribute, <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/devel-docs/README.md">this is where you should
start</a>.</p>
<h2 id="improved-api-for-plug-ins">Improved <span class="caps">API</span> for plug-ins<a class="headerlink" href="#improved-api-for-plug-ins" title="Permanent link">¶</a></h2>
<p>The work on the <span class="caps">API</span> is still going full on. Here are the most noteworthy
changes which happened during <span class="caps">GIMP</span> 2.99.10 time frame.</p>
<p>Changes in <code>libgimp</code>:</p>
<ul>
<li><code>GimpStringArray</code> type was removed in favor of <code>GStrv</code>. Various
libgimp <span class="caps">API</span> were updated to use <code>GStrv</code>, and relevant plug-in procedures
with
<code>GStrv</code> arguments or return values were updated as well.</li>
<li>New functions:<ul>
<li><code>gimp_context_are_dynamics_enabled()</code></li>
<li><code>gimp_context_enable_dynamics()</code></li>
<li><code>gimp_item_get_lock_visibility()</code></li>
<li><code>gimp_item_set_lock_visibility()</code></li>
<li><code>gimp_pdb_run_procedure_config()</code></li>
</ul>
</li>
<li>Removed functions:<ul>
<li><code>gimp_item_get_linked()</code></li>
<li><code>gimp_item_set_linked()</code></li>
</ul>
</li>
</ul>
<p>Changes in <code>libgimpui</code>:</p>
<ul>
<li>New widgets:<ul>
<li><code>GimpLabelColor</code> (now used by default for <code>GimpRGB</code> properties in `GimpProcedureDialog)</li>
<li><code>GimpLabelEntry</code> (now used by default for string properties in `GimpProcedureDialog)</li>
<li><code>GimpSpinScale</code> (see <a href="#going-further-with-our-compact-slider-widget">above</a>)</li>
</ul>
</li>
<li>New functions:<ul>
<li><code>gimp_color_area_enable_drag()</code></li>
<li><code>gimp_event_triggers_context_menu()</code>: alternative to
<code>gdk_event_triggers_context_menu()</code> with the additional ability of
using button release events as contextual menu triggering
(instead of press events), which might be prefered in some
cases. Other than this, it uses exactly the same conditions as
its <span class="caps">GDK</span> counterpart.</li>
<li><code>gimp_procedure_dialog_get_spin_scale()</code></li>
<li><code>gimp_prop_label_color_new()</code></li>
<li><code>gimp_prop_label_entry_new()</code></li>
<li><code>gimp_prop_spin_scale_new()</code></li>
<li><code>gimp_prop_widget_set_factor()</code></li>
</ul>
</li>
<li>Improved functions:<ul>
<li><code>gimp_procedure_dialog_get_widget()</code> can now generate widgets of
type <code>GimpSpinScale</code> (for int/double properties) and GimpLabelColor
or <code>GimpColorButton</code> (for <code>GimpRGB</code> properties).</li>
<li><code>gimp_procedure_dialog_get_color_widget()</code> now only return
<code>GimpLabelColor</code> widgets (editable or not).</li>
</ul>
</li>
</ul>
<p>Also the Vala bindings <code>gimp-3.vapi</code> and <code>gimp-ui-3.vapi</code> were renamed
to <code>gimp-3.0.vapi</code> and <code>gimp-ui-3.0.vapi</code> respectively in the autotools
build (now consistent with meson).</p>
<p>By the way, it seems we have issues with the Vala and Lua plug-ins on
Windows in the installer we are providing. We don’t know why yet and
still need to investigate.</p>
<h2 id="wayland-and-macos-support">Wayland and macOS support<a class="headerlink" href="#wayland-and-macos-support" title="Permanent link">¶</a></h2>
<p>Various bugs and improvements have been made specifically to Wayland and
macOS support. These often go together as we notice that many of the
issues which appear on one of these also appear on the other.</p>
<p>On macOS in particular though, there were massive slowness issues of the
2.99 development series, so much that at some point, our packager feared
that <span class="caps">GIMP</span> 3.0 on macOS would never be usable.
Well we are proud to announce this was premature despair as we finally
found some solutions for some things, workarounds for others, sometimes
not too pretty yet enough for <span class="caps">GIMP</span> to be finally usable and even faster
than the 2.10 series in our various tests! Our only uncertainty is that
the code was mostly tested on macOS Monterey. We don’t know the
situation on Big Sur where the problems initially started.</p>
<p>Several parts of the solutions lead us to <span class="caps">GTK</span> patches. Not everything is
upstream yet, but we already use our current satisfying patch set in our
own <span class="caps">DMG</span> package. This will help other projects using <span class="caps">GTK3</span> and
experiencing similar issues.</p>
<h2 id="babl-and-gegl">babl and <span class="caps">GEGL</span><a class="headerlink" href="#babl-and-gegl" title="Permanent link">¶</a></h2>
<p>As usual, this release is supplemented with the releases of
<a href="https://gegl.org/babl/">babl</a> 0.1.90 and <a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.36.</p>
<p>And these are particularly exciting for this release.</p>
<h3 id="automatic-lut-creation-for-conversions-in-babl">Automatic <span class="caps">LUT</span> creation for conversions in babl<a class="headerlink" href="#automatic-lut-creation-for-conversions-in-babl" title="Permanent link">¶</a></h3>
<p>Citing Øyvind in a recent <a href="https://www.patreon.com/posts/babl-lutefisk-62286666">report</a>:</p>
<blockquote>
<p>babl works as a universal pixel encoding translator by having - a not
necessarily fast reference conversion able to deal with everything - and
a collection of conversions that can be chained together into what babl
calls fishes. The fishes are raced against each other to find the best
conversion babl is able to create.</p>
</blockquote>
<p>In some situations, a <a href="https://en.wikipedia.org/wiki/Lookup_table#Lookup_tables_in_image_processing"><span class="caps">LUT</span> (Look-Up
Table)</a>
will perform better, we now know what the performance will be of using a
<span class="caps">LUT</span> for various combinations of input and output bits per pixel; and
mark fishes that are better as LUTs on creation time. If such a fish is
used more than a minimum, <span class="caps">LUT</span> population is triggered.</p>
<p>Right now one drawback is that it might actually slow down slightly the
first conversion happening in a given <code>input > output</code> conversion couple.
The solution which might come later would be to create the LUTs in the
background in a thread and continue doing non-<span class="caps">LUT</span> conversions until it
is ready.</p>
<p>Note that the created LUTs are also garbage-collected after a few
minutes of non-usage, to avoid filling memory with single use LUTs.</p>
<h3 id="simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl"><span class="caps">SIMD</span> builds for x86_64 and <span class="caps">ARM</span> neon (ctx, babl and <span class="caps">GEGL</span>)<a class="headerlink" href="#simd-builds-for-x86_64-and-arm-neon-ctx-babl-and-gegl" title="Permanent link">¶</a></h3>
<p>All of babl, <span class="caps">GEGL</span> and ctx have gotten similar <span class="caps">SIMD</span> build and dispatch changes applied.</p>
<p>Image processing code written to be portable and performant caters well to the
auto-vectorization support for <span class="caps">SIMD</span> in modern compilers. The way it is done is
mostly by changes to the build system. For now the code remains the same for
all targets but the approach can be extended with conditional intrinsics.</p>
<p>To see the impact this can have, here is a test of filling a circle with ctx
and its different pixel encoding targets, on a Raspberry Pi with default
compiler flags (without neon support). Note that the cairo reference
comparison is the <span class="caps">BGRA8</span> format (the only other format proposed by Cairo is A8):</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/GEGL-0-4-36-arm-without-neon.png" alt="Test results without SIMD"/>
<figcaption>
<em>Filling a 256px radius circle in a 512x512 buffer a number of times without Neon (smaller is better)</em>
</figcaption>
</figure>
<p>And the same test, with the compiler allowed to use Neon instructions:</p>
<figure>
<img src="https://www.gimp.org/news/2022/02/25/gimp-2-99-10-released/GEGL-0-4-36-arm-with-neon.png" alt="Test results with SIMD"/>
<figcaption>
<em>Filling a 256px radius circle in a 512x512 buffer a number of times without Neon (smaller is better)</em>
</figcaption>
</figure>
<p>Note well that both the optimized and non-optimized cases are built-in,
and availability of relevant instructions determined by runtime tests.
This makes these optimizations very portable, despite being based on
recent architecture instructions.</p>
<p>ℹ️ Note that these changes (both the automatic <span class="caps">LUT</span> generation and the <span class="caps">SIMD</span>
dispatch) will apply to <span class="caps">GIMP</span> 2.10 versions later. For now they are
available in 2.99 as a form of beta test. We welcome feedbacks if you
encounter any misbehavior.</p>
<h3 id="other-improvements">Other improvements<a class="headerlink" href="#other-improvements" title="Permanent link">¶</a></h3>
<p><code>babl</code> now also comes with pre-defined <span class="caps">CIE</span> Lab u8 and <span class="caps">CIE</span> Lab u16 formats.</p>
<h2 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h2>
<p>On our main source repository, “<em>reporter</em>” access (allowing to triage
reports: labelling, closing, reopening, and moving reports…) have been
given to nmat and Liam Quin.</p>
<p>Ondřej Míchal has now been given write access to the package repository
for our stable and beta flatpak on Flathub, thus joining Hubert Figuière
and Jehan for maintenance, after their various improvements to our
flatpak packages, including some very nice work for automatic detection
of outdated dependencies, thanks to the <code>flatpak-external-data-checker</code>
tool.</p>
<h2 id="release-stats">Release stats<a class="headerlink" href="#release-stats" title="Permanent link">¶</a></h2>
<p>42 people contributed to <span class="caps">GIMP</span> 2.99.10:</p>
<ul>
<li>17 developers contributed to <code>GIMP</code> code base for this micro version:<ul>
<li>1 developer with more than 300 commits (Jehan)</li>
<li>4 developers with 10 to 30 commits (Jacob Boerema, Niels De Graef,
Lukas Oberhuber and Daniel Novomeský)</li>
<li>12 developers with 1 to 4 commits: Øyvind Kolås, Anders Jonsson,
Asalle, Emily Gonyer, Luca Bacci, Markus Volk, Ondřej Míchal,
Stanislav Grinkov, Yoshinori Yamakawa, bartoszek, Nikc and Tomasz Goliński.</li>
</ul>
</li>
<li>20 translations were updated: Basque, British English, Catalan,
Chinese (China), Danish, German, Greek, Hungarian, Italian, Kabyle,
Latvian, Lithuanian, Polish, Portuguese, Russian, Slovenian, Spanish,
Swedish, Ukrainian, Vietnamese.</li>
<li>24 translators contributed: Yuri Chornoivan, Hugo Carvalho, Anders
Jonsson Matej Urbančič Rodrigo Lledó, Rūdolfs Mazurs, Asier Sarasua
Garmendia, Luming Zh, Bruce Cowan, Jordi Mas, Piotr Drąg, Ask Hjorth
Larsen, Boyuan Yang, Marco Ciampa, Alan Mortensen, Daniel Mustieles,
Yacine Bouklif, Alexandre Prokoudine, Aurimas Černius, Balázs Meskó,
Luna Jernberg, Ngọc Quân Trần, Tim Sabsch and dimspingos.</li>
<li>4 people helped with in-code documentation: Jehan, Niels De Graef,
Alexandre Prokoudine and Daniel Novomeský.</li>
<li>2 people contributed to icons: Aryeom and Jehan.</li>
<li>9 people contributed to build-related updates: Jehan, Lukas Oberhuber,
Øyvind Kolås, Asalle, Daniel Novomeský, Yoshinori Yamakawa, Aryeom
Han, Markus Volk and bartoszek.</li>
<li>One new splash screen by Aryeom Han.</li>
</ul>
<p>These are the stats on babl, <span class="caps">GEGL</span> and ctx side:</p>
<ul>
<li>4 contributors to <code>babl</code> 0.1.90:<ul>
<li>1 contributor with more than 70 commits (Øyvind Kolås).</li>
<li>4 contributors with 1 to 4 commits: Mingye Wang, Jehan, Tomasz
Golinski and Andrzej Hunt.</li>
</ul>
</li>
<li>6 contributors to <code>GEGL</code> 0.4.36:<ul>
<li>1 contributor with more than 20 commits (Øyvind Kolås).</li>
<li>5 contributors with 1 to 2 commits: Anders Jonsson, Jehan, Alan
Mortensen, Caleb Xu and zamfofex.</li>
</ul>
</li>
<li><code>ctx</code> doesn’t have releases per-se as it is project-embedded code. So
let’s count commits in the time frame between <span class="caps">GIMP</span> 2.99.8 and 2.99.10:<ul>
<li>1 contributor with more than 600 commits (Øyvind Kolås)</li>
<li>1 contributor with 1 commit (Jehan)</li>
</ul>
</li>
</ul>
<p>We should also not forget the documentation repository which gets more
activity these days, thanks to the new maintainership by Jacob. In the
same time frame as <span class="caps">GIMP</span> 2.99.10, it got 5 contributors:</p>
<ul>
<li>2 contributors on the documentation itself: Jacob Boerema and Anders Jonsson.</li>
<li>4 contributors worked on translations: Rodrigo Lledó, Anders Jonsson,
Jordi Mas and Piotr Drąg.</li>
</ul>
<p>Finally the work on the macOS repository should not be forgotten, thanks
to our new packager, Lukas:</p>
<ul>
<li>1 contributor with more than 60 commits (Lukas Oberhuber).</li>
<li>2 contributors with 1 to 2 commits: Jehan and Andreas Scherer.</li>
</ul>
<h2 id="downloading-gimp-29910">Downloading <span class="caps">GIMP</span> 2.99.10<a class="headerlink" href="#downloading-gimp-29910" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.99.10 is available on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a> in 3 package formats:</p>
<ul>
<li>Linux development flatpak</li>
<li>Windows installer</li>
<li>macOS <span class="caps">DMG</span> package</li>
</ul>
<p>Other packages made by third-party are obviously expected to follow
(Linux or *<span class="caps">BSD</span> distributions’ packages, etc.).</p>
<p>ℹ️ Fun fact: we learned that <span class="caps">GIMP</span> was successfully <a href="https://twitter.com/haikunauts/status/1489019411637972997">built on Haiku
<span class="caps">OS</span></a> (yet
another operating system, not a mainstream one) and is now provided
through their packaging system. Even though we know it well, it always
amazes us how cross-platform <span class="caps">GIMP</span> is as it can be found on nearly every
operating system (yes <span class="caps">GIMP</span> is on <span class="caps">GNU</span>/Hurd too from what we are told!)
and micro-architecture there is. 😊</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>This release is quite heavy on <span class="caps">API</span>-side updates, which is one of the big
blocker for <span class="caps">GIMP</span> 3.0 release (still some work-in-progress on this side).
The “link” concept was also an old concept which needed to disappear for
<span class="caps">GIMP</span> 3.0, so this is one less blocker as this change is now completely finished.</p>
<p>The <span class="caps">GTK</span> port is another big blocker; important work in this direction
has been started by some contributors regarding a move to the
<code>GApplication</code> and <code>GtkApplication</code> frameworks and the <code>GAction</code> port.
These patches are still heavily under work and need review thus it has
not been merged in any form in <span class="caps">GIMP</span> 2.99.10. We will most likely have
the opportunity to talk more about it on the next release.</p>
<p>Meanwhile work related to Wayland and macOS support are still taking
quite a bit of developer time as you can see.</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, the <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers of
<span class="caps">GEGL</span> and <span class="caps">GIMP</span> are crowdfunding to be able to work full-time on free
software</a>. 🥳</p>2021 annual report2021-12-31T00:00:00+01:002021-12-31T00:00:00+01:00Jehantag:www.gimp.org,2021-12-31:/news/2021/12/31/gimp-2021-annual-report/<p>What happened in 2021?</p><p>While we are ending 2021, let’s sum up the year. For my first year as
co-maintainer, I thought it would be a good idea to write this report in
my name so that I can give personal impressions of how it is to work on
<span class="caps">GIMP</span> and what it means to me.</p>
<figure>
<img src="https://www.gimp.org/news/2021/12/31/gimp-2021-annual-report/2021-12-wilber-and-co-year-end-party.jpg" alt="Hello 2022 - Wilber and co. comics strip by Aryeom"/>
<figcaption>
<em>“Hello 2022” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2021 annual report</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#statistics">Statistics</a></li>
<li><a href="#building-a-lovely-team">Building a lovely team</a></li>
<li><a href="#gimp-30-approaching"><span class="caps">GIMP</span> 3.0 approaching</a></li>
<li><a href="#gegl-babl-and-ctx"><span class="caps">GEGL</span>, babl and ctx</a></li>
<li><a href="#infrastructure-documentation">Infrastructure, Documentation</a></li>
<li><a href="#plans-for-2022">Plans for 2022</a></li>
</ul>
</div>
<h1 id="statistics">Statistics<a class="headerlink" href="#statistics" title="Permanent link">¶</a></h1>
<p>In 2021, we had:</p>
<ul>
<li><strong>4 stable releases</strong> (<span class="caps">GIMP</span> 2.10.24, 2.10.26, 2.10.28 and 2.10.30)</li>
<li><strong>2 development releases</strong> (<span class="caps">GIMP</span> 2.99.6 and 2.99.8).</li>
<li><strong>1179 commits</strong> on the unstable development branch (2.99.x, future
3.0) and <strong>407 commits</strong> on the stable development branch (2.10.x) of
the main repository.</li>
<li><strong>91 contributors</strong> on the main repository, including (some people belong
to several categories):<ul>
<li>41 developers</li>
<li>42 translators</li>
<li>24 contributors to resources (icons, themes, in-code
documentation) or build improvements.</li>
</ul>
</li>
<li>22 people contributed more than 10 commits in the main repository,
among which 2 contributors did more than 100 commits (Jacob Boerema
and myself), among which only one (myself) did more than 500.</li>
<li><strong>247 commits</strong> to <span class="caps">GIMP</span>’s website (<code>gimp.org</code>, i.e. right here) by 14 contributors.</li>
<li><strong>31 commits</strong> to <a href="https://gegl.org/babl/">babl</a> by 6 contributors.</li>
<li><strong>229 commits</strong> to <a href="https://gegl.org/"><span class="caps">GEGL</span></a> by 33 contributors.</li>
<li><strong>1179 commits</strong> to <a href="https://ctx.graphics/">ctx</a> by 3 contributors
(mostly Øyvind Kolås).</li>
<li><strong>255 commits</strong> in <code>gimp-help</code> (our manual), whose main contributor is
Jacob Boerema who is doing an awesome work reviving it.</li>
<li><strong>53 commits</strong> in <code>gimp-macos-build</code> (our repository for the macOS build)
by 4 contributors (mostly by Lukas Oberhuber who took over
maintainance of the macOS package).</li>
<li><strong>185 reports fixed</strong> in our 2021 releases and <strong>hundreds</strong> more
handled, triaged, answered to, worked on…</li>
<li>Many patches contributed by <span class="caps">GIMP</span> contributors in various other
projects we use (GLib, <span class="caps">GTK</span>, Cairo, GExiv2 and others… We don’t keep
track) and an uncountable number of issues reported by our
contributors to other projects.</li>
<li><strong>Helping</strong> (or <strong>getting helped</strong> by) other Free Software when we
can, e.g. the very nice <a href="https://siril.org/">Siril</a> project for
astronomical image processing and other software, because unlike what
some think, we are not in a market or a competition! We all work
together to make a better graphics work environment.</li>
<li>And more!</li>
</ul>
<p>In the end, that’s quite a lot of work proudly brought to you by <span class="caps">GIMP</span>.
As you may notice, we have quite some contributions, yet the core work
is still actually done by a handful of people as most contributions
are one-off (out of the 91 contributors, 69 contributed less than 10
commits, and among these 51 contributed a single commit).</p>
<p>I want to commend <a href="https://www.jacobboerema.nl/en/">Jacob Boerema</a> in
particular who is the biggest contributor this year on the stable
branch, while I must admit I mostly focus on the development branch and
sometimes tend to neglect a bit the stable branch 😒! Thanks Jacob! 🤗</p>
<p>And we should never forget <code>babl</code>, <code>GEGL</code> and the new project <code>ctx</code> by
Øyvind Kolås as these constitute the core of <span class="caps">GIMP</span> imaging engine and are
considered as much a part of <span class="caps">GIMP</span> project as the interface itself.</p>
<h1 id="building-a-lovely-team">Building a lovely team<a class="headerlink" href="#building-a-lovely-team" title="Permanent link">¶</a></h1>
<p>You might have noticed a regular section for the last few news titled
“<em>Team news</em>” where we list changes in the team, in particular new
contributors who are given more access to the tracker or the source
repository. I have been trying to be more and more proactive into
integrating people into the core team.</p>
<p>Indeed as you saw in the statistics, Jacob Boerema is the only other
contributor who did more than 100 commits in 2021, while I did a bit
over 500. So I want to improve this ratio and increase the <em>bus factor</em>.</p>
<p><span class="caps">GIMP</span> team has always been very welcoming, at least ever since I started
contributing, back in 2012 and this is even why I stayed back then. I
want to perpetuate this tradition. My goal is to identify faster the
people to give more responsibility to (note that technical skills are
important but social skills — in other words being a good person and
nice to others — is my priority checkbox). Well it’s definitely an evil
trick 🦹 to lessen my own burden, but I also expect this to make it way
more fun 🎡 contributing to the project (based on personal experience)!</p>
<p>Therefore let me give special props to Jacob Boerema for his tireless
work on file format support and more, Niels de Graef for his invaluable
help and good expertise with <span class="caps">GTK</span>, Luca Bacci for his very nice work on
input device support, helping on Windows and his <span class="caps">GTK</span> expertise, Daniel
Novomesky for making <span class="caps">HEIF</span>/<span class="caps">AVIF</span> and <span class="caps">JPEG</span>-<span class="caps">XL</span> first-class formats…</p>
<p>Let’s not forget recurring contributors such as Massimo Valentini, Lloyd
Konneker… (what would we do without these people never giving up on <span class="caps">GIMP</span>,
years after years?!) and promising newcomers like Stanislav Grinkov.</p>
<p>Now let’s applaud our packagers: Jernej Simončič has been around in <span class="caps">GIMP</span>
for as long as I could remember, flawlessly making Windows installers
like a solid rock to rely on; macOS history is bumpier yet Lukas
Oberhuber has been doing an outstanding work lately so I sure hope he’ll
stay around; on Flatpak side, Hubert Figuière helps quite a lot too (and
I <del>secretly</del> 🤫 hope he will end up taking over me maintaining our
stable, beta and nightly flatpak-s!).</p>
<p>At the end of the day, <span class="caps">GIMP</span> is much bigger than just developers, it’s a
community. What would we do without people helping for the website, bug
triaging, infrastructure and more? And let’s not forget the translators,
so many of them! I just love all of you! Sorry that I cannot just name
everyone (in case I forgot you, don’t take it the wrong way, there are
just so many awesome people around!).</p>
<p>What I like to tell everyone is that <span class="caps">GIMP</span> is both a community software
and Free Software, or simply a <strong>Community, Free Software</strong>. This double
concept is extremely important to me and this is why I love <span class="caps">GIMP</span> and why
both Aryeom and I (from <a href="https://film.zemarmot.net/">ZeMarmot projet</a>,
from which our heavy-lifting contributions really started) stuck with
it. This is about humans meeting each others and trying to do something
nice together (even though each’s personal end goal might be different).
Everything works wonderfully as long as we remember to be good to each
other. 🤗</p>
<p>Therefore <strong>to all contributors (of any specialties) who helped <span class="caps">GIMP</span> so
far, I want to say a huge thank you! <span class="caps">GIMP</span> is what it is thanks to you!</strong> 🙏</p>
<h1 id="gimp-30-approaching"><span class="caps">GIMP</span> 3.0 approaching<a class="headerlink" href="#gimp-30-approaching" title="Permanent link">¶</a></h1>
<p>With 4 development versions released already, you know that we are
working very hard on the future: <span class="caps">GIMP</span> 3.0.</p>
<p>Some features took a lot of time, mostly when we changed core logics. I
am thinking in particular about the code for multi-selection of layers.
It’s not that selecting multiple items in a list is hard to implement,
it’s that any feature in the whole application has been forever
expecting just one layer or one channel selected. So what happens when
there are 2, 3 or any number of items selected? Every feature, every
tool, every plug-in and filter has to be rethought for this new use
case. This is a huge work and it has been 2 years I have been on and off
on this one in between porting or developing other code and reviewing
contributors’ code. Fortunately this change is nearing the end lately
(not completely finished though).
So that’s a great progress.</p>
<p>By the way, a part of this work has been to get rid of the “link” (chain
⛓ icon in the <code>Layers</code> dockable) concept in favor of multi-selection
(and layer search and storage as a replacement concept for the ability
to save layer links). This part is also done now. I’ll talk more about
this in the <span class="caps">GIMP</span> 2.99.10 release news.</p>
<figure>
<img src="https://www.gimp.org/news/2021/12/31/gimp-2021-annual-report/2021-annual-report-multi-layer-replace-link.gif" alt="Linked layer concept replaced by layer search"/>
<figcaption>
<em>Link concept replaced by multi-layer search, lock icons moved - <span class="caps">GIMP</span> dev branch</em>
</figcaption>
</figure>
<p>Among other blockers which I <a href="https://www.patreon.com/posts/what-remains-to-40087754">listed a year
ago</a>, we are
steadily progressing on our <span class="caps">GTK3</span> port and Wayland support as well as
stabilizing the plug-in <span class="caps">API</span>. I do hope these will be considered in a
good enough state soon enough so that we can consider having a release candidate.</p>
<p>On the other hand, the <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#space-invasion">space
invasion</a>
has been a bit on the slow pace in 2021 so this is definitely one topic
we need to get back full-on very soon. Same for the <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#extensions">extension
platform</a>.</p>
<h1 id="gegl-babl-and-ctx"><span class="caps">GEGL</span>, babl and ctx<a class="headerlink" href="#gegl-babl-and-ctx" title="Permanent link">¶</a></h1>
<p>The core 🫀⚙️ of modern <span class="caps">GIMP</span> is <a href="https://gegl.org/"><span class="caps">GEGL</span></a>, a library project
nearly as old as <span class="caps">GIMP</span> itself, by the same core of people, even though
the first <a href="https://www.gimp.org/release-notes/gimp-2.6.html#gegl">tentative integrations only happened in <span class="caps">GIMP</span>
2.6</a>, and since
then slowly making its way to be the main engine behind most pixel
manipulation in the software.</p>
<p><span class="caps">GEGL</span> development has been slowing down a bit since 2019, but mostly
because it is becoming stabler by the day, which is really when things
are getting good, solid and interesting.
Now it would still be unfair to forget talking about the recent support
of the <code>CMYK</code> color model in <span class="caps">GEGL</span>, which means we are a step closer to
get some support in <span class="caps">GIMP</span> itself.</p>
<p>Another exciting thing is the new project Øyvind Kolås has been working
on these days: <a href="https://ctx.graphics/">ctx</a>, a vector graphics library.</p>
<p>Now I know it may not sound as useful when you develop a raster graphics
application, but there are still a lot of intersecting topics. One of
these topics is the graphics interface itself which is usually rendered
out of vector primitives. In <span class="caps">GTK</span> case, the rendering is going through
Cairo. Øyvind has been working a lot to both render <a href="https://www.patreon.com/posts/gegl-vectors-ctx-53188476">nicer and
faster</a> than
Cairo, or similarly, on many cases. <code>ctx</code> also has color-management
thought into the framework from the ground up as a first-class citizen.</p>
<p>Of course <code>ctx</code> is still heavily under work as can be seen by the
intense commit rate so we’ll have to see where it goes, but this is for
sure exciting since Øyvind is a well-proven excellent R&D developer.</p>
<p>There are other areas where <code>ctx</code> is useful, such as the few <span class="caps">GEGL</span>
operations with vector components which have already been ported to this
new library (e.g. <code>gegl:fill-path</code>) and text itself is usually rendered
through vector shapes (so who knows what might happen when we improve
text support?). <span class="caps">GIMP</span> is not going to refocus on vector graphics anytime
soon, but we may definitely get more vector-related features as we go
(anyone who follow a bit <em>ZeMarmot</em>‘s work knows that we are really
looking into improved ways for <span class="caps">SVG</span> integration for instance, such
as in my early, not merged yet, <a href="https://www.patreon.com/posts/gimp-dev-report-39631718">link layer
experiment</a>).
When we do more vector work, <code>ctx</code> will definitely be a top contender.</p>
<p>I can already hear Øyvind telling me that <code>ctx</code> is actually much more
than these few areas I summed up here. So let me be sorry in advance,
Øyvind! This is why this report is in my name, taking into account my
own limitations in understanding your bigger plans, and looking forward
to be pleasantly surprised and amazed in the future! 🤯</p>
<h1 id="infrastructure-documentation">Infrastructure, Documentation<a class="headerlink" href="#infrastructure-documentation" title="Permanent link">¶</a></h1>
<p>In all software projects, there is a constant which is mostly invisible,
yet extremely important: infrastructure.</p>
<p>You might have noticed we did speak a bit more than usual about this in
2021 because it has really been something which used to bother me in my
early years contributing to <span class="caps">GIMP</span>. I always thought we needed more
robust, automated and transparent builds (which is getting there for
<a href="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#automated-release-installers">Windows</a>,
<a href="https://www.gimp.org/news/2021/12/06/gimp-2-99-8-for-macos/">macOS</a>
and Linux with Flatpak), better <a href="https://www.gimp.org/news/2021/10/06/official-mirror-policy/">download mirrors
handling</a>,
better <a href="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#continuous-integration-changes">continuous
integration</a>
in general, better end-user documentation (Jacob is on it! And we have
plans to get a more automated release and online testing policy of <span class="caps">GIMP</span>
manual, which should happen in 2022)…</p>
<p>We also had some work done in 2021 around developer documentation:
<a href="https://shallowsky.com/">Akkana Peck</a> (well known for having written
books on <span class="caps">GIMP</span>) and Lloyd Konneker helped set up some initial
documentation to port plug-ins and script from 2.10 to 3.0. Akkana also
jump-started generating <span class="caps">API</span> references for the Python and Javascript
bindings (with <code>g-ir-doc-tool</code>). Then very recently Niels De Graef
migrated our generic <span class="caps">API</span> documentation generation from <code>gtk-doc</code> to
<code>gi-docgen</code>, producing much more modern web documentation for plug-in
developers. None of these are online yet, only built within the source
repository for the time being. Getting an online update procedure for
these is also on the <code>TODO</code> list.</p>
<figure>
<img src="https://www.gimp.org/news/2021/12/31/gimp-2021-annual-report/2021-annual-report-API-reference.png" alt="New API documentation - GIMP dev branch"/>
<figcaption>
<em>New <span class="caps">API</span> documentation for plug-in developers - <span class="caps">GIMP</span> dev branch</em>
</figcaption>
</figure>
<p>All these topics take a lot of time and are also necessary to get a much
nicer experience using <span class="caps">GIMP</span>. So I am already quite proud of what
we did in 2021 and really excited about our 2022 plans.</p>
<h1 id="plans-for-2022">Plans for 2022<a class="headerlink" href="#plans-for-2022" title="Permanent link">¶</a></h1>
<p>You might wonder now: when will <span class="caps">GIMP</span> 3.0 be released?</p>
<p>Nope sorry, as always, we don’t answer such question. 😛
What we can say is that we are hard at work for this to happen and for
sure I’d like it to be earlier rather than later.</p>
<p>As said above, apart from the code itself, I also want us to get our
new online manual infrastructure improved before the release, but also
our extension framework ready as well as a brand new developer website
with documentation and more.
So the plans are actually quite extensive and it’s not only within <span class="caps">GIMP</span>
code itself (though code definitely needs more work too).
We’ll see how things go from here!</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, myself as
<a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainer of <span class="caps">GIMP</span> (through <em>ZeMarmot</em> project) and Øyvind as
maintainer of <span class="caps">GEGL</span> are crowdfunding to be able to work full-time on free
software</a>.
Any funding is appreciated to help us succeed in such endeavour.</p>
<p>I wish you all a nice new year eve and a wonderful year 2022. 🥳</p>GIMP 2.10.30 Released2021-12-21T00:00:00+01:002021-12-21T00:00:00+01:00Wilbertag:www.gimp.org,2021-12-21:/news/2021/12/21/gimp-2-10-30-released/<p>A release of bug fixes and backend evolutions.</p><p><span class="caps">GIMP</span> 2.10.30 is once again mostly a bugfix release, with many fixes and
incremental improvements, not so much on the “new feature” side.</p>
<h1 id="improved-file-formats-support">Improved file formats support<a class="headerlink" href="#improved-file-formats-support" title="Permanent link">¶</a></h1>
<p>Several file format supports were updated with fixes or improvements:
<span class="caps">AVIF</span>, <span class="caps">HEIF</span>, <span class="caps">PSD</span>, <span class="caps">DDS</span>, <span class="caps">RGBE</span> and <span class="caps">PBM</span>.</p>
<p>Let’s highlight in particular:</p>
<ul>
<li><strong><span class="caps">PSD</span></strong> support received various types of improvements allowing it
to load more sub-cases of <span class="caps">PSD</span>: layer masks tagged with invalid
dimensions, <span class="caps">CMYK</span> without alpha, <span class="caps">CMYK</span> without layers, merged image of a
16 bit per channel <span class="caps">RGBA</span> which had opaque alpha channel etc. In case
of <span class="caps">CMYK</span> <span class="caps">PSD</span> files, for now, <span class="caps">GIMP</span> will convert to sRGB to allow to view
the contents of a file rather than display a message that the file
is not supported.</li>
<li><strong><span class="caps">AVIF</span></strong> export now favors <span class="caps">AOM</span> encoder.</li>
</ul>
<h1 id="os-evolutions"><span class="caps">OS</span> evolutions<a class="headerlink" href="#os-evolutions" title="Permanent link">¶</a></h1>
<p>Some backends got reworked to follow <span class="caps">OS</span> evolutions:</p>
<ul>
<li>Backport of selection outline drawing reimplementation from <span class="caps">GIMP</span>
2.99.8 for <strong>macOS Big Sur</strong> and over (<a href="https://www.gimp.org/news/2021/12/06/gimp-2-99-8-for-macos/#fixed-regressions-in-recent-macos-versions-selection-outlines-and-slowness">already discussed
patch</a>,
itself exceptionnaly backported to the 2.10.28 <span class="caps">DMG</span> package so that
macOS users enjoyed visible selections earlier).</li>
<li>On Windows, we moved from <code>GetICMProfile()</code> to the
<code>WcsGetDefaultColorProfile()</code> <span class="caps">API</span> because the former is broken in
<strong>Windows 11</strong>. Thus we were failing to get monitor profiles.</li>
<li>On Linux and other OSes which might use Freedesktop portals, we
implemented color picking on display (<code>Colors</code> dockable) with the
Freedesktop <span class="caps">API</span> when available, keeping old implementations as
fallbacks.
Screenshot plug-in now also uses in priority the Freedesktop <span class="caps">API</span>
rather than specific <span class="caps">KDE</span> or <span class="caps">GNOME</span> <span class="caps">API</span> (which are getting restricted
for security reasons since <strong><span class="caps">KDE</span> Plasma 5.20</strong> and <strong><span class="caps">GNOME</span> Shell
41</strong>).</li>
</ul>
<h1 id="other-improvements">Other improvements<a class="headerlink" href="#other-improvements" title="Permanent link">¶</a></h1>
<p>Various improvements were made on metadata support, be it on core code
as well as in the metadata plug-ins (viewer and editor).</p>
<p>A noteworthy fix is that the text tool won’t follow anymore the subpixel
font rendering choice from system settings. Subpixel rendering is for
<span class="caps">GUI</span> on a screen of a specific type and pixel order and is not suitable
for image contents which can be zoomed in or out, showed on various
screens or even printed. This change also depends on a patch we
contributed to Cairo which will be available in their next release (we
include the patched version in our flatpak).</p>
<h1 id="in-brief">In brief<a class="headerlink" href="#in-brief" title="Permanent link">¶</a></h1>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/05227c6889481e2ea973f81ccfa172150e057850/NEWS#L11-71"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/gimp-2-10">commit
history</a>.</p>
<dl>
<dt><em>Core code contributors</em>:</dt>
<dd>Adam Fontenot, Jacob Boerema, Jehan, Jordi Mas, Niels De Graef, Øyvind
Kolås and Yoshinori Yamakawa.</dd>
<dt><em>Plugin code contributors</em>:</dt>
<dd>Daniel Novomesky, Jacob Boerema, Jehan and Niels De Graef.</dd>
<dt><em>Build contributors</em>:</dt>
<dd>Daniel Novomesky, Jehan, Jernej Simončič, Øyvind Kolås, Niels De
Graef and Yoshinori Yamakawa.</dd>
</dl>
<h1 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h1>
<p>Luca Bacci is now a core developer with git access, acknowledging his
very nice contributions so far.</p>
<p>Lukas Oberhuber, our new macOS packager, was given “<em>reporter</em>” access
on the main source repository which allows him to help triaging on the
bugtracker: labelling, closing, reopening, and moving reports…</p>
<h1 id="translators">Translators<a class="headerlink" href="#translators" title="Permanent link">¶</a></h1>
<p>Among the 82 languages for which <span class="caps">GIMP</span> is available, 14 translations were
updated: Brazilian Portuguese, British English, Catalan, Croatian,
Finnish, Italian, Latvian, Lithuanian, Polish, Portuguese, Slovenian,
Spanish, Swedish and Ukrainian.</p>
<p>The Windows installer now contains Portuguese localization (from
Portugal, it already had Brazilian Portuguese), making it available in
35 languages.
Also some previously announced translations were missing in the
installer. These should be fixed now.</p>
<dl>
<dt><em>Translators on <span class="caps">GIMP</span> 2.10.30</em>:</dt>
<dd>Anders Jonsson, Aurimas Černius, Bruce Cowan, Bruno Lopes da Silva,
Daniel Mustieles, Hugo Carvalho, Jiri Grönroos, Jordi Mas, Marco Ciampa,
Matej Urbančič, Milo Ivir, Piotr Drąg, Rodrigo Lledó, Rūdolfs Mazurs and
Yuri Chornoivan.</dd>
</dl>
<h1 id="gegl"><span class="caps">GEGL</span><a class="headerlink" href="#gegl" title="Permanent link">¶</a></h1>
<p>As usual, this release is supplemented with the release of
<a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.34 the same day as <span class="caps">GIMP</span> 2.10.30.</p>
<p>There have been some build related improvements, such as moving the
implementation of <a href="https://ctx.graphics/">ctx</a> from the main <span class="caps">GEGL</span>
library to one of the runtime loadable operation bundles. In operations
the robustness of <code>gegl:ripple</code> and the <code>gegl:magick-load</code> powered
fallback have been improved.</p>
<dl>
<dt><em>Contributors to the <span class="caps">GEGL</span> release</em>:</dt>
<dd>Anders Jonsson, Asier Sarasua Garmendia, Boyuan Yang, dimspingos,
Gavin Cui, Hugo Carvalho, Jehan, Jordi Mas, krzygorz, Lukas Oberhuber,
Marco Ciampa, Matej Urbančič, Øyvind Kolås, Rodrigo Lledó, Rūdolfs
Mazurs and Simon McVittie.</dd>
</dl>
<h1 id="downloading-gimp-21030">Downloading <span class="caps">GIMP</span> 2.10.30<a class="headerlink" href="#downloading-gimp-21030" title="Permanent link">¶</a></h1>
<p>As usual <span class="caps">GIMP</span> 2.10.30 is available on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a>.</p>
<p>The Linux flatpak, Windows installer and macOS <span class="caps">DMG</span> package are already
available and nearly all mirrors fully synced up, in less than a day
from source release to binary release. This may be our new record of a
perfectly timed release!</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>While the development branch is getting most activity, we don’t forget
the stable branch. This release contains several fixes which we really
wanted to get out there, so we recommend everyone to update.</p>
<p>We are not sure we will be able to do a development release before the
end of the year, so we wish you already a wonderful holiday season! 🎄🎉</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, the <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers of
<span class="caps">GEGL</span> and <span class="caps">GIMP</span> are crowdfunding to be able to work full-time on free
software</a>. 🥳</p>GIMP is not affected by the log4j vulnerability2021-12-17T00:00:00+01:002021-12-17T00:00:00+01:00Wilbertag:www.gimp.org,2021-12-17:/news/2021/12/17/no-log4j-vulnerability/<p><span class="caps">GIMP</span> is not vulnerable to log4shell.</p><p>Everyone is asking us if <span class="caps">GIMP</span> is vulnerable to the recent <code>log4j</code>
<a href="https://logging.apache.org/log4j/2.x/security.html">vulnerabilities</a>
(also dubbed “<em>log4shell</em>” in the media, in particular regarding to the
<a href="https://www.cve.org/CVERecord?id=CVE-2021-44228"><span class="caps">CVE</span>-2021-44228</a>
zero-day vulnerability).</p>
<p>As an official statement: <strong>no, <span class="caps">GIMP</span> is not vulnerable to log4shell!</strong></p>
<p>We do not use <code>log4j</code> and there is not even any Java code in <span class="caps">GIMP</span>. So
enjoy <span class="caps">GIMP</span> and feel safe while creating more wonderful artworks 🖼!</p>
<p>📷 Happy GIMPing! 🖌</p>GIMP 2.99.8 macOS package now available2021-12-06T00:00:00+01:002021-12-06T00:00:00+01:00Wilbertag:www.gimp.org,2021-12-06:/news/2021/12/06/gimp-2-99-8-for-macos/<p>The current development version of <span class="caps">GIMP</span> is finally available as a macOS package!</p><p>The current development version of <span class="caps">GIMP</span> is finally available as a macOS
package! 🥳</p>
<p>» <strong>Download it on <a href="https://www.gimp.org/downloads/devel/">gimp.org “Development Downloads”
page</a></strong> «</p>
<p>So what’s happening with <span class="caps">GIMP</span> on macOS?</p>
<h2 id="fixed-regressions-in-recent-macos-versions-selection-outlines-and-slowness">Fixed regressions in recent macOS versions (selection outlines and slowness)<a class="headerlink" href="#fixed-regressions-in-recent-macos-versions-selection-outlines-and-slowness" title="Permanent link">¶</a></h2>
<p>Ever since the Big Sur release a year ago, macOS users have been
<a href="https://www.gimp.org/news/2020/12/25/gimp-2-10-22-released-macos/#whats-going-on-with-big-sur">experiencing regressions</a> such
as invisible selection outlines (a.k.a. “marching ants” 🐜) and general lack
of responsiveness. These would happen for everyone using <span class="caps">GIMP</span> on macOS Big Sur
or newer, whatever <span class="caps">GIMP</span> version (some people reported these issues even for old
<span class="caps">GIMP</span> 2.8 packages). This was caused by changes in the operating system itself.</p>
<p>The slowness issue had been mostly worked around by Des McGuinness, our
previously very active macOS package maintainer, though <span class="caps">GIMP</span>’s responsiveness
may still not be on par with other platforms.</p>
<p>We recently fixed the <a href="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#selection-cue-fixed-on-wayland-and-macos">selection outline visibility issue</a>
as well and then <strong>backported the fix to <span class="caps">GIMP</span> 2.10.28 <span class="caps">DMG</span> package</strong>! Therefore
we encourage everyone still having this issue to use the latest package, either stable 2.10.28 or the unstable 2.99.8.</p>
<h2 id="team-news-new-package-maintainer">Team news: new package maintainer<a class="headerlink" href="#team-news-new-package-maintainer" title="Permanent link">¶</a></h2>
<p>Our new macOS package contributor, Lukas Oberhuber, has been working
very hard to improve the packaging scripts, clarifying the process by
merging two repositories in one, getting rid of various useless files and
build rules and directly using modules of the upstream <code>gtk-osx</code> project
(when possible) rather than duplicating rules.</p>
<p>He simplified our <a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build">gimp-macos-build</a>
repository a lot, which should hopefully lower the entry barrier.</p>
<p>Finally, he fixed several bugs and environment code directly in the <span class="caps">GIMP</span>
codebase to bring our development code up-to-date with macOS support.</p>
<p>As a consequence, Lukas is now officially a new co-maintainer of the
macOS package. Welcome and congratulations, Lukas! 🥂</p>
<h2 id="new-contributors-are-still-very-very-welcome">New contributors are still very very welcome 🤗<a class="headerlink" href="#new-contributors-are-still-very-very-welcome" title="Permanent link">¶</a></h2>
<p>There are still serious macOS-specific bugs in both the stable and the
development series. They are being worked on by Lukas who is supported by the
core team, yet there are limits to what a single person is able to achieve.</p>
<p>For at least the past 10 years, <span class="caps">GIMP</span> has not been able to have two active
macOS developers at once. In fact, this is the second time this year that we
publish a <a href="https://www.gimp.org/news/2020/12/25/gimp-2-10-22-released-macos/">macOS-only</a>
news post, which is not a good sign at all. It means being able to release
improvements for this operating system is exceptional enough that we feel like
we should inform people.</p>
<p>So we re-iterate our call for contributors. Do you like <span class="caps">GIMP</span>? Do you use
macOS and have technical knowledge and skills for packaging and/or
development? Then please consider joining us!</p>
<p>We’ve detailed the building process in the <code>README.md</code> file of the
<a href="https://gitlab.gnome.org/Infrastructure/gimp-macos-build">gimp-macos-build</a> repository. This is the first thing potential contributors ask us about.</p>
<p>Once you make sense of our build scripts and are able to compile your
own local copy of <span class="caps">GIMP</span>, please talk to <code>Jehan</code> or <code>lukaso</code> on <a href="https://www.gimp.org/discuss.html#irc"><span class="caps">IRC</span> (#gimp
channel on GIMPnet - irc.gimp.org)</a>,
though others may be able to help too of course. If you already have specific
solutions to existing problems, we can push your patch to a branch and generate
a new <span class="caps">DMG</span> build for testing.</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>As usual, we hope that macOS support will improve and that we won’t feel
the need to make dedicated news again. In the end, it depends on macOS
users, since <span class="caps">GIMP</span> is a full community Free Software. It is what we all
make of it, together. The community has many Linux and Windows
developers. We also get regular *<span class="caps">BSD</span> and even Hurd patches (seriously).
How come we barely get any macOS developers?</p>
<p>Having M1 support is also a topic we have been discussing obviously. It
will likely require more stable contributions for this to happen. So come in
and contribute, everyone, it might be cold ❄ outside, but it’s warm 🔥
in here.</p>
<p>Finally, please don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund
several <span class="caps">GIMP</span> developers</a> as a way to
give back and accelerate the development of <span class="caps">GIMP</span>.</p>Development version: GIMP 2.99.8 Released2021-10-20T00:00:00+02:002021-10-20T00:00:00+02:00Wilbertag:www.gimp.org,2021-10-20:/news/2021/10/20/gimp-2-99-8-released/<p>Release news for development version <span class="caps">GIMP</span> 2.99.8</p><p><span class="caps">GIMP</span> 2.99.8 is our new development version, once again coming with a
huge set of improvements.</p>
<figure>
<img src="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/gimp-2-99-8-20211017-work-in-progress-2.jpg" alt="Work in Progress 2 - Wilber and co. comics strip by Aryeom"/>
<figcaption>
<em>“Work in Progress 2” (follow-up of <a href="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/">2.99.6 image</a>) by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2.99.8</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#clone-type-tools-on-multiple-layers">Clone-type tools on multiple layers</a></li>
<li><a href="#selection-cue-fixed-on-wayland-and-macos">Selection cue fixed on Wayland and macOS</a></li>
<li><a href="#wider-coverage-of-input-devices-thanks-to-windows-ink-support">Wider coverage of input devices thanks to Windows Ink support</a></li>
<li><a href="#canvas-focus-by-toolbox-clicking">Canvas-focus by toolbox clicking</a></li>
<li><a href="#dropping-thumbnail-icon">Dropping thumbnail icon</a></li>
<li><a href="#improved-file-formats-support-jpeg-xl-psdpsb-and-more">Improved file formats support: <span class="caps">JPEG</span>-<span class="caps">XL</span>, <span class="caps">PSD</span>/<span class="caps">PSB</span>, and more</a></li>
<li><a href="#plug-in-development">Plug-in development</a></li>
<li><a href="#memory-leak-fixes">Memory leak fixes</a></li>
<li><a href="#continuous-integration-changes">Continuous integration changes</a><ul>
<li><a href="#windows">Windows</a><ul>
<li><a href="#development-installer-nightlies">Development installer “nightlies”</a></li>
<li><a href="#automated-release-installers">Automated release installers</a></li>
<li><a href="#consistency-of-the-installer-scripts">Consistency of the installer scripts</a></li>
</ul>
</li>
<li><a href="#linux">Linux</a></li>
<li><a href="#macos">macOS</a></li>
<li><a href="#automatic-builds-for-merge-requests">Automatic builds for merge requests</a></li>
</ul>
</li>
<li><a href="#updated-coding-style-guide">Updated coding style guide</a></li>
<li><a href="#gegl-and-babl"><span class="caps">GEGL</span> and babl</a></li>
<li><a href="#downloading-gimp-2998">Downloading <span class="caps">GIMP</span> 2.99.8</a></li>
<li><a href="#team-news">Team news</a><ul>
<li><a href="#developers">Developers</a></li>
<li><a href="#translators">Translators</a></li>
</ul>
</li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/3e58204908b6301501d7ccd09936fd3d8f7baa94/NEWS#L9"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/master">commit
history</a>.</p>
<h2 id="clone-type-tools-on-multiple-layers">Clone-type tools on multiple layers<a class="headerlink" href="#clone-type-tools-on-multiple-layers" title="Permanent link">¶</a></h2>
<p>The <code>Clone</code>, <code>Heal</code> and <code>Perspective Clone</code> tools now work when multiple
layers are selected. There are 2 new modes in particular:</p>
<ul>
<li>
<p>When <em>sourcing</em> from multiple selected drawables then <em>cloning</em> into a
single drawable, the pixel source is the composited render of source
layers. This is similar to “Sample Merged”, except that it is limited
to a list of drawables and you don’t have to hide the layers that you
don’t want to source from.</p>
</li>
<li>
<p>When <em>cloning</em> while multiple drawables are selected, each
drawable clones from itself to itself, i.e. every drawable is both its
source and target (the layers selected when <em>sourcing</em> do not matter
in this case). This can be very useful in particular when you need to
heal several layers exactly the same way, for instance when working on
textures and various texture mappings.</p>
</li>
</ul>
<p>Development of this feature was proposed and financially supported by
<a href="https://www.creativeshrimp.com/">Creative Shrimp</a>: Gleb Alexandrov and
Aidy Burrows, well-known Blender educators. Here’s an excerpt from a new
course where multi-layer cloning is already used:</p>
<div class='fluid-video'>
<figure>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-8-multi-layer-cloning-gleb.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-8-multi-layer-cloning-gleb.webm" type="video/webm">
Your browser does not support the video tag.
</video>
<figcaption>
<em>Extract of a video course by Creative Shrimp (Gleb Alexandrov and Aidy Burrows)</em>
</figcaption>
</figure>
</div>
<h2 id="selection-cue-fixed-on-wayland-and-macos">Selection cue fixed on Wayland and macOS<a class="headerlink" href="#selection-cue-fixed-on-wayland-and-macos" title="Permanent link">¶</a></h2>
<p>Windows drawing logics evolved in recent compositing window managers. In
particular, the drawing of image selection (marching ants 🐜
representing your selection boundary) broke on Wayland, as well as on
macOS since <em>Big Sur</em> release. The selection tools were still perfectly
working but the outlines were simply not visible on the canvas anymore.</p>
<p>We fixed this by reimplementing part of how selections were being drawn
over the image. We aimed to only fix this for Wayland, but our recent
macOS contributor (see below in <a href="#macos">macOS package</a> section) confirmed
it also fixes the issue for Big Sur. Now the next step is to backport
this fix to the stable branch (only for the sake of macOS, since the
stable <span class="caps">GTK2</span> version uses XWayland and thus doesn’t exhibit the bug).</p>
<p>There have been two more Wayland-specific changes. For our Flatpak builds,
we will now use the new <code>fallback-x11</code> permission instead of <code>x11</code>
to prevent unnecessary X11 access while in Wayland, hence improving
security step by step.</p>
<p>Finally, some people reported huge memory leaks under Wayland only (it
was fine on X11). We didn’t do much so we can’t take any credit for
this, but this seems to have been fixed, probably in a dependency with
Wayland-specific code.</p>
<h2 id="wider-coverage-of-input-devices-thanks-to-windows-ink-support">Wider coverage of input devices thanks to Windows Ink support<a class="headerlink" href="#wider-coverage-of-input-devices-thanks-to-windows-ink-support" title="Permanent link">¶</a></h2>
<p>Windows Pointer Input Stack (Windows Ink) support was recently added
to <span class="caps">GTK3</span> by Luca Bacci, who also made it available in <span class="caps">GIMP</span> and added a
new option in the <em>Preferences</em> dialog to switch between Wintab (older
<span class="caps">API</span>) and Windows Ink. You can find this option on the <em>Input Devices</em> page.</p>
<figure>
<img src="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/gimp-2-99-8-windows-ink-option.png" alt="Pointer input API selection — GIMP 2.99.8"/>
<figcaption>
<em>Pointer input <span class="caps">API</span> selection — <span class="caps">GIMP</span> 2.99.8</em>
</figcaption>
</figure>
<p>This is a huge milestone for artists using Windows since more graphics
tablets or touch devices come with Ink support as a default whereas the
legacy Wintab interface requires specific drivers.</p>
<p>This is even more the case with Windows 8 and newer, for which most
tablets should work out-of-the-box with Windows Ink.</p>
<h2 id="canvas-focus-by-toolbox-clicking">Canvas-focus by toolbox clicking<a class="headerlink" href="#canvas-focus-by-toolbox-clicking" title="Permanent link">¶</a></h2>
<p>Clicking anywhere on the toolbox or on Wilber’s drop area now returns
the focus to the canvas (similarly to the <code>Esc</code> shortcut). This allows
you to work on canvas with shortcuts more efficiently.</p>
<p>For instance, you could pan directly with the <code>Space bar</code> without having
to click on canvas (hence activating a tool) when your keyboard focus was
previously on some text input widget, by clicking anywhere on toolbox
(buttons and dead area alike) first.</p>
<h2 id="dropping-thumbnail-icon">Dropping thumbnail icon<a class="headerlink" href="#dropping-thumbnail-icon" title="Permanent link">¶</a></h2>
<p>After years of discussions and bug reports, we dropped the thumbnail icon
feature. Previously, when images were opened, the application icon in
the taskbar would combine a preview of the active image and the actual
application icon (Wilber). The icon would then change whenever the
active image changed. For many people, this complicated locating <span class="caps">GIMP</span>’s
window among windows of other running applications.</p>
<p>Moreover, due to recent changes in desktop environments’ behavior, this
feature was actually working on less and less platforms. So depending
on your <span class="caps">OS</span> and desktop environment, it either didn’t work at all or
actively worked against you. This is why we decided to do away with it.</p>
<h2 id="improved-file-formats-support-jpeg-xl-psdpsb-and-more">Improved file formats support: <span class="caps">JPEG</span>-<span class="caps">XL</span>, <span class="caps">PSD</span>/<span class="caps">PSB</span>, and more<a class="headerlink" href="#improved-file-formats-support-jpeg-xl-psdpsb-and-more" title="Permanent link">¶</a></h2>
<p><strong><span class="caps">JPEG</span>-<span class="caps">XL</span></strong> is now optionally supported thanks to Daniel Novomeský
who also previously contributed to <span class="caps">HEIC</span>/<span class="caps">AVIF</span> support.</p>
<p><span class="caps">GIMP</span> can load and export <span class="caps">JPEG</span>-<span class="caps">XL</span> files (<code>.jxl</code>) in grayscale and
<span class="caps">RGB</span>, with color profiles support. Our exporting code also provides
a “<em>lossless</em>” option and several “<em>Effort/Speed</em>” encoding values.</p>
<figure>
<img src="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/gimp-2-99-8-jxl-exporting.jpg" alt="JPEG-XL exporting options — GIMP 2.99.8"/>
<figcaption>
<em><span class="caps">JPEG</span>-<span class="caps">XL</span> exporting options — <span class="caps">GIMP</span> 2.99.8</em>
</figcaption>
</figure>
<p>This plug-in is different from the <a href="https://github.com/libjxl/libjxl/tree/main/plugins/gimp">third-party plug-in</a> that is part of the <code>libjxl</code> library
that we use too. It supports <span class="caps">GIMP</span> 3 plugin <span class="caps">API</span>, reads grayscale images
as grayscale, is written in C rather than C++, and exposes several presets
for speed/quality tradeoff. We also do not yet expose features that could be
considered experimental. If you are interested in <span class="caps">JPEG</span>-<span class="caps">XL</span> support
for <span class="caps">GIMP</span> 2.10.x, please use the plug-in from <code>libjxl</code>.</p>
<p>We also improved support for Adobe Photoshop project files. <span class="caps">GIMP</span> now
supports larger-than-4GiB <strong><span class="caps">PSD</span></strong> files and loading up to 99
channels (specs say that 56 is the max but some sample <span class="caps">PSD</span> files have
more channels).</p>
<p>Additionally, now you can also load <strong><span class="caps">PSB</span></strong> files which are essentially
<span class="caps">PSD</span> files with support for width and height of up to 300,000 pixels.</p>
<p>There have been even more changes to file formats support and plug-ins:</p>
<ul>
<li>16-bit <span class="caps">SGI</span> images are now supported (until now, they were loaded as 8-bit).</li>
<li>The WebP plug-in was ported to the <code>GimpSaveProcedureDialog</code> <abbr
title="Application Programming Interface"><span class="caps">API</span></abbr>.</li>
<li>Script-Fu now handles <code>GFile</code> and <code>GimpObjectArray</code> types.</li>
<li>…</li>
</ul>
<h2 id="plug-in-development">Plug-in development<a class="headerlink" href="#plug-in-development" title="Permanent link">¶</a></h2>
<p>Our <abbr title="Application Programming Interface"><span class="caps">API</span></abbr> for
plug-in developers got the following improvements:</p>
<ul>
<li>New <code>gimp_display_present()</code> function to present a specific display at
the top of the image display stack.</li>
<li>New <code>gimp_export_thumbnail()</code> function to query the user settings
(added in “<em>Image Import <span class="amp">&</span> Export</em>” page of Preferences in this
version) on whether or not a file plug-in should export the image thumbnail.</li>
<li>New <code>gimp_procedure_dialog_fill_expander()</code> function to create a
<code>GtkExpander</code> in procedure dialogs.</li>
<li>All widgets within a same container in a <code>GimpProcedureDialog</code> are added
to their own <code>GtkSizeGroup</code> for better aligned generated dialog, yet
only within their own level of widgets.</li>
</ul>
<h2 id="memory-leak-fixes">Memory leak fixes<a class="headerlink" href="#memory-leak-fixes" title="Permanent link">¶</a></h2>
<p>Several contributors including Andrzej Hunt and Massimo Valentini started
chasing small memory leaks with code analyzers, which is a very nice way
to spend your downtime. We recommend! 👍</p>
<h2 id="continuous-integration-changes">Continuous integration changes<a class="headerlink" href="#continuous-integration-changes" title="Permanent link">¶</a></h2>
<h3 id="windows">Windows<a class="headerlink" href="#windows" title="Permanent link">¶</a></h3>
<h4 id="development-installer-nightlies">Development installer “nightlies”<a class="headerlink" href="#development-installer-nightlies" title="Permanent link">¶</a></h4>
<p>We wrote rules for the continuous integration platform to create installers.
This is very useful for users who want to test new unreleased features
and bug fixes. Installers are being created once a week because the full process takes ca. 2 hours and we didn’t want to trigger it too often.</p>
<p>If you want to test the latest installer for Windows, here is how you
can do it:</p>
<ol>
<li>Go to <span class="caps">GIMP</span>’s <a href="https://gitlab.gnome.org/GNOME/gimp/-/pipeline_schedules">scheduled pipelines
listing</a>
and click the “<strong>Last Pipeline</strong>” <span class="caps">ID</span> listed next to the <em>Windows
installer</em> item.</li>
<li>Select the job named “<em>win-installer-nightly</em>”</li>
<li>Click the “<em>Browse</em>” button</li>
<li>Navigate to the <code>build/windows/installer/_Output/</code> directory</li>
<li>Finally click the <code>gimp-2.99.*-setup.exe</code> file to download and install it.</li>
</ol>
<p>This procedure or any updated version of it is available in the
“<em>Automatic development builds</em>” section of the <a href="https://www.gimp.org/downloads/devel/">download
page</a>.</p>
<p>⚠️ Be warned that a weekly installer is a purely automated build,
there is no human verification. It is happening at a semi-random time
during the development process, you may end up with very broken software
at times, even though we try to never leave the repository in a dire
state. It is even less safe than development releases. We are grateful
for feedback and bug reports. Just please don’t expect these builds
to be rock-solid or even usable. ☢️</p>
<h4 id="automated-release-installers">Automated release installers<a class="headerlink" href="#automated-release-installers" title="Permanent link">¶</a></h4>
<p>Additionally to the weekly installers, our continuous integration
platform will now also generate the installer when a new release is
tagged. This should allow for much faster installer releases, within
hours instead of days in the former fully manual process.</p>
<p>The only part of the installer creation process that is not automated
is applying the digital signature. Digital signing will be done manually
by our long-time Windows installer maintainer, Jernej Simončič. He will
download and verify thoroughly the installer before signing it. So you
are getting the best of both worlds: automation builds and human-verified software.</p>
<p><em>Note: this semi-automated release process is only for our development
branch; it will be used in the stable branch when we will release <span class="caps">GIMP</span> 3.0.</em></p>
<h4 id="consistency-of-the-installer-scripts">Consistency of the installer scripts<a class="headerlink" href="#consistency-of-the-installer-scripts" title="Permanent link">¶</a></h4>
<p>We also added some additional tests for verifying installer script consistency. In particular, translations are handled by the
<a href="https://l10n.gnome.org/module/gimp/"><span class="caps">GNOME</span> translator teams</a>, and we
sometimes get translations into a new language that is not yet properly
listed by the installer. A few times in the past, we did announce a new
installer language which users could not find in the actual released
installer! 😅</p>
<p>Our continuous integration platform will now warn us when such a case
happens again, so that noone’s work would be wasted and all new
translations would be properly used by the installer.</p>
<h3 id="linux">Linux<a class="headerlink" href="#linux" title="Permanent link">¶</a></h3>
<p>Similarly to the Windows installer nightlies, <span class="caps">GIMP</span> now gets a <strong>weekly
flatpak</strong>, i.e. a flatpak built out of development code, entirely
automated, a work initiated by Ondřej Míchal.</p>
<p>Install the “nightly” repository to get our weekly updates with this command:</p>
<blockquote>
<p>flatpak install —user https://nightly.gnome.org/repo/appstream/org.gimp.<span class="caps">GIMP</span>.flatpakref</p>
</blockquote>
<p>If you installed both the <code>stable</code>, <code>beta</code> (development releases) and
<code>master</code> (weeklies) repositories, your desktop will only see one of them
at any given time. You can select exactly which version it sees and start
with the following command (e.g. selecting <code>stable</code> as default):</p>
<blockquote>
<p>flatpak make-current —user org.gimp.<span class="caps">GIMP</span> stable</p>
</blockquote>
<p>Then if <code>stable</code> was made to be your default flavor of <span class="caps">GIMP</span>, you can run
the other versions with the following command (e.g. the weeklies):</p>
<blockquote>
<p>flatpak run org.gimp.<span class="caps">GIMP</span>//master</p>
</blockquote>
<p><em>This information is also available on the <a href="https://www.gimp.org/downloads/devel/">downloads page</a>.</em></p>
<p>⚠️ Please keep in mind that a weekly build is purely automated, there is
no human verification, it happens at semi-random time during the
development process. Hence you may end up with very broken software
at times even though we try to never leave the repository in a dire state.
It is even less safe than development releases. People are welcome to
test our weekly builds to help us with feedback and bug reports, but you
should not expect these builds to be any close to stable software or even
usable. ☢️</p>
<h3 id="macos">macOS<a class="headerlink" href="#macos" title="Permanent link">¶</a></h3>
<p>Finally, there’s some exciting news for macOS users: we were recently
joined by a new contributor, Lukas Oberhuber, who started working on the
development package. Lukas already has a working local build, he is
currently tweaking the remote automated build. So we might finally have
our first macOS development release (hopefully for <span class="caps">GIMP</span> 2.99.8) soon.
Lukas also contributed fixes to <span class="caps">GIMP</span> source code to better support macOS.</p>
<figure>
<img src="https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/gimp-2-99-8-on-macos.jpg" alt="GIMP 2.99.8 running on macOS — GIMP 2.99.8"/>
<figcaption>
<em>Teaser alert: <span class="caps">GIMP</span> 2.99.8 running on macOS 🎉 (by Lukas Oberhuber) — <span class="caps">GIMP</span> 2.99.8</em>
</figcaption>
</figure>
<p>While this is excellent news, it does not invalidate the call for more
macOS contributors we have made many times before. A single contributor
(furthermore for both packaging and development!) is a very low <a href="https://en.wikipedia.org/wiki/Bus_factor">bus
factor</a>. The more
contributors, the better, so if you want to help to ensure
sustainability of macOS packaging, you are still very much welcome to join!</p>
<h3 id="automatic-builds-for-merge-requests">Automatic builds for merge requests<a class="headerlink" href="#automatic-builds-for-merge-requests" title="Permanent link">¶</a></h3>
<p>To facilitate in-review code testing, we now provide automatic builds
for merge requests. If you are planning to contribute a patch using
this Gitlab feature, please add the <code>5. Windows Installer</code> and/or
<code>5. Flatpak package</code> label to a newly created merge request. This will
trigger building a Windows installer and/or a standalone flatpak.
We expect this to be helpful for testing new features and bug fixes.</p>
<h2 id="updated-coding-style-guide">Updated coding style guide<a class="headerlink" href="#updated-coding-style-guide" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> source repository now provides a very nice first draft of <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/CODING_STYLE.md">Coding
style guide</a>
written by Stanislav Grinkov. The new guide combines guidelines
formerly available in the <code>HACKING</code> file and information passed down
through discussion channels like <span class="caps">IRC</span>, patch reviews etc.</p>
<p>We expect this draft to receive further improvements as we do love
very neat and organized code. In any case, this is a great start!</p>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>We did not request a new set of babl and <span class="caps">GEGL</span> releases for 2.99.8.
All the changes we <a href="https://www.gimp.org/news/2021/09/18/gimp-2-10-28-released/">announced in v2.10.28</a> still apply here.</p>
<h2 id="downloading-gimp-2998">Downloading <span class="caps">GIMP</span> 2.99.8<a class="headerlink" href="#downloading-gimp-2998" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> 2.99.8 is available on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>
<p>The Linux development flatpak has already been published so that
anyone who installed it previously should have an update proposed by
their software manager (or from terminal: <code>flatpak update
org.gimp.GIMP//beta</code>).</p>
</li>
<li>
<p>The Windows installer is already available too, very quickly thanks to
the <a href="#automated-release-installers">new installer release process</a>.</p>
</li>
<li>
<p>The macOS <span class="caps">DMG</span> package will hopefully be published <a href="#macos"><em>soonish</em></a>.</p>
</li>
</ul>
<h2 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h2>
<h3 id="developers">Developers<a class="headerlink" href="#developers" title="Permanent link">¶</a></h3>
<p>Daniel Novomeský is now a core developer with git access, for their
continuous contributions to the <span class="caps">HEIF</span>/<span class="caps">HEIC</span>/<span class="caps">AVIF</span> plug-in as well
as the brand new <span class="caps">JPEG</span> <span class="caps">XL</span> plug-in.</p>
<p><em>Code contributors on <span class="caps">GIMP</span> 2.99.8</em>: Andrzej Hunt, Daniel Novomeský, Des
McGuinness, Ian Martins, Jacob Boerema, Jehan, Jordi Mas, lloyd
konneker, Luca Bacci, Lukas Oberhuber, Marc Espie, Marie-P, Massimo
Valentini, Mayank Suman, Michael Bazzinotti, Michael McLaughlin, Michael
Schumacher, Niels De Graef, Øyvind Kolås, Pavel Artsishevsky,
programmer-ceds and Stanislav Grinkov.</p>
<p><em>Build contributors on <span class="caps">GIMP</span> 2.99.8</em>: Andre Klapper, Christopher Davis,
Daniel Novomeský, Jehan, Jernej Simončič, lloyd konneker, Luca Bacci,
Marco Spiess, Niels De Graef, Ondřej Míchal, Øyvind Kolås, Stanislav
Grinkov and Trần Ngọc Quân.</p>
<h3 id="translators">Translators<a class="headerlink" href="#translators" title="Permanent link">¶</a></h3>
<p>Among the 84 languages for which <span class="caps">GIMP</span> 2.99.8 is available, 20
translations were updated: Basque, Brazilian Portuguese, Catalan,
Chinese (China), Finnish, German, Greek, Hungarian, Icelandic,
Indonesian, Italian, Lithuanian, Polish, Portuguese, Russian, Slovenian,
Spanish, Swedish, Ukrainian and Vietnamese.</p>
<p>The development Windows installer now contains Portuguese and Lithuanian
translations, making it available in 38 languages.</p>
<p><em>Translators on <span class="caps">GIMP</span> 2.99.8</em>: Alexandre Prokoudine, Anders Jonsson,
Asier Sarasua Garmendia, Aurimas Černius, Balázs Úr, Boyuan Yang, Bruno
Lopes da Silva, dimspingos, Enrico Nicoletto, Hugo Carvalho, Jiri
Grönroos, Jordi Mas, Luna Jernberg, Marco Ciampa, Matej Urbančič, Ngọc
Quân Trần, Philipp Kiemle, Piotr Drąg, Rodrigo Lledó, rofiquzzaki,
Sveinn í Felli and Yuri Chornoivan.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>You might have noticed that a lot of effort has been done to improve the
infrastructure these last few months (whether for continuous
integration, testing, automating releases,
<a href="https://www.gimp.org/news/2021/10/06/official-mirror-policy/">mirrors</a>…)
and more has to be done as this was highly needed for the long run. As a
consequence of these infrastructure improvements, this release news was
published a single-day after actual source release, which is a new
record for us (it usually takes days to generate the Windows installer
then to have all mirrors synced)!
Apart from infrastructure, this version is nonetheless a big one with
more than 50 reports closed, 25 merge requests accepted and over 500
commits since 2.99.6.</p>
<p>We are still working hard to finalize the <span class="caps">GTK3</span> port as well as the new
plug-in <span class="caps">API</span>. Taking care of technology changes (Wayland on Linux and
macOS in particular) these days is also taking quite a toll in our
development efficiency as we spend a lot of time fixing things which
just get broken because the underlining systems change. Nevertheless we
are quite happy of how things evolve as future <span class="caps">GIMP</span> 3 is looking more
and more awesome every day, right? 🤗</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, the <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers of
<span class="caps">GEGL</span> and <span class="caps">GIMP</span> are crowdfunding to be able to work full-time on free
software</a>. 🥳</p>GIMP’s official mirrors and mirror policy2021-10-06T00:00:00+02:002021-10-06T00:00:00+02:00Wilbertag:www.gimp.org,2021-10-06:/news/2021/10/06/official-mirror-policy/<p><span class="dquo">“</span>Support <span class="caps">GIMP</span> with a mirror”</p><p>As far as we could remember, organizations from all over the world have
supported the <span class="caps">GNU</span> Image Manipulation Program by mirroring 🪞 our file
downloads. This is important as we may have to sustain dozens of
thousands downloads a day.</p>
<figure>
<img src="/images/2021-wilber_and_co-mirror.jpg" alt="Mirrored Wilber - Wilber and co. comics strip"/>
<figcaption>
<em>“Mirrored Wilber” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="official-mirrors-to-publication-day">Official mirrors (to publication day)<a class="headerlink" href="#official-mirrors-to-publication-day" title="Permanent link">¶</a></h1>
<p>The current list of official mirrors by alphabetical order:</p>
<ul>
<li>Aalborg University</li>
<li>Academic Computer Club, Umeå University</li>
<li>Artfiles New Media GmbH</li>
<li>Astra <span class="caps">ISP</span></li>
<li><span class="caps">CSC</span> - <span class="caps">IT</span> Center for Science / <span class="caps">FUNET</span></li>
<li>Cu.be Solutions</li>
<li>Dmitry Shishkin</li>
<li>dogado GmbH</li>
<li>eScience Center, Nanjing University</li>
<li>Friedrich-Alexander-Universität Erlangen-Nürnberg (<span class="caps">FAU</span>)</li>
<li>Göttingen University and Max Planck Society</li>
<li>Interdisciplinary Centre for Mathematical and Computational Modelling <span class="caps">UW</span>, University of Warsaw</li>
<li><span class="caps">IP</span>-Connect <span class="caps">LLC</span></li>
<li>Korea FreeBSD Users Group</li>
<li>Jaleco</li>
<li>Kumi Systems</li>
<li>Lysator <span class="caps">ACS</span></li>
<li>nbshare.io</li>
<li>Studenten Net Twente (<span class="caps">SNT</span>), the University of Twente</li>
<li>UKFast</li>
<li>University of Crete</li>
<li>University of Kent <span class="caps">UK</span> Mirror Service</li>
<li>University of Maryland, College Park</li>
<li>XMission</li>
</ul>
<p><em>One more mirror request is being processed at the moment.</em></p>
<p>The always-updated list is on a dedicated <a href="/donating/sponsors.html">sponsor
page</a>. The image above poetically
representating the mirrors, by Aryeom of <a href="https://film.zemarmot.net/"><em>ZeMarmot</em></a>
project, will also illustrate this sponsor page.</p>
<p>💌 <strong>Thanks to all these organizations!</strong></p>
<h1 id="what-are-official-mirrors">What are official mirrors?<a class="headerlink" href="#what-are-official-mirrors" title="Permanent link">¶</a></h1>
<p>We recently cleaned out our mirror list per these rules:</p>
<ul>
<li>We now list exactly the mirrors verified by the infrastructure team,
no more no less. Being verified gives you rsync credentials allowing
faster and safer updates.
<strong>See <a href="#how-to-be-an-official-mirror">below</a> if you want in.</strong></li>
<li>Mirrors are not listed anymore in the <a href="/downloads/">Downloads</a> page
since there is an automatic mirror rotation operating when clicking
the download buttons. Instead we have the dedicated
<a href="/donating/sponsors.html">Sponsors</a> page, which means better
visibility to sponsoring mirrors, all the while simplifying the
download page which used to be over-crowded with information.</li>
<li>We display names of mirroring organization, for instance “<em>University
of <span class="caps">XYZ</span></em>” with a link to the organization website, rather than just URLs.</li>
</ul>
<p><em>Note: we had more mirrors either listed on our former download page or
who made reports of interest to be official mirrors across the
years (back then our workflow was much fuzzier). We sent messages to
all of them but are not sure it reached the people in charge. If you
wish to be part of the official list, help shoulder the download burden
and be featured on our sponsors page, please read the procedure below.</em></p>
<h1 id="how-to-be-an-official-mirror">How to be an official mirror<a class="headerlink" href="#how-to-be-an-official-mirror" title="Permanent link">¶</a></h1>
<p>This is the same
<a href="https://wiki.gnome.org/Infrastructure/Mirrors">procedure</a> as <span class="caps">GNOME</span>
mirrors, except you must explicitly ask to be a <span class="caps">GIMP</span> mirror:</p>
<ol>
<li>Create a mirror request <a href="https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/new?issuable_template=new-mirror">on the Infrastructure tracker</a></li>
<li>Write in title and introduction that you want to be a mirror for <span class="caps">GIMP</span>
in particular</li>
<li>Add <code>/cc @Jehan</code> in the request description or in a comment</li>
<li>Fill the relevant fields from the <code>new-mirror</code> template</li>
<li>If you want a specific name and <span class="caps">URL</span> to be shown in the mirror <a href="/donating/sponsors.html">sponsor
list</a>, please write it explicitly in the
report (otherwise we will choose whatever organization name and <span class="caps">URL</span>
seems the most relevant from what you wrote down)</li>
<li>Once we are done verifying your organization, rsync credentials will
be exchanged securely, allowing you to sync your mirror with the
source server</li>
<li>There is nothing to do in particular to appear on the
<a href="/donating/sponsors.html">Sponsors</a> page which will be updated
regularly through scripts. Yet it may take a few days or even weeks at
times. So don’t worry if your organization name does not appear immediately!</li>
</ol>
<p>🛈 We programmatically check at random intervals that mirrors are updated
quickly enough and that the data match for obvious security reasons.</p>
<h1 id="technicalities">Technicalities<a class="headerlink" href="#technicalities" title="Permanent link">¶</a></h1>
<p>We used to list mirrors on
<a href="https://www.gimp.org/downloads/">gimp.org/downloads/</a> on a declarative
basis. People wishing to download were encouraged to pick a mirror
rather than the main download server.</p>
<p>Years ago, we moved to an automatic mirror rotation through web
redirections. In other words, any <span class="caps">URL</span> to <code>download.gimp.org/mirror/</code>
automatically redirects to any of the configured mirrors (our own
download server included), hence lowering the burden on all servers
without having people to manually pick a mirror in a boring list.</p>
<p>Yet followup checks were not thorough enough, there were no clear
procedure to give mirror administrators and there were discrepancies
between mirrors listed on the website and the ones actually taking part
in download rotation. These are the changing points.</p>
<p>Listing only verified mirrors has the following advantages:</p>
<ul>
<li>The infrastructure team makes the background check to verify an
organization is <strong>trustworthy</strong>.</li>
<li>Mirrors get rsync credentials, enabling <strong>faster</strong> updates (instead of
through third-parties which may themselves sync from other third
parties, hence avoiding several-day delays).</li>
<li>Our team has an accurate list of mirrors for systematic <strong>security</strong>
checks of file presence and authenticity. We will react quickly in
case of problem.</li>
<li>Only verified mirrors are added in the download rotation settings,
thus <strong>contributing</strong> with the bigger chunk of downloads. It is only
normal for them to be featured prominently.</li>
</ul>
<p>More discussions are going on to improve the procedure and mirror
technology even further by using the <em>Mirrorbits</em> software. More on this
later (and after more extensive testing).</p>
<p><strong>Additionally to mirrors, we would like to 🙏 thank the <span class="caps">GNOME</span>
infrastructure team for their invaluable help!</strong></p>
<h1 id="contributors">Contributors<a class="headerlink" href="#contributors" title="Permanent link">¶</a></h1>
<p>The work on mirrors was a long run background job which was improved by
various people, notably <a href="https://testing.gimp.org/news/2017/05/15/an-interview-with-michael-schumacher-gimp-administrator/">Michael
Schumacher</a>
and <a href="https://patdavid.net/">Pat David</a>.</p>
<p>These recent improvements to the mirror procedure, making it faster and
safer for people downloading <span class="caps">GIMP</span> and easier for contributors as well as
for mirror administrators, were done by <span class="caps">GIMP</span> co-maintainer, Jehan of
<em>ZeMarmot</em> project (<a href="https://liberapay.com/ZeMarmot/">Liberapay</a> and
<a href="https://www.patreon.com/zemarmot">Patreon</a> fundings). The goal is to
simplify and automatize as much as possible the process to make our list
of mirrors always up-to-date, more reliable downloads, but also to
verify the mirrors are safe by running automated data integrity
verification scripts.</p>GIMP 2.10.28 Released2021-09-18T00:00:00+02:002021-09-18T00:00:00+02:00Wilbertag:www.gimp.org,2021-09-18:/news/2021/09/18/gimp-2-10-28-released/<p><span class="dquo">“</span>More bug fixes”</p><p><span class="caps">GIMP</span> 2.10.28 is now released. This is a bugfix release, because we are
giving most of our time and efforts to the development version (2.99.x).</p>
<p><em>Note: you may have noticed we skipped <span class="caps">GIMP</span> 2.10.26. A build bug has
been discovered just after tagging the release. <span class="caps">GIMP</span> 2.10.28 is the same
without the bug. We recommend against building and using <span class="caps">GIMP</span> 2.10.26.</em></p>
<h1 id="highlights">Highlights<a class="headerlink" href="#highlights" title="Permanent link">¶</a></h1>
<ul>
<li>Bug fixes for <span class="caps">GIMP</span> on Windows; see <a href="#windows-is-getting-some-love">below for
details</a>.</li>
<li>The <code>Dashboard</code> dockable now has memory support in OpenBSD.</li>
<li>Performance improvements for <span class="caps">GIMP</span> on macOS Big Sur were applied in our
macOS packages since <span class="caps">GIMP</span> 2.10.22 as experiments. We felt confident
enough to move the code to our main codebase.</li>
<li>The following plug-ins received fixes: C-source, <span class="caps">DICOM</span>, <span class="caps">GIF</span>, <span class="caps">PS</span>,
Sunras, <span class="caps">BMP</span>, <span class="caps">DDS</span>, <span class="caps">PSD</span>, <span class="caps">TIFF</span>, Gimpressionist, metadata viewer and
several script-fu scripts as well as the script-fu interpreter itself.</li>
<li>Some accessibility issues in themes were fixed, such as mouse-hover
feedback or problematic colors.</li>
<li>A new Script-Fu function <code>(dir-make)</code> enables to create directories
from scripts.</li>
</ul>
<p>To get a more complete list of changes, you should refer to the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/473b05ea3a302757da555b9c5649f91793906044/NEWS#L11"><span class="caps">NEWS</span></a>
file or look at the <a href="https://gitlab.gnome.org/GNOME/gimp/-/commits/gimp-2-10">commit
history</a>.</p>
<p><em>Code contributors</em>: bootchk, Des McGuinness, Ian Martins, Jacob Boerema,
Jehan, Lloyd Konneker, Luca Bacci, Marc Espie, Massimo Valentini,
Michael Bazzinotti, Michael McLaughlin, Øyvind Kolås, saul, Simon
McVittie and Stanislav Grinkov.</p>
<p><em>Theme contributors</em>: Kevin Payne and Stanislav Grinkov.</p>
<p><em>Build contributors</em>: Marco Spiess and Mario Daniel Ruiz Saavedra.</p>
<h1 id="team-news">Team news<a class="headerlink" href="#team-news" title="Permanent link">¶</a></h1>
<p>Jacob Boerema got appointed a new co-maintainer of the manual
repository (<code>gimp-help</code>) after porting its scripts to Python 3 and
improving them.</p>
<p>Stanislav Grinkov is now a new core developer.</p>
<p>Des McGuinness and Lloyd Konneker were given “<em>reporter</em>” access which
allows them to help triaging on the bugtracker: labelling, closing,
reopening, and moving reports…</p>
<p>nmat was given “<em>reporter</em>” access on the website project (<code>gimp-web</code>),
for his tremendous help with website maintenance.</p>
<h1 id="translators">Translators<a class="headerlink" href="#translators" title="Permanent link">¶</a></h1>
<p>Among the 82 languages for which <span class="caps">GIMP</span> is available, 14 translations were
updated: Catalan, Chinese (China), Croatian, Dutch, German, Italian,
Lithuanian, Polish, Russian, Slovenian, Spanish, Swedish, Ukrainian, and Vietnamese.</p>
<p>The Windows installer now contains Vietnamese and Lithuanian
translations, making it available in 34 languages.</p>
<p><em>Translators on <span class="caps">GIMP</span> 2.10.26/28</em>: Alexandre Prokoudine, Anders Jonsson,
Aurimas Černius, Boyuan Yang, Daniel Mustieles, Hannie Dumoleyn, Jordi
Mas, Luna Jernberg, Marco Ciampa, Milo Ivir, Ngọc Quân Trần, Matej
Urbančič, Philipp Kiemle, Piotr Drąg, Rodrigo Lledó, Tim Sabsch and Yuri Chornoivan.</p>
<h1 id="windows-is-getting-some-love">Windows is getting some love 💕<a class="headerlink" href="#windows-is-getting-some-love" title="Permanent link">¶</a></h1>
<p>More work than ever is happening around Windows lately, both within <span class="caps">GIMP</span>
and the libraries it depends on. Which is how several long-standing issues
with <span class="caps">GIMP</span> on Windows finally got fixed:</p>
<ul>
<li><em>Very slow file dialogs</em>: it used to happen when network devices were
slow or unavailable, or pluggable devices disconnected, or even
because of fake floppy drives configured in the <span class="caps">BIOS</span>. <code>GLib</code> was using
an inappropriate Windows <span class="caps">API</span> to get some information about drives.
This has been fixed!
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/913">#913</a>,
<a href="https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2020">glib!2020</a>)</li>
<li><em>Opening files in specific third-party software was crashing <span class="caps">GIMP</span></em>:
apparently, these applications were editing the file-handling registry
field while <code>GLib</code> had a buggy watcher on the registry.
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/6780">#6780</a>,
<a href="https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2205">glib!2205</a>,
<a href="https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2210">glib!2210</a>)</li>
<li><em><code>GTK</code> was outputting the wrong character on some keyboard input using
Input Engines</em> (e.g. alphanumeric characters were interpreted as
half-width katakana when using the Japanese <span class="caps">IME</span>).
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/1603">#1603</a>,
<a href="https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3741">gtk!3741</a>)</li>
<li><em><span class="caps">TIFF</span> exporting used to lock the <span class="caps">TIFF</span> files because of a bug in the
Windows thumbnailer</em> (<code>Explorer.exe</code> would acquire a lock on the file
and never release it). Since Microsoft doesn’t seem to want to fix this
long-standing bug, we decided to switch to another way of creating
thumbnails by adding a “<em>reduced-resolution image</em>” as the second page
of the <span class="caps">TIFF</span>, as proposed in the <span class="caps">TIFF</span> specification, instead of adding a
<code>subifd</code> thumbnail. This takes care of the lock issue in a nice way,
bypassing <em>Explorer</em>‘s bug. Of course, it means that programs that can’t
reads tags properly might try opening thumbnails as additional pages,
even though it is explicitly annotated as “<em>reduced-resolution image</em>“.
If you ever run into this very issue, please report it to developers
of such programs. What they need to check is the SubFile type of the pages
their software opens (as per <a href="https://www.adobe.io/content/dam/udp/en/open/standards/tiff/TIFF6.pdf"><span class="caps">TIFF</span>
specification</a>).
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/3740">#3740</a>)</li>
<li><em><span class="caps">GIMP</span> used to prevent some applications to open, when these programs needed
to watch some specific directory</em>, because <code>GLib</code> was reading directory
with inappropriate access rights. Actually, this fix has been available
since <span class="caps">GIMP</span> 2.10.24.
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/4594">#4594</a>,
<a href="https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1976">glib!1976</a>)</li>
<li>Windows software with invisible windows (e.g. gesture shortcuts,
screen capture and the like) used to interfere with <code>GTK</code> software and
break some mouse interactions. We have had a patch for this, by Ell,
since 2017, which we used for all <span class="caps">GIMP</span> 2.10.x
releases. Unfortunately, with <span class="caps">GTK2</span> maintenance stopped, our patch
was only available in the bugtracker and in our binaries, while it was
beneficial to other <span class="caps">GTK</span> software, even in <span class="caps">GTK3</span> or newer. It has only
recently been reworked and improved by Luca Bacci so that this problem
is now officially fixed in <span class="caps">GTK3</span> too!
(<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/1082">#1082</a>,
<a href="https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2767">gtk!2767</a>)</li>
</ul>
<p>In particular, we would like to thank Luca Bacci, Jacob Boerema, <span class="caps">LRN</span>, Ell,
and all the contributors who stayed on top of Windows issues for this
progress to happen, sometimes taking years of patience.</p>
<h1 id="what-about-macos">What about macOS?<a class="headerlink" href="#what-about-macos" title="Permanent link">¶</a></h1>
<p>On macOS side, the activity is still slow, if not non-existent.</p>
<p>We remind that <span class="caps">GIMP</span> is made by you. Yes, you 👆 reading this right now.
Windows developers used to be very few too. As you can see, this is
clearly changing. Therefore, if anyone cares about <span class="caps">GIMP</span> for macOS, please
step forward.</p>
<p>You may have noticed that <span class="caps">GIMP</span> 2.10.24’s macOS <span class="caps">DMG</span> was released months
late. Even this only happened because Jehan spent days to fix the
build on the remote build server, bit by bit, without any local access
to a macOS machine, nor any ways to run and test himself. If the
packagers are still unavailable, we may try to do the same for this
release, though we can’t set a deadline.</p>
<p>It is obviously not a sustainable release model. It is even worse for
the development versions: we haven’t had a single build for <span class="caps">GIMP</span> 2.99.x
on macOS yet.</p>
<p>So if you want this to change, please join us! 🤗</p>
<h1 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h1>
<p>As usual, this release is supplemented with the releases of
<a href="https://gegl.org/babl/">babl</a> 0.1.88, early July, and
<a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.32 the same day as <span class="caps">GIMP</span> 2.10.26.</p>
<p>In <span class="caps">GEGL</span> in particular, the following operations were improved:</p>
<ul>
<li>distance-transform: new <code>edge_handling</code> parameter allows users to
choose whether areas outside the input are to be treated as above
threshold or below threshold (i.e. infinitely white or black
respectively) for calculating distance. <em>(by woob)</em></li>
<li>negative-darkroom: contrast boost and illuminant adjustment
parameter, reworked emulsion dye model, <span class="caps">UI</span> improvements, more
black-and-white paper presets and some operation speed-up.
<em>(by JonnyRobbie for features and Richard Kreckel for speed-up)</em></li>
<li>fill-path: 32-bit float <span class="caps">RGB</span> and <span class="caps">CMYK</span> color processing, using ctx as
renderer. <em>(by Øyvind Kolås)</em></li>
</ul>
<p>The test system got also some nice improvements by John Marshall.</p>
<h1 id="downloading-gimp-21028">Downloading <span class="caps">GIMP</span> 2.10.28<a class="headerlink" href="#downloading-gimp-21028" title="Permanent link">¶</a></h1>
<p>As usual <span class="caps">GIMP</span> 2.10.28 is available on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>
<p>The Linux flatpak has already been published so that anyone who
installed it previously should have an update proposed by their
software manager (or from terminal: <code>flatpak update org.gimp.GIMP//stable</code>).</p>
</li>
<li>
<p>The Windows installer is already available. Most mirrors have picked
it up, but some still haven’t. So if the download fails, just try to
click the <code>Download</code> button again.</p>
</li>
<li>
<p>The macOS <span class="caps">DMG</span> package will hopefully be published <em>soonish</em>.</p>
</li>
</ul>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>Though we may likely get again exciting new features in further 2.10.x
versions, nowadays most feature development happen in the development
version for future <span class="caps">GIMP</span> 3. You may have seen some of it, if you follow
our work on social networks, or if you test nightlies of <span class="caps">GIMP</span>.</p>
<p>Otherwise, you will have more surprises when we will release <span class="caps">GIMP</span> 2.99.8
development version!</p>
<p>Don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and accelerate the development of <span class="caps">GIMP</span>. As you know, the <a href="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/">maintainers of
<span class="caps">GEGL</span> and <span class="caps">GIMP</span> are crowdfunding to be able to work full-time on free
software</a>. 🥳</p>Funding GIMP developers for sustainable development2021-07-27T00:00:00+02:002021-07-27T00:00:00+02:00Wilbertag:www.gimp.org,2021-07-27:/news/2021/07/27/support-gimp-developers-sustainable-development/<p><span class="caps">GIMP</span> is developed by its community - support the humans behind</p><p><span class="caps">GIMP</span> has been developed as a community effort since very early on, after
its original authors left the project.
This begs the question of sustainability when contributors wish to stay
longer while not being able to afford being penniless volunteers forever.</p>
<p>We have seen skilled developers come and go for years, the latter
becoming a growing concern. Contributing takes a crazy amount of time
and people have family, work and other responsibilities to take care of.
Thus when core team contributors are willing to be paid for making Free
Software, we have decided that <span class="caps">GIMP</span> as a project should encourage such
endeavours by putting more emphasis on their funding.</p>
<p>There are currently 2 such crowdfunding projects. <strong>You can consider
these crowdfundings as “official” as can be and completely endorsed by
the <span class="caps">GIMP</span> project</strong>:</p>
<ul>
<li><a href="https://www.patreon.com/pippin">Øyvind Kolås</a>: <strong><span class="caps">GEGL</span> maintainer</strong>
(<span class="caps">GIMP</span>’s Image Processing framework).
<a href="#yvind-kolas-gegl-maintainer">¹</a></li>
<li><a href="https://www.patreon.com/zemarmot">ZeMarmot project</a>: Jehan (<strong><span class="caps">GIMP</span>
maintainer</strong>) and Aryeom (<strong>artist, designer</strong> and more…).
<a href="#zemarmot-gimp-maintainer-and-libre-art">²</a></li>
</ul>
<p>For more information, please read below.</p>
<h1 id="yvind-kolas-gegl-maintainer">Øyvind Kolås: <span class="caps">GEGL</span> maintainer<a class="headerlink" href="#yvind-kolas-gegl-maintainer" title="Permanent link">¶</a></h1>
<p>Øyvind has been contributing to <span class="caps">GIMP</span> since 2004. He soon became
<a href="https://gegl.org/"><span class="caps">GEGL</span></a> maintainer, for what was meant to become one
day <span class="caps">GIMP</span>’s image engine. <span class="caps">GEGL</span> and babl (its companion pixel format
encoding library) already support color management, higher bit depths
and <span class="caps">CMYK</span>; some of the non-destructive capabilities are already exposed
as part of <span class="caps">GIMP</span>’s on-canvas preview of image filters.
The integration of <span class="caps">GEGL</span> started in <a href="https://www.gimp.org/release-notes/gimp-2.8.html#gegl"><span class="caps">GIMP</span>
2.8</a> with a wider
port towards color management happening in
<a href="https://www.gimp.org/release-notes/gimp-2.10.html">2.10</a>. It is still a
work in progress, with plans for deeper integration of existing and
future capabilities of <span class="caps">GEGL</span> in future versions of <span class="caps">GIMP</span> as they continue
to get refined and tested.</p>
<p>Øyvind is known not only for his work on <span class="caps">GEGL</span> itself, but also for his
various experiments around images and colors. One of his visual
experiments with <a href="https://www.redsharknews.com/post-vfx/item/6540-this-image-is-black-and-white-no-really">color grids on grayscale
images</a>
even got viral back in 2019 and spread all over the web on too many news
outlets to name them all.</p>
<figure>
<img src="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/sc-low-saturation.webp" alt="Color assimilation grid illusion, by Øyvind Kolås"/>
<figcaption>
<em>Color assimilation grid illusion, by Øyvind Kolås</em>
</figcaption>
</figure>
<p>One of his later endeavours is <a href="https://ctx.graphics/">ctx</a>, a vector
graphics stack, which is probably hard to describe as some parts of this
project are a bit mind blowing, so let’s give you the official description:</p>
<blockquote>
<p>ctx is a media-rich terminal and a vector graphics stack, built around
a textual serialization protocol. The textual serialization has a
corresponding binary representation that is used by the core
rasterizer as well as sharing data among threads. The ctx protocol is
available as an extension to <span class="caps">ANSI</span> escape sequences in the ctx terminal
- the terminal launched when running the ctx binary with no arguments.
This extension allows scripts in any language to output vector
graphics in addition to or instead of monospace text in each
tab/window, and also provides network transparent rendering.</p>
</blockquote>
<p>All of this development background is most likely why Øyvind describes
himself as:</p>
<blockquote>
<p>I am a digital media toolsmith, creating tools and infrastructure to
aid creation of my own and others artistic and visual digital media experiments.</p>
</blockquote>
<p><span class="caps">GIMP</span> wouldn’t be here without sharp minds like his. Can you imagine, 17
years or more of dedication to free software and researching images? So
yes, <a href="https://www.patreon.com/pippin"><span class="caps">GIMP</span> project fully endorses Øyvind’s Patreon campaign and we
encourage everyone to donate!</a></p>
<p class='buttons'>
<span class='donate-button'>
<a href="https://www.patreon.com/pippin">
Fund Øyvind Kolås<br/>
<span class="caps">GEGL</span> development
</a>
</span>
</p>
<p><em>Note</em>: Øyvind is also present on <a href="https://liberapay.com/pippin/">Liberapay</a>.</p>
<h1 id="zemarmot-gimp-maintainer-and-libre-art">ZeMarmot: <span class="caps">GIMP</span> maintainer and Libre Art<a class="headerlink" href="#zemarmot-gimp-maintainer-and-libre-art" title="Permanent link">¶</a></h1>
<p><a href="https://film.zemarmot.net/">ZeMarmot</a> is a Libre Art project born as
an idea in 2014, launched in 2015 with production starting in 2016. In
particular, it is an Open Animation short film (<a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons
<span class="caps">BY</span>-<span class="caps">SA</span></a> license
promoting sharing and reuse) led by the film director, Aryeom, and <span class="caps">GIMP</span>
co-maintainer, Jehan.</p>
<figure>
<img src="https://www.gimp.org/news/2021/07/27/support-gimp-developers-sustainable-development/ZeMarmot_header.png" alt="ZeMarmot project logo"/>
<figcaption>
<em>ZeMarmot project logo</em>
</figcaption>
</figure>
<p>Now you might wonder why an animation film would help <span class="caps">GIMP</span>, yet this is
the whole reason why Jehan has been heavily developing the software, to
the point that he became the biggest contributor since 2020 and is now
co-maintainer. Working on other fun projects with Aryeom is even the
whole reason why Jehan started contributing to <span class="caps">GIMP</span> at all, ever since 2012.</p>
<p><em>ZeMarmot</em> is a traditional (yet digital) 2D animation film, meaning a
lot of illustration work (each frame hand-drawn), hence requiring heavy
usage of brush tools, selections, filters, transformation tools,
scripting for automatization and all sort of raster edit needs.</p>
<p>This is why the ensuing development is not only about illustration and
animation, as some might believe. They are not aiming at changing the
scope of the software. <span class="caps">GIMP</span> is a generic graphics manipulation tool and
what we have realized over the years is that most features are so
cross-disciplined that it makes total sense to have a generic tool.
Moreover Aryeom and Jehan also work from time to time on printing jobs,
logos, photos, pin buttons, board games… they do all kinds of things
with <span class="caps">GIMP</span>!</p>
<p>A lot of care is taken to fix bugs, improve stability, efficiency,
packaging and add generic tools and features useful to photographers,
designers, illustrators, scientists, animators…
Trying to list all the improvements brought by their work would be a
challenge because there are too many.</p>
<p>Nowadays, <em>ZeMarmot</em> is as much an <strong>artisanal animation film project</strong>
(Aryeom single-handedly working on nearly every production role) as it
is a <strong>software development project</strong> (both with Jehan on development
and Aryeom on testing and designing features). Aryeom and Jehan believe
that taking ownership of your working tool matters and this why their
collaboration works so well, by bringing together artist and developer.</p>
<p>The nice final touch is that their big dream is to be able one day to
hire more Free Software developers and artists. This project is under
<a href="https://libreart.info/"><span class="caps">LILA</span></a>‘s (<em>Libre comme L’Art</em> — <em>Free as
Art</em> in French) umbrella, a France-registered non-profit dedicated to
Libre Art and creative media Free Software.
Imagine in a not-so distant future if we had a non-profit studio
producing artworks in Libre Art licenses, for everyone to view, share
and even modify (source files are provided, e.g. <a href="https://gitlab.gnome.org/Jehan/what-is-peertube/">the
ones</a> for this video
they made for <a href="https://framatube.org/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d">Framasoft about
Peertube</a>)
with many artists (hence producing films at much better pace than they
are able right now) and developers fixing production issues.
We can truly consider <span class="caps">LILA</span> as <span class="caps">GIMP</span>’s sister non-profit Open Animation
studio! And yes, an Open Animation studio producing Libre Art will help
get better tools for photography editing or design as well.</p>
<p>This is why <a href="https://www.patreon.com/zemarmot"><span class="caps">GIMP</span> project also fully endorses <span class="caps">LILA</span> and <em>ZeMarmot</em>
project and encourages the whole community to give to this project in
order to improve <span class="caps">GIMP</span></a>. You can
consider it a fostered project of <span class="caps">GIMP</span>.</p>
<p class='buttons'>
<span class='donate-button'>
<a href="https://www.patreon.com/zemarmot">
Fund ZeMarmot (Aryeom and Jehan)<br/>
<span class="caps">GIMP</span> development
</a>
</span>
</p>
<p><em>Note</em>: <em>ZeMarmot</em> is also present on
<a href="https://liberapay.com/ZeMarmot/">Liberapay</a> and
<a href="https://en.tipeee.com/zemarmot">Tipeee</a> platforms.</p>
<h1 id="what-about-donations-to-the-gnome-foundation">What about donations to the <span class="caps">GNOME</span> Foundation?<a class="headerlink" href="#what-about-donations-to-the-gnome-foundation" title="Permanent link">¶</a></h1>
<p>For years, we have received <a href="https://www.gimp.org/donating/">donations</a>
through the umbrella of the <span class="caps">GNOME</span> Foundation. It is still possible to do
so of course. Yet these donations are so far only usable for community
needs. In particular, it helps us when we need hardware (not so often),
and to gather contributors for
<a href="https://www.gimp.org/news/2018/01/09/libre-graphics-meeting-scale-2018/">conferences</a>
(regularly we also help funding the conferences itself, because we
believe that a sane free software graphics ecosystem should not be only
about <span class="caps">GIMP</span> so we love to support other graphics software too) and
<a href="https://www.gimp.org/news/2017/01/18/wilberweek-2017-announced/">contributor
meetings</a>.</p>
<p>Note that it is also possible to fund several contributors through <a href="https://liberapay.com/GIMP/"><span class="caps">GIMP</span>
Liberapay account</a> as an interesting alternative.</p>
<p>What these donations through <span class="caps">GNOME</span> still cannot do is <strong>funding paid
development, so if that’s what you want, please fund the developers
directly as explained above.</strong> <span class="caps">GIMP</span> project obviously welcomes the 2
types of donation, for community needs through <span class="caps">GNOME</span> and for paid
development through the 2 crowdfundings listed.</p>
<p><strong>Thanks to everyone for supporting <span class="caps">GIMP</span> in whatever way suits you best! 🤗</strong></p>Development version: GIMP 2.99.6 Released2021-05-08T00:00:00+02:002021-05-08T00:00:00+02:00Wilbertag:www.gimp.org,2021-05-08:/news/2021/05/08/gimp-2-99-6-released/<p><span class="dquo">“</span>Don’t worry, be h-<span class="caps">API</span>”</p><p>☣️ <strong><span class="caps">GIMP</span> 2.99 releases are development snapshots. There are known bugs,
sometimes crashes and definitely unfinished features; that’s why it’s
not yet a final release. Use at your own risk!</strong> ☣️ </p>
<p><span class="caps">GIMP</span> 2.99.6 contains quite a few visible and interesting improvements,
yet the biggest changes are hidden from the public eye into the quite
steadily evolving <span class="caps">API</span> (<em>Application Programming Interface</em> for plug-in developers).</p>
<p>⚠️ Many of the third-party plug-ins already ported for <span class="caps">GIMP</span> 2.99.2 or
2.99.4 will end up broken, and there is a high chance they will break
again in further development releases until we stabilize the <span class="caps">API</span>. We
apologize for this, though this is the price of making plug-ins for a
program in-development. We figured it’s better to do this now rather
than ending up stuck with a bad interface for the years to come (as
stability will be ensured once <span class="caps">GIMP</span> 3 will be out).</p>
<p>Release highlights:</p>
<ul>
<li>Off-canvas guides</li>
<li>Template selector in Canvas Size dialog</li>
<li>Pinch gesture on canvas for zooming</li>
<li>Improved Paint Select (experimental) tool</li>
<li>Better handling of gAMA and/or cHRM chunks of <span class="caps">PNG</span></li>
<li><span class="caps">API</span> evolution</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-202105-work-in-progress-Wilber-and-co.jpg" alt="Work in Progress - Wilber and co. comics strip by Aryeom"/>
<figcaption>
<em>“Work in Progress (Feel free to grab a tool and help)” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<h1 id="core-improvements">Core improvements<a class="headerlink" href="#core-improvements" title="Permanent link">¶</a></h1>
<h2 id="off-canvas-guides">Off-canvas guides<a class="headerlink" href="#off-canvas-guides" title="Permanent link">¶</a></h2>
<p>In the continuation of <a href="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/#out-of-canvas-viewing-and-editing">out-of-canvas area
visibility</a>,
guides can now be placed outside the canvas. This was deemed useful for
various use cases when you want to work on bigger areas than your canvas.</p>
<p>For people worried of graphical interaction with guides, the workflow to
delete them (dropping the guides off-canvas) just changed to be about
dropping the guides off-viewport, which turns out to not be so different
after experimenting with this change in production for a few months.</p>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-off-canvas-guides.png" alt="Off-canvas guides - GIMP 2.99.6"/>
<figcaption>
<em>Off-canvas guides - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<h2 id="template-selector-in-canvas-size-dialog">Template selector in Canvas Size dialog<a class="headerlink" href="#template-selector-in-canvas-size-dialog" title="Permanent link">¶</a></h2>
<p>It is common usage to resize your canvas to a standard format, for
instance paper formats. For this reason, our recent and quite prolific
contributor Stanislav Grinkov implemented a template selector
in the Canvas Size dialog.</p>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-template-selector-canvas-size.png" alt="Template selector in Canvas Size dialog - GIMP 2.99.6"/>
<figcaption>
<em>Template selector in Canvas Size dialog - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<p>In order to handle the cases when you choose a template with expected
pixel density differing from the image’s, you may be queried to decide
whether you want to set your image to the template’s density or scale
the template’s dimensions to match the image’s density.</p>
<h2 id="pinch-gesture-on-canvas-for-zooming">Pinch gesture on canvas for zooming<a class="headerlink" href="#pinch-gesture-on-canvas-for-zooming" title="Permanent link">¶</a></h2>
<p>This is very fresh news as we merged this code (by Povilas Kanapickas,
brand new contributor!) only a few days ago: <span class="caps">GIMP</span> now has pinch gesture
support for touchpads, some tablets or touch screens (it might not work
with all tablets and touch screens). In other words, if you have a
device with touch support, you can zoom in and out through pinching
movements with your fingers.</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-6-zoom-gesture.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-6-zoom-gesture.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>This is known to work on Linux/Wayland (tested successfully on a laptop
touchpad and a Wacom Intuos Pro) and it might work in a few months in
X11 (after <a href="https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/530">this
patch</a>
gets merged). Someone reported the feature working on Windows 10 too
with one’s touchpad and integrated laptop’s touch display.
We have not found anyone yet to test the feature on macOS (it relies on
generic <span class="caps">GTK</span> code, but the exact support depends on specific per-platform
implementation and on the touch device firmware and/or driver
implementation). I guess this will be the surprise for this release. We
welcome any feedback <a href="https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/401">in the associated
report</a>.</p>
<p>As a note of interest, we used to say that <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#improved-input-devices-support">gesture
support</a>
was not our biggest priority, hence might not make it to <span class="caps">GIMP</span> 3. Yet
here it is! Another great example that <span class="caps">GIMP</span> is made by anyone. All it
takes for your dream features to happen is someone willing to contribute
code! It might be you! 🙂</p>
<h2 id="paint-select-tool">Paint Select tool<a class="headerlink" href="#paint-select-tool" title="Permanent link">¶</a></h2>
<p>The tool is still listed as experimental as it is not yet deemed
finished by its contributor, Thomas Manni. Nevertheless it has already
improved quite a bit and starts getting really interesting.</p>
<p>Several bugs were fixed and selection is now viewport-based which allows
it to be much faster already depending on the zoom. Yet this is not even
the expected optimization which is planned to make the tool work really
fast. Expect more to come!</p>
<p>This work has been happening both on <span class="caps">GIMP</span> code base and on our graphics
engine library’s code base, <span class="caps">GEGL</span>.</p>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-paint-select-tool-test.gif"
alt="Copy-pasting Wilber in a few seconds with the Paint Select tool (realtime GIF) - GIMP 2.99.6"/>
<figcaption>
<em>Copy-pasting Wilber in a few seconds with the Paint Select tool (realtime <span class="caps">GIF</span>, faster as zoomed-in) - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<p>As a side note, the Paint Select tool now has its own icons, original
design by Yash Arya, with collaborative work and design finalisation by Aryeom.</p>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-icon-tool-paint-select.png"
alt="New Paint Select tool icon by Yash Arya and Aryeom - GIMP 2.99.6"/>
<figcaption>
<em>New Paint Select tool icon by Yash Arya and Aryeom - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<h1 id="plug-ins">Plug-ins<a class="headerlink" href="#plug-ins" title="Permanent link">¶</a></h1>
<h2 id="png-color-profile-generated-from-imported-gama-and-chrm-chunks"><span class="caps">PNG</span>: color profile generated from imported gAMA and cHRM chunks<a class="headerlink" href="#png-color-profile-generated-from-imported-gama-and-chrm-chunks" title="Permanent link">¶</a></h2>
<p>The <span class="caps">PNG</span> format has several ways to manage colors, one of them is through
color profiles, which is also the logics in <span class="caps">GIMP</span> as in any modern
graphics editor. In the <span class="caps">PNG</span> specification, the presence of a color
profile is considered priority and overrides any of the other color
management methods.</p>
<p>The other ways were through the <code>gAMA</code>, <code>cHRM</code> and <code>sRGB</code> chunks (a
“chunk” is basically a <span class="caps">PNG</span> metadata), where instead of giving a full
profile, a <span class="caps">PNG</span> could store its gamma correction as a single value (hence
exact sRGB gamma curve cannot be stored this way, but an approximation
of it can) in <code>gAMA</code> while the primary chromaticities can be stored in
the <code>cHRM</code> chunk.</p>
<p><span class="caps">GIMP</span>’s core logics never supported (and still won’t because it is an old
deprecated method which should not be implemented to new code) only
using such a single gamma value. Yet we wanted to be able to read and
display such images correctly.
Our historical workaround was to store the <code>gAMA</code> and <code>cHRM</code> values in a
<code>parasite</code> on the <span class="caps">XCF</span> file, and just put it back when exporting to <span class="caps">PNG</span>
again which means that the image was wrongly displayed in <span class="caps">GIMP</span> itself
but fine after export.</p>
<p>Now <span class="caps">GIMP</span> will propose creating an actual <span class="caps">ICC</span> profile from the <code>gAMA</code> and
<code>cHRM</code> chunks, thus the image will be properly displayed. Since we don’t
store anymore the <span class="caps">PNG</span> chunks, the “<em>Save gamma</em>” export option has been
removed from <span class="caps">PNG</span> export dialog. Only proper profile is supported now
(i.e. an old-style <span class="caps">PNG</span> image which goes through a roundtrip
import-export in <span class="caps">GIMP</span> will come in with gAMA/cHRM chunk and out with an
equivalent <span class="caps">ICC</span> profile). Note that it is also recommended by the <span class="caps">PNG</span>
spec to <a href="http://www.libpng.org/pub/png/spec/1.2/PNG-Encoders.html#E.Encoder-color-handling">export with <span class="caps">ICC</span> profiles when a encoder software supports
it</a>.</p>
<figure>
<img src="https://www.gimp.org/news/2021/05/08/gimp-2-99-6-released/gimp-2.99.6-color-profile-from-png-chunks.png"
alt="Generating a color profile from PNG gAMA and cHRM chunks - GIMP 2.99.6"/>
<figcaption>
<em>Generating a color profile from <span class="caps">PNG</span> gAMA and cHRM chunks - <span class="caps">GIMP</span> 2.99.6</em>
</figcaption>
</figure>
<p><em>Note</em>: a crash cause has been discovered in <code>babl</code> when opening indexed
images with embedded color profiles. Since we are now creating color
profiles when a <span class="caps">PNG</span> had these chunks, this change can provoke this
crash.
Fortunately a patch has already been
<a href="https://gitlab.gnome.org/GNOME/babl/-/merge_requests/41">written</a>, and
we expect it to be present in the next version of <code>babl</code>.</p>
<h2 id="more-plug-in-work">More plug-in work<a class="headerlink" href="#more-plug-in-work" title="Permanent link">¶</a></h2>
<ul>
<li>
<p>Our screenshot plug-in has several implementations and used to always
display a dialog. Nowadays with portals on Linux (especially for
Wayland and sandbox-style packaging), more of the logics is moved
toward the portal itself. This is the case in particular for the
Freedesktop portal which asks what and how to shoot your screen
contents. Therefore when <span class="caps">GIMP</span> uses the Freedesktop portal, it won’t
show anymore our now-redundant dialog.</p>
</li>
<li>
<p>Color profile and comment are now saved on each layer of an exported
<span class="caps">TIFF</span> file to prevent any ambiguity for other programs (since every
layer can have its own profile and comment in the <span class="caps">TIFF</span> format). As
usual, while <span class="caps">GIMP</span> tries to be lenient on errors in files it imports
(allowing to salvage even broken files), it should be strict on its
own exported files.</p>
</li>
<li>
<p>Other plug-ins got some minor improvements, such as progression
feedback during <span class="caps">PDF</span> export, multi-layer selection support in <span class="caps">PSD</span>,
Qbist ported to the new <span class="caps">API</span>…</p>
</li>
</ul>
<h1 id="api-evolution"><span class="caps">API</span> evolution<a class="headerlink" href="#api-evolution" title="Permanent link">¶</a></h1>
<ul>
<li>
<p>Work continued on <span class="caps">GUI</span> generation for plug-ins, allowing to generate a
<span class="caps">GTK</span> dialog in just a few lines of code (options being introspected
from the plug-in procedure’s arguments).</p>
</li>
<li>
<p>Plug-in procedure’s default argument used to give a single image and
drawable. It was changed to give an image and an array of drawables,
since now <span class="caps">GIMP</span> has multi-layer selection ability. This is the main
reason why most plug-ins out there which used to work on earlier
2.99.x versions will break. Sorry about this, it’s for the greater
good and goes with the new abilities of <span class="caps">GIMP</span> for better handling of
complex images!</p>
</li>
<li>
<p>Some more work is also ingoing on the concept of a plug-in procedure’s
“sensitivity”, i.e.: when is the plug-in usable? Up until <span class="caps">GIMP</span> 2.10.x
series (and even in the first development releases 2.99.2 and 2.99.4),
plug-ins were sensitive when an image is opened with a single drawable
selected. Now with the new multi-selection abilities, it became clear
that maybe you want a plug-in which works also on several layers at
once, or even <strong>only</strong> when several layers are selected! And what if
you wanted a plug-in which doesn’t care if an image was opened at all?
We therefore added a new function to set the sensitivity cases for a
plug-in, though we are already thinking on improving this even further
(which is why we are not going to name the function here and we don’t
advise to use it yet if you find it).</p>
</li>
<li>
<p>Moreover many functions have been renamed for consistency, and also
sometimes avoiding some name clashes on language binding generation,
such as <code>gimp_parasite_name()</code> becoming <code>gimp_parasite_get_name()</code>.
Here is the <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/419892c3bd50dac7c671ac719cd6a9c5997691f5/NEWS#L97">list of updated function
names</a> in
<span class="caps">GIMP</span> 2.99.6.</p>
</li>
<li>
<p><span class="dquo">“</span>Parasites” (which is the technical name for random data attached to
an image, a layer, or to <span class="caps">GIMP</span> itself) are now usable as plug-in
procedure arguments. While this seems like a weird change, it is
useful when you want to store random data (even binary data) between
several <span class="caps">GIMP</span> runs. We already use this trick in the QBist plug-in from
default plug-ins.</p>
</li>
</ul>
<p>Many more changes happened on the <span class="caps">API</span>, you may have a better overview by
checking the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/419892c3bd50dac7c671ac719cd6a9c5997691f5/NEWS#L50"><span class="caps">NEWS</span></a> file,
though even this file might not be exhaustive (in case we forgot to note
some changes!).</p>
<h1 id="new-translation-for-the-installer">New translation for the installer<a class="headerlink" href="#new-translation-for-the-installer" title="Permanent link">¶</a></h1>
<p>Our Windows installer for the development release got a new full
<a href="https://l10n.gnome.org/languages/he/gnome-gimp/ui/">translation</a> in
<strong>Hebrew</strong> (<span class="caps">GIMP</span> itself was already partially localized in Hebrew).</p>
<p>Once again, we want to thank all the translators doing an incredible work!</p>
<h1 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h1>
<p>Since we released a stable version not long ago, <span class="caps">GIMP</span> 2.99.6 relies on
the same versions of <a href="https://gegl.org/babl/">babl</a> 0.1.86 and
<a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.30, which is getting stabler as time goes.</p>
<h1 id="downloading-gimp-2996">Downloading <span class="caps">GIMP</span> 2.99.6<a class="headerlink" href="#downloading-gimp-2996" title="Permanent link">¶</a></h1>
<p>As previous development versions, <span class="caps">GIMP</span> 2.99.6 is available on <a href="https://www.gimp.org/downloads/devel/"><span class="caps">GIMP</span>
official website (gimp.org)</a>:</p>
<ul>
<li>
<p>The Linux flatpak has been published so that anyone who installed it
previously should have an update proposed by their software manager
(or from terminal: <code>flatpak update org.gimp.GIMP</code>).</p>
</li>
<li>
<p>The Windows installer is available on the download page.</p>
</li>
</ul>
<p><em>Note: we realized a few changes listed in this news post were not
integrated in the last 2.99.6 installer (like the Hebrew translation
of the installer and the Paint Select tool). Expect us to add these in
a further installer!</em></p>
<ul>
<li>We are not sure yet when we will be able to publish macOS <span class="caps">DMG</span> packages
for development versions. It depends on contributor time and
willingness. We also remind that our team is fully made of volunteers
so if you wish to help on macOS side (or anything else), we will
welcome you with opened arms! 🤗</li>
</ul>
<p>Let’s also take the opportunity to thank all past and current packagers.
Without them, <span class="caps">GIMP</span> would be a lot less easy to install, right? They are
also doing a core contribution to the community!</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>Lately, a lot of the focus has been on the application interface
(<code>libgimp</code>), which we are still tweaking in order to provide the best
plug-in interface possible, based on <a href="https://www.gimp.org/news/2020/11/21/25-years-of-gimp/">25
years</a> of shared
community experience. Even though this part is not very visible, it is
important because we ensure major <span class="caps">API</span> version stability, i.e. that any
<span class="caps">API</span> change after <span class="caps">GIMP</span> 3.0 release can only be incremental, cruft over
more cruft. This is our one chance to do things better (as well as we
can, errors will be made of course, but let’s keep these limited).</p>
<p>Even for non-developers, a good <span class="caps">API</span> will mean that you will be able to
install many useful plug-ins in the future.</p>
<p>On <span class="caps">GTK3</span> side itself, the port of <code>GtkAction</code> is still the main big
remaining area. Some serious Wayland issues remain to be investigated,
the space invasion is ongoing, and so on.
Even though some progression has happened on most topics, the <a href="https://www.patreon.com/posts/what-remains-to-40087754">development
report</a> we
shared a few months ago is still quite accurate.</p>
<p>As usual, we won’t give any type of deadline or release date for <span class="caps">GIMP</span>
3.0. We don’t know ourselves, and because it depends on volunteer time,
we <em>can’t</em> know.
We are very happy to have seen some new talented contributors these last
few months (hopefully they will stay with us for a long time). We would
enjoy getting more so if anyone wants to help, you are more than welcome
to join the fun! So please “<em>grab a tool!</em>” as Wilber proposes you to do
in the above comics strip! 👷</p>
<p>Finally, please don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to
give back and accelerate the development of <span class="caps">GIMP</span>.
As a community project, <span class="caps">GIMP</span> is indeed able to continue only thanks to
contributors giving their time.
This is why we have recently updated the donation page to put an
emphasis on <strong>the importance of funding the developers in order to
ensure the project sustainability.</strong></p>GIMP 2.10.24 Released2021-03-29T00:00:00+02:002021-03-29T00:00:00+02:00Wilbertag:www.gimp.org,2021-03-29:/news/2021/03/29/gimp-2-10-24-released/<p><span class="dquo">“</span>The geographer release, stability and consolidation”</p><p><span class="caps">GIMP</span> 2.10.24 is mostly a bug fix release, which once again comes mostly
with file format support improvements.</p>
<p>Release highlights:</p>
<ul>
<li>Off-canvas point snapping</li>
<li>GeoTIFF metadata support (georeferencing information embedded within a
<span class="caps">TIFF</span> file used by map makers)</li>
<li>Many improvements in the metadata viewer and editor</li>
<li>Many file format supports improved: <span class="caps">HEIF</span>, <span class="caps">PSP</span>, <span class="caps">TIFF</span>, <span class="caps">JPEG</span>, <span class="caps">PNG</span>, <span class="caps">PDF</span>,
<span class="caps">DDS</span>, <span class="caps">BMP</span>, <span class="caps">PSD</span></li>
<li>New “<em>Negative Darkroom</em>” operation to simulate enlargement prints
from scans of photographic negatives.</li>
<li>The <span class="caps">RAW</span> image import now handles darktable 3.6 and over</li>
<li>New Kabyle translation</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2021/03/29/gimp-2-10-24-released/202103-wilber-and-co.jpg" alt="Wilber the geographer - Wilber and co. comics strip"/>
<figcaption>
<em>“Wilber the geographer” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0 - <span class="caps">GIMP</span> 2.10.24 gets GeoTIFF support</em>
</figcaption>
</figure>
<h1 id="core-improvements">Core improvements<a class="headerlink" href="#core-improvements" title="Permanent link">¶</a></h1>
<h2 id="off-canvas-point-snapping">Off-canvas point snapping<a class="headerlink" href="#off-canvas-point-snapping" title="Permanent link">¶</a></h2>
<p>Though there are various fixes in core code, this change is probably the
most worth mentionning. Ever since <span class="caps">GIMP</span> 2.10.14, we are now able to see
the <a href="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/#out-of-canvas-viewing-and-editing">out-of-canvas
area</a>.
Consequently, many features can now work outside the canvas, yet not all
features yet. This change is the continuation of this work, allowing you
to snap various tools to guides, grids or vectors, even outside the canvas.</p>
<figure>
<img src="https://www.gimp.org/news/2021/03/29/gimp-2-10-24-released/gimp-2.10.24-snap-off-canvas.gif" alt="Snapping to guide off-canvas - GIMP 2.10.24"/>
<figcaption>
<em>Snapping to guide/grid/vectors off-canvas made possible - <span class="caps">GIMP</span> 2.10.24</em>
</figcaption>
</figure>
<h1 id="metadata-support">Metadata support<a class="headerlink" href="#metadata-support" title="Permanent link">¶</a></h1>
<p>A lot of work has been going on in the metadata area, mostly
consolidating our support and fixing many issues.</p>
<p>The metadata viewer and editor also received a lot of love, making them
more robust to various edge cases, such as duplicate tags, but also
mapping equivalency between similar <span class="caps">IPTC</span> and <span class="caps">XMP</span> tags, better encoding
handling, and so on.</p>
<p>The <span class="caps">GPS</span> data is also handled a bit better with more precision, tooltips
and better formatting.</p>
<p>There are still a lot of improvements to be made in the metadata area
though we are probably on the right path. This part of the development
is not as visible as other, yet this is very time-consuming and
thankless groundwork while being useful to anyone who needs good
metadata support so we’d like to thank <a href="https://www.jacobboerema.nl/en/">Jacob
Boerema</a> who has worked tirelessly on
this for months.</p>
<h1 id="file-formats">File formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h1>
<h2 id="geotiff">GeoTIFF<a class="headerlink" href="#geotiff" title="Permanent link">¶</a></h2>
<p>A fun story which started with a <a href="https://www.youtube.com/watch?v=N1G0qyETCow">conference by Adam Cox of Louisiana
State University</a> about
using <span class="caps">GIMP</span> for enhancing historic maps, with the issue that GeoTIFF
metadata tags were lost and made the workflow a bit more cumbersome.</p>
<p>It prompted a bug report then later a patch by the passing contributor
Ruthra Kumar and a review by the core team. All this within 2 months.</p>
<p>And now <span class="caps">GIMP</span> is able to import and export back the GeoTIFF tags. Note
that no semantic logics is implemented, i.e. that <span class="caps">GIMP</span> can only export
what it imported (the checkbox will only be sensitive on export if there
was GeoTIFF metadata on import). It will not tweak the metadata contents
for you. In particular since it contains georeferencing data, some type
of image transform could make the data meaningless. This is up to you to
know what the data references and how to keep its meaning.</p>
<figure>
<img src="https://www.gimp.org/news/2021/03/29/gimp-2-10-24-released/gimp-2.10.24-save-geotiff.png" alt="Save GeoTIFF metadata as imported - GIMP 2.10.24"/>
<figcaption>
<em>Save GeoTIFF metadata as imported - <span class="caps">GIMP</span> 2.10.24</em>
</figcaption>
</figure>
<p>This nice little story shows once again a power of Free Software, which
is before all a software made by yourself. Anyone who contributes is
part of the <span class="caps">GIMP</span> team! 🤗</p>
<p><em>Note: the sharpest mind may have realized the feature was available in
the development release 2.99.4. Yet we add the description for 2.10.24
because this is the first stable release featuring GeoTIFF support.</em></p>
<h2 id="improved-support-for-many-image-formats">Improved support for many image formats<a class="headerlink" href="#improved-support-for-many-image-formats" title="Permanent link">¶</a></h2>
<p>Similarly to our <a href="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/">previous stable
release</a>,
our file format plug-ins received a lot of love.</p>
<ul>
<li><strong><span class="caps">TIFF</span></strong> got various improvements when handling multi-page files, but also
many edge cases, such as 2 or 4-bit <span class="caps">TIFF</span> images, opening some types of
non-conformant <span class="caps">TIFF</span> files and so on.</li>
<li><strong><span class="caps">HEIF</span></strong> got some visually lossless export support when libheif 1.10 or
later is used. We also detect separately <span class="caps">HEIC</span> and <span class="caps">AVIF</span> support at
runtime, allowing to build the plug-in with only support of one encoding.</li>
<li><strong><span class="caps">PNG</span></strong> now ignores useless layer offset of 0, a metadata which some
third-party software are always storing, hence getting rid of
unecessary dialog prompts.</li>
<li><strong><span class="caps">JPEG</span></strong> will better warn the user when some metadata saving failed.</li>
<li><strong><span class="caps">BMP</span></strong> in more bit depth can now be loaded, in particular 24bpp <span class="caps">BMP</span>
images; moreover <span class="caps">GIMP</span> is now able to rescue some non-conformant <span class="caps">BMP</span>
with wrong compression noted in header.</li>
<li><strong><span class="caps">PDF</span></strong> import now proposes an option to reverse order of layers (same as
we already had on export) and now support fractional <span class="caps">DPI</span> import.</li>
<li><strong><span class="caps">DDS</span></strong> in <span class="caps">BC5</span> format benefited from some fixes. Moreover as we are
able to detect some images with errors previously created by <span class="caps">GIMP</span>, the
software will also automatically fix these errors upon loading them.</li>
<li><strong>Raw</strong> image formats are still forwarded through <a href="https://www.gimp.org/release-notes/gimp-2.10.html#digital-photography-improvements">featureful raw
developers</a>
such as <a href="https://www.darktable.org/">darktable</a> or
<a href="https://www.rawtherapee.com/">RawTherapee</a>. The former is undergoing
some <span class="caps">API</span> changes, and while darktable 3.6 is not even out yet, <span class="caps">GIMP</span>
already has support for this upcoming version. Therefore <span class="caps">GIMP</span> 2.10.24
will work with future darktable.</li>
</ul>
<h1 id="new-translation">New translation<a class="headerlink" href="#new-translation" title="Permanent link">¶</a></h1>
<p><span class="caps">GIMP</span> is now available in one more language: <strong>Kabyle</strong>. This is still an
early translation as only <a href="https://l10n.gnome.org/languages/kab/gnome-gimp/ui/">18% of the stable branch is
translated</a> so far
(and 32% of the development branch!) yet we can already thank these new
translators to bring <span class="caps">GIMP</span> to even more people.</p>
<p>This makes <span class="caps">GIMP</span> available to 82 languages other than default English!</p>
<p>Translators are also contributors doing an incredible work, even though
their work doesn’t always get the visibility and acknowledgement they
deserve. Thanks to all of them!</p>
<h1 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h1>
<p>As usual, this release is supplemented with the releases of
<a href="https://gegl.org/babl/">babl</a> 0.1.86 and <a href="https://gegl.org/"><span class="caps">GEGL</span></a> 0.4.30.</p>
<h2 id="changes-in-short">Changes in short<a class="headerlink" href="#changes-in-short" title="Permanent link">¶</a></h2>
<p>Our pixel encoding and color space conversion engine, babl 0.1.86, now
supports creating babl space from input-class <span class="caps">ICC</span> profiles and improves
thread safety.</p>
<p>On its side, <span class="caps">GEGL</span> 0.4.30 made improvements to its test suite and to
the following operations: <code>jpg-load</code>, <code>png-load</code>, <code>tiff-load</code>,
<code>rgbe-load</code>, <code>color-reduction</code>, <code>fattal02</code> and <code>paint-select</code>. This
later operation in particular was introduced for the new <a href="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/#new-experimental-paint-select-tool">Paint Select
tool</a>
so we will have the opportunity to talk about the improvements on the
next development release news.</p>
<h2 id="negative-darkroom">Negative Darkroom<a class="headerlink" href="#negative-darkroom" title="Permanent link">¶</a></h2>
<p>Additionally to the other improvements, a new very interesting operation
appears in <span class="caps">GEGL</span>, contributed by Jonny Robbie: <code>negative-darkroom</code>.</p>
<p>This operation is for artists who use hybrid workflow technique of
analog photography. After scanning a developed negative, this operation
is used to invert the scan to create a positive image by simulating the
light behaviour of darkroom enlarger and common photographic papers.</p>
<figure>
<img src="https://www.gimp.org/news/2021/03/29/gimp-2-10-24-released/gimp-2.10.24-negative-darkroom.jpg" alt="Negative Darkroom in GEGL 0.4.30 / GIMP 2.10.24"/>
<figcaption>
<em>Negative Darkroom operation in <span class="caps">GEGL</span> 0.4.30 / <span class="caps">GIMP</span> 2.10.24</em>
</figcaption>
</figure>
<p>As all <span class="caps">GEGL</span> operations are automatically detected and made available by
<span class="caps">GIMP</span>, this new operation can be used in <span class="caps">GIMP</span> 2.10.24 through the generic
<span class="caps">GEGL</span> tool (menu <code>Tools > GEGL Operation…</code> then select “<em>Negative
Darkroom (negative-darkroom)</em>” in the dropdown list).</p>
<p>Creating a custom dedicated dialog for this operation has been raised
and may happen in an further version of <span class="caps">GIMP</span> to even more improve the
usage and experience.</p>
<h2 id="babl-minimum-requirement-in-gegl-and-gimp">babl minimum requirement in <span class="caps">GEGL</span> and <span class="caps">GIMP</span><a class="headerlink" href="#babl-minimum-requirement-in-gegl-and-gimp" title="Permanent link">¶</a></h2>
<p>Meanwhile babl minimum requirement in <span class="caps">GEGL</span> has been downgraded to 0.1.78
(same as in <span class="caps">GIMP</span>) because newer versions require too recent <code>meson</code>
build tool, which is unfortunately still not available on some
distributions. In order not to prevent people from benefiting from a
newer version of <span class="caps">GEGL</span> and <span class="caps">GIMP</span>, we refrain on purpose to bump the
minimum requirement for a bit even though we highly encourage every
packager to use the last version of babl when possible. Many fixes and
improvements were also made available in recent versions.</p>
<h1 id="downloading-gimp-21024">Downloading <span class="caps">GIMP</span> 2.10.24<a class="headerlink" href="#downloading-gimp-21024" title="Permanent link">¶</a></h1>
<p>As usual <span class="caps">GIMP</span> 2.10.24 is available on <a href="https://www.gimp.org/downloads/"><span class="caps">GIMP</span> official website
(gimp.org)</a>:</p>
<ul>
<li>The Linux flatpak has already been published so that anyone who
installed it previously should have an update proposed by their
software manager (or from terminal: <code>flatpak update org.gimp.GIMP</code>).</li>
</ul>
<p><em>Note: our flatpak now supports only <code>x86-64</code> and <code>AArch64</code> (i.e. the
64-bit variants of the x86 and <span class="caps">ARM</span> architectures). In particular <code>i386</code>
(32-bit x86) had been dropped quite some time ago by the Freedesktop
runtime we depend on. This is now the <code>ARM</code> (32-bit) support which has
been dropped (even though 32-bit hardware is still being released or
often 64-bit board computers are sold with a 32-bit <span class="caps">OS</span>). We tried to
hold back a bit, for more than 6 months even, but now that the older
runtime we used is unsupported, updating is the only sane choice.</em></p>
<p><em>For the record, our i386 flatpak is therefore stuck at <span class="caps">GIMP</span> 2.10.14
and our <span class="caps">ARM</span> flatpak is stuck at <span class="caps">GIMP</span> 2.10.22 with a few thousands
downloads for this last version of <span class="caps">GIMP</span> i386 and a bit more than 400
for the last version of <span class="caps">GIMP</span> <span class="caps">ARM</span>.</em></p>
<ul>
<li>
<p>The Windows installer is already available. Most mirrors have picked
it up, but some still haven’t. So if the download fails, just try to
click the <code>Download</code> button again.</p>
</li>
<li>
<p>The macOS <span class="caps">DMG</span> package will be published in the next few days once our
packager can make the time.</p>
</li>
</ul>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>The development continues very strong on the development branch and we
can clearly see the shift towards more work on <span class="caps">GIMP</span> 3 as 2.10.x release
become more about robustness and less about new features (though we
still continue to backport features when it can be done without too much
additional work).
We will give more details on this side of development when we will
release the upcoming 2.99.6 development version.</p>
<p>Finally, please don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to
give back and accelerate the development of <span class="caps">GIMP</span>.</p>🎄 Development release GIMP 2.99.4 is out 🎁2020-12-25T23:30:00+01:002020-12-25T23:30:00+01:00Wilbertag:www.gimp.org,2020-12-25:/news/2020/12/25/gimp-2-99-4-released/<p><span class="caps">GIMP</span> 2.99.4 is out with bug fixes and usability improvements</p><p>As we are progressing towards v3.0, we expect future unstable releases
to have less new features and more bug fixes and improvements.</p>
<p>Release highlights:</p>
<ul>
<li>Usability fixes across various parts of <span class="caps">GIMP</span></li>
<li>New Paint Select tool in the playground</li>
<li>New generic dialog generation and metadata support <span class="caps">API</span> for export plug-ins</li>
<li>Multi-threaded <span class="caps">JPEG2000</span> decoding</li>
<li>Initial documentation on porting plug-ins to 3.0</li>
</ul>
<figure>
<a href="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/2020-gimp-2-99-4-xmas.jpg">
<img src="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/2020-gimp-2-99-4-xmas.jpg" alt="GIMP 2.99.4 present for Christmas! by Aryeom, CC by-sa"/>
</a>
<figcaption>
<em><span class="caps">GIMP</span> 2.99.4 present for Christmas! by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#usability-fixes">Usability fixes</a><ul>
<li><a href="#slider-widget">Slider widget</a></li>
<li><a href="#multi-layer-selection">Multi-layer selection</a></li>
<li><a href="#input-devices-dialog">Input Devices dialog</a></li>
<li><a href="#better-device-defaults">Better device defaults</a></li>
<li><a href="#font-thumbnail-adapted-for-korean-and-japanese">Font thumbnail adapted for Korean and Japanese</a></li>
</ul>
</li>
<li><a href="#new-experimental-paint-select-tool">New experimental Paint Select tool</a></li>
<li><a href="#api-updates"><span class="caps">API</span> updates</a><ul>
<li><a href="#dialog-generation-for-plug-ins">Dialog generation for plug-ins</a></li>
<li><a href="#new-generic-metadata-support-api">New generic metadata support <span class="caps">API</span></a></li>
<li><a href="#updated-file-plug-ins">Updated file plug-ins</a></li>
<li><a href="#multi-threading-preferences-now-available-from-plug-ins">Multi-threading preferences now available from plug-ins</a></li>
<li><a href="#improved-plug-in-debugging">Improved plug-in debugging</a></li>
<li><a href="#dev-docs-on-porting-plug-ins-to-30">Dev docs on porting plug-ins to 3.0</a></li>
</ul>
</li>
<li><a href="#gegl-and-babl"><span class="caps">GEGL</span> and babl</a></li>
<li><a href="#download-and-bug-reporting">Download and bug reporting</a></li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<h1 id="usability-fixes">Usability fixes<a class="headerlink" href="#usability-fixes" title="Permanent link">¶</a></h1>
<h2 id="slider-widget">Slider widget<a class="headerlink" href="#slider-widget" title="Permanent link">¶</a></h2>
<p>We fixed several discoverability issues in the new (more compact) slider
widget. This was mostly the result of usability tests by Aryeom after
extensive use in production.</p>
<p>Before, if you tried to edit the scale value numerically (i.e. by inputting numbers on keyboard), you’d also trigger a value change by using the main
mouse button click. You could avoid that by using the middle mouse button
click, but is was hardly discoverable.</p>
<p>So now you can pinpoint-click the displayed numbers. This action will only focus the text input (by default entirely selecting the existing value as
is common when focusing text entries). You can still click-edit the value
from everywhere in the widget, except exactly on the numbers.</p>
<p>The second issue was related to changing the cursor depending on the context:</p>
<ul>
<li>The top-arrow cursor came from a time where this widget had 2 areas, a
top and bottom. It didn’t really mean anything anymore with the
new interaction. We replaced it by a common “<em>grab</em>” cursor as
defined in the <span class="caps">CSS</span> specification. This becomes a “<em>grabbing</em>” cursor
when a click’n’drag is in progress.</li>
<li>When the pointer is hovering the text area, it becomes a “<em>text</em>”
cursor instead, hence advertizing the fact that a click here would
start editing the number.</li>
<li>Finally, when holding the <code>Shift</code> modifier key, the cursor will become
a horizontal resize cursor (“<em>col-resize</em>” in the <span class="caps">CSS</span> specification),
hence advertizing the ability for smaller relative resizing (an action
also available with the third button, usually <code>right-click</code>).</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/gimp-2.99.4-slider-cursors.png" alt="GIMP 2.99.4: usability improvements on the slider widget"/>
<figcaption>
<em><span class="caps">GIMP</span> 2.99.4: from left to right, new cursors on the slider to grab, when grabbing, do small updates or text-edit</em>
</figcaption>
</figure>
<h2 id="multi-layer-selection">Multi-layer selection<a class="headerlink" href="#multi-layer-selection" title="Permanent link">¶</a></h2>
<p>Multi-item selection in the <code>Layers</code> dockable comes with common key
interactions for multiple selection such as: <code>Shift-click</code> for range
selection or <code>Ctrl-click</code> for selection modification. These interactions clashed with some features we had on layer and mask thumbnails.
For instance one could end up changing the selected layers while in the
same time create or remove layer masks by mistake.</p>
<p>Since the multiple layers feature is just too important and these
generic interactions are so well established across software (hence their
removal or replacement not even being a question), we made the following
design choices:</p>
<ul>
<li>No special click features in the <code>Layers</code> dockable should be based
only on <code>Shift</code>, <code>Ctrl</code> or <code>Shift-Ctrl</code> modifiers, but it could
include these if any additional modifier (e.g. <code>Alt</code>) comes to play.</li>
<li>We moved all existing features that didn’t follow such rule to the
<code>Alt+</code> combination.</li>
<li>For cases where all modifier combinations were taken, we removed
click features based mostly on seniority (e.g. <em>Alpha to Selection</em>
has been around pretty much since inception of <span class="caps">GIMP</span> while mask creation
utilities were only added a few years ago).</li>
<li>Actions are now based on exact modifier combinations to avoid feature
clashes (e.g. <code>Ctrl-click</code> should not trigger both the <code>Ctrl-click</code>
and simple <code>click</code> actions).</li>
<li>Actions done when clicking a thumbnail with modifiers do not change
the selection and will now operate on the clicked layer or mask, not
on selected layers/masks. This makes these actions more useful as they
are not redundant anymore.</li>
</ul>
<p>The concrete consequential changes are as follows:</p>
<ul>
<li><code>Ctrl-click</code> on a mask thumbnail to enable/disable the layer mask has
been changed to <code>Alt-Ctrl-click</code>. The other mask action, <code>Alt-click</code>
for showing the mask, stays the same.</li>
<li><code>Shift-click</code> and <code>Ctrl-click</code> actions on a layer thumbnail to
respectively add (with last used values) or remove a layer mask have
been removed. Indeed all <code>Alt+</code> combinations are already taken on
layer thumbnails (for “<em>Alpha to Selection</em>“, “<em>Add Alpha to
Selection</em>“, “<em>Subtract Alpha from Selection</em>” and “<em>Intersect Alpha
with Selection</em>“, respectively on <code>Alt-click</code>, <code>Alt-Shift-click</code>,
<code>Alt-Ctrl-click</code> and <code>Alt-Shift-Ctrl-click</code>; we also took the
opportunity to improve the <em>Undo</em> labels for these actions, improving
discoverability on random clicks) and these “<em>Add/Remove mask</em>”
actions were much newer (2.10.0) anyway.</li>
<li>Thumbnail popups on long click do not happen anymore when any modifier
is being held, hence removing a distraction when this was obviously
not what the click was for.</li>
</ul>
<h2 id="input-devices-dialog">Input Devices dialog<a class="headerlink" href="#input-devices-dialog" title="Permanent link">¶</a></h2>
<p>The infamous “Input Devices” dialog has always felt packed with arcane
features and devices. With <span class="caps">GIMP</span> 3, many features will be working
out-of-the-box and it felt like the right time to clean this dialog a bit.</p>
<ul>
<li>We now only show entries for actual physical devices attached to your
computer. So no more “virtual devices”. Similarly we now hide
the <code>XTEST</code> device which some kind of a test device generated by the X11
server (Linux).</li>
<li>We used to show all possible axes for all devices, including some axes
like “Rotation” or “Slider” which are present very rarely (only on
specific drawing styluses in the market, even uncommon among
professionals). The dialog will now only list the axes returned by the
backend (note that even this list may still show more than what a
specific device really has because drivers are sometimes over-listing,
yet it is still much closer to reality).</li>
<li>When a device is connected, the names of the axes will also be the
ones as listed by the backend, which will get us closer-to-reality
names. Typically the <code>X</code> axis for a graphics tablet will be <code>Abs. X</code>
because these devices are usually meant for absolute pointer
positioning whereas it will be <code>Rel. X</code> on mice.</li>
<li>Curve editing for the tablet pressure response was one of the most
interesting configuration option in this dialog, even more now that we
don’t need to enable or disable specific devices. This is why when a
device has a “Pressure” axis, it will be selected by default, hence
allowing you to directly work on the curve, without unnecessary clicks.</li>
</ul>
<p><strong>Call for user input</strong>:</p>
<p>There are a few puzzling settings in this dialog and we would welcome
input from anyone who had an actual need for them. How were you using any
of these features? Which <span class="caps">OS</span>? What was the goal?</p>
<ul>
<li>There used to be a “<strong>Keys</strong>” list for every device in the dialog. We
actually removed this list back in 2.99.2. Based on tests, code
research, and discussion with Carlos Garnacho, our local <span class="caps">GTK</span> and input
device expert, we came to the conclusion that the “Keys” concept was
tied to “keyboard” devices (a type of devices not shown in this
dialog) and it was meaningless on “pointer” devices (mice, touchpads,
graphics tablets…). Yet here was the option! Maybe it actually had a
hidden usage to someone, someday? If this is your case, please explain
us so that we can think of a way to restore the feature with an
understandable interface.</li>
<li>The “Axes” list has the ability to set the “<strong>axis use</strong>” for a given
axis (the little numbers next to each axis). Yet we never managed to
do anything with it. This looks mostly either broken or meaningless.
Has anyone a use for this axis settings?</li>
<li>Each device has 3 “modes”: Disabled, Screen, and <strong>Window</strong>. “Disabled”
simply means that the device will share the main virtual device
pointer while “Screen” will make it look independent. The “Window”
mode, on the other hand, is a concept only meaningful for “floating”
devices (a concept maybe not even valid on all platforms) and even
then it looks broken, as far as our tests went. Is there anyone in the
world who actually uses the “Window” mode and sees a difference with
“Screen” in recent <span class="caps">GIMP</span> versions?</li>
</ul>
<p>If anyone has the use for these features, we would definitely welcome
feedback because we are as puzzled as many others whether users actually
rely on these things. On one hand, we are tempted to remove these settings, because it doesn’t make sense to show a non-working configuration. On the
other hand, we don’t want to remove actual features if someone somewhere
has a use for them. So if you are one of those people, please contact us.
E.g. open a <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues">report</a>
to tell us more.</p>
<p>Maybe there are other ways to improve this dialog for more people? Tell us
what you expect from it!</p>
<h2 id="better-device-defaults">Better device defaults<a class="headerlink" href="#better-device-defaults" title="Permanent link">¶</a></h2>
<p>As explained in the <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/#improved-input-devices-support">2.99.2
release notes</a>,
<span class="caps">GIMP</span> 3 will be coming with a much better input device detection as well
as hotplug detection. So we decided to provide reasonable defaults for when
a new device is detected. This would help people see if it works correctly.
In particular for graphics tablets, people expect pressure to work from scratch.</p>
<p>For these reasons, here are the tools enabled by default the first time
you plug a device:</p>
<ul>
<li>Pen devices (tablet styluses’ main input): <em>Paintbrush</em> tool;</li>
<li>Eraser devices (tablet styluses’ back input): <em>Eraser</em> tool;</li>
<li>Touch screens (finger): <em>Smudge</em> tool;</li>
<li>All other devices: <em>Paintbrush</em> tool.</li>
</ul>
<p>Moreover, the default dynamics when a new device is plugged is now
“<em>Pressure Size</em>“, i.e. the brush size will increase when you press harder.</p>
<p>This should make the first-time experience with <span class="caps">GIMP</span> much more enjoyable
for people using graphics tablets, as they can directly start to paint
on the canvas without having first to understand all the inner settings
of <span class="caps">GIMP</span>’s painting system (based on the combination of brush and dynamics).</p>
<h2 id="font-thumbnail-adapted-for-korean-and-japanese">Font thumbnail adapted for Korean and Japanese<a class="headerlink" href="#font-thumbnail-adapted-for-korean-and-japanese" title="Permanent link">¶</a></h2>
<p>Our font list will now display fonts targeted at Korean and Japanese
writing systems with “한” and “あ” respectively. This will allow to more
quickly detect fonts useful for your language of choice in a long list.</p>
<figure>
<img src="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/gimp-2.99.4-fonts-CJK.png" alt="Font thumbnails in GIMP 2.99.4"/>
<figcaption>
<em>Thumbnails in <span class="caps">GIMP</span> 2.99.4 of fonts targeting various writing systems</em>
</figcaption>
</figure>
<p>For Korean “한” (han) was chosen (apart from being the first syllable in
“Hangeul”, the name of the Korean writing system) firstly because it is a
syllable with two consonants, which gives good indications on stylistic
choices, and secondly because the circle shape in ‘ㅎ’ (hieut) but also
its small <em>hat</em> have many stylistic variants and are therefore also
quite good hints of stylistic choices made by a font designer.</p>
<p>As for “あ”, it is the first <em>kana</em> in the hiragana syllabary, which is
one of the main components of the Japanese writing system.</p>
<p>The code logics is based on approximation of probable target language
depending on supported characters found in the fonts. It may not always
show the ideal sample characters, especially for fonts that try to
support many different scripts, but it remains very useful overall.
This is based on existing code, which already had detection for other
writing systems, yet not for Korean and Japanese until now.</p>
<h1 id="new-experimental-paint-select-tool">New experimental Paint Select tool<a class="headerlink" href="#new-experimental-paint-select-tool" title="Permanent link">¶</a></h1>
<p>Our long-term contributor Thomas Manni is working on a new paint-based
selection tool. It will offer a new way to progressively make a
selection by roughly painting with a brush over the region of interest.</p>
<p>This new tool is based on a targeted segmentation algorithm (graphcut):
its goal is to quickly isolate a specific region in the image. The tool
provides a binary result (fully selected for the area of interest, fully
non-selected for all other pixels).</p>
<p>It’s at a very early stage of development, so if you test it right now,
you will probably be disappointed by its lack of precision and poor
performance. Fear not, there’s just way more work to be done, you’ll
like it once it’s complete.</p>
<figure>
<img src="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/gimp-2.99.4-Paintselect-canvas-interactions.png" alt="GIMP 2.99.4: Paint Select tool"/>
<figcaption>
<em>Canvas interaction of the new Paint Select tool: quick selection of Wilber in one stroke</em>
</figcaption>
</figure>
<p><strong>But what about the Foreground Select tool?</strong></p>
<p>Some people might be wondering about the existing <em>Foreground Select</em> tool
which might look very similar to the new experimental <em>Paint Select</em> tool.
This quote from Thomas might explain the difference:</p>
<blockquote>
<p>Foreground Select uses a matting algorithm: its goal is to provide an
alpha (grey) value for all “unknown” pixels. Generally it should be
used only on regions where pixels’ colors are a mix of foreground and
background colors (like strands of hair or fur).</p>
</blockquote>
<p>Moreover, it is true that part of this new development comes from
recognition of some limitations of the current <em>Foreground Select</em> tool
which unfortunately does not work so well for actually segmenting global
shapes, often takes a lot of time on big images, and has memory and
stability issues.</p>
<p>We are not aiming to replace the <em>Foreground Select</em> tool though. The idea
is to offer a new way to do selections. We might be able to improve the
<em>Foreground Select</em> tool to work better in more situations. Discussions
have also been happening on reworking the interaction interface as a better
way to retarget the tool’s usage.</p>
<p>More experiments are still in progress or planned by Thomas, in particular,
to give new ways to refine edges of existing selection (since the
<em>Paint Select</em> tool creates binary selections which are less appropriate
for edge selection).</p>
<p>This is all to be considered as open development and experiments in free
software. We shall see how things evolve!</p>
<h1 id="api-updates"><span class="caps">API</span> updates<a class="headerlink" href="#api-updates" title="Permanent link">¶</a></h1>
<h2 id="dialog-generation-for-plug-ins">Dialog generation for plug-ins<a class="headerlink" href="#dialog-generation-for-plug-ins" title="Permanent link">¶</a></h2>
<p>We have been working on dialog generation for plug-ins. A plug-in
historically comes with a “procedure” (which can be called from the core
but also from other plug-ins through the <code>PDB</code> protocol), with
parameters and 3 run methods: interactively, non-interactively and with
last values. The non-interactive and with last values run methods
imply known parameters (given by the caller or previous calls), but an
“interactive” run implies to ask for these parameters in a <span class="caps">GUI</span>, usually
with added logics.</p>
<p>Until now, this always needed specific <span class="caps">GUI</span> code. We now added new
functions for easy dialog generation from the procedure parameters. In
simplest case, you could therefore generate a full blown plug-in dialog
in less than 5 lines.</p>
<p>Several checks were added, such as mnemonic verification, ensuring that
every displayed property in a plug-in dialog has a unique mnemonic. This
is a very useful feature for usability and accessibility, for people who
mostly use keyboard navigation.</p>
<p>Similar ability used to be available on some specific bindings (Python
and Scheme) up to the <span class="caps">GIMP</span> 2.10 series. Unlike this past ability, the
new functions will be available for all plug-ins (i.e. C/C++ plug-ins,
but also for GObject-Introspected bindings, for instance in Python 3,
JavaScript, Vala, or Lua). Moreover, the customizability is much more
powerful and will provide much better dialogs and advanced logics.</p>
<h2 id="new-generic-metadata-support-api">New generic metadata support <span class="caps">API</span><a class="headerlink" href="#new-generic-metadata-support-api" title="Permanent link">¶</a></h2>
<p>With the plug-in dialog generation, we also special-cased some features
for export plug-ins. In particular, we tried to rework some of the
metadata logics and analyzed common points across various file formats.</p>
<p>This goes together with a more thorough work currently done by Jacob
Boerema on metadata handling. Some of this work will end up in the <span class="caps">GIMP</span>
2.10.x series, but the fundamental part might only be available in <span class="caps">GIMP</span> 3.</p>
<h2 id="updated-file-plug-ins">Updated file plug-ins<a class="headerlink" href="#updated-file-plug-ins" title="Permanent link">¶</a></h2>
<p>Only 4 plug-ins so far have benefited from the new generic dialog
generation <span class="caps">API</span>: the <span class="caps">PNG</span>, <span class="caps">JPEG</span>, <span class="caps">TIFF</span>, and <span class="caps">FLI</span> plug-ins. In the most
extreme case, we shaved 600 lines of code off the <span class="caps">JPEG</span> plug-in code!</p>
<p><strong>Note</strong>: we just discovered (after release) crashes on these 4 plug-ins
😱, which escaped us because they only happen on Windows! Pretty bad,
but then it’s the joy of running unstable versions. We will fix these
as soon as possible.</p>
<figure>
<img src="https://www.gimp.org/news/2020/12/25/gimp-2-99-4-released/gimp-2.99.4-png-export.png" alt="GIMP 2.99.4: dialog generation on PNG plug-in"/>
<figcaption>
<em><span class="caps">PNG</span> export dialog fully generated in a few lines of code: you don’t see much difference? That’s the point!</em>
</figcaption>
</figure>
<h2 id="multi-threading-preferences-now-available-from-plug-ins">Multi-threading preferences now available from plug-ins<a class="headerlink" href="#multi-threading-preferences-now-available-from-plug-ins" title="Permanent link">¶</a></h2>
<p>The <em>Preferences</em> dialog proposes a “<em>Number of threads to use</em>” setting,
allowing people to customize the thread usage (defaulting to system
threads detection). This was only used by core processing until now. We
now make this setting available to plug-ins too through the
<code>gimp_get_num_processors()</code> <span class="caps">API</span> function, hence allowing plug-ins to
follow user preferences.</p>
<p>The <span class="caps">HEIF</span>/<span class="caps">AVIF</span> plug-in now uses this function (it was already
multi-threaded, yet was using system threads discovery with no way to
override the settings until now). The <span class="caps">JPEG2000</span> loading code, which was
single-threaded until now, has been ported to use this new function,
hence decoding images much faster.</p>
<h2 id="improved-plug-in-debugging">Improved plug-in debugging<a class="headerlink" href="#improved-plug-in-debugging" title="Permanent link">¶</a></h2>
<p>Lloyd Konneker refactored and improved the infrastructure to help
debugging plug-ins. It is now capable of telling the difference between
<code>WARNING</code> from <code>CRITICAL</code> bugs for better targeted debugging.</p>
<h2 id="dev-docs-on-porting-plug-ins-to-30">Dev docs on porting plug-ins to 3.0<a class="headerlink" href="#dev-docs-on-porting-plug-ins-to-30" title="Permanent link">¶</a></h2>
<p>We started documentation on <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/devel-docs/GIMP3-plug-in-porting-guide/">porting plug-ins to 3.0</a>
a month ago. We welcome anyone who follows the <span class="caps">API</span> changes to look
at already ported official plug-ins in our source repository and help
with the documentation side too. This is still moving <span class="caps">API</span>, yet most
of the core logics will stay the same, so the groundwork can be started already!</p>
<h1 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h1>
<p>Øyvind Kolås released babl 0.1.84 and <span class="caps">GEGL</span> 0.4.28 in time for <span class="caps">GIMP</span> 2.99.4.
Both releases mostly contain small fixes.</p>
<p>Apart from that, <span class="caps">GEGL</span> got two new operations:</p>
<ul>
<li><span class="dquo">“</span>gegl:paint-select” is the backbone of the new <em>Paint Select</em> tool
by Thomas Manni</li>
<li><span class="dquo">“</span>gegl:icc-load” treats .icc files as images, permitting loading
a space into the graph from a file.</li>
</ul>
<p>Øyvind Kolås spent lately much time on polishing his
<a href="https://pippin.gimp.org/ctx/">ctx</a> project (a new 2D vector graphics
platform/protocol/library/terminal we <a href="https://www.gimp.org/news/2020/01/04/gimp-and-gegl-in-2019/#whats-new-in-gegl-and-babl">talked
about</a>
a year ago.</p>
<h1 id="download-and-bug-reporting">Download and bug reporting<a class="headerlink" href="#download-and-bug-reporting" title="Permanent link">¶</a></h1>
<p>We need to remind that this is a development version and therefore bugs and even crashes are bound to happen. We do not advise using it in production.
Nevertheless we are encouraging early tests and welcome reports as well
as patches on issues. We fixed 21 reported issues (and many more
unreported ones) since <a href="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/"><span class="caps">GIMP</span> 2.99.2
release</a> and
we expect many are still unfixed. We probably even created some new ones as
the work on upcoming v3.0 continues!</p>
<p>Between the <span class="caps">GIMP</span> 2.99.2 and 2.99.4, 283 changes were committed to this
particular development branch of <span class="caps">GIMP</span> in a bit less than 2 months. This
was quite a busy end of the year!</p>
<p>A Windows installer and a Flatpak build are already available:</p>
<ul>
<li><a href="https://www.gimp.org/downloads/devel/">Development download page</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/gimp/">Bug tracker to report any issue</a></li>
</ul>
<p>Note: we still haven’t got a build for <span class="caps">GIMP</span> 2.99.4 for macOS, yet you may
have noticed our other news from the very same day about finally
<a href="https://www.gimp.org/news/2020/12/25/gimp-2-10-22-released-macos/">releasing <span class="caps">GIMP</span> 2.10.22 for
macOS</a>
(double Christmas 🎁!). So there’s a progress, and an unstable macOS package might happen soon too!</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>A lot more work is still in-progress, so as always, we welcome any
<a href="https://gitlab.gnome.org/GNOME/gimp/">contributions</a> to code, bug
investigation, themes, icons, documentation, translation, website, builds…</p>
<p><span class="caps">GIMP</span> is a community-developed software. You could think of everyone who contributed to this release as of friendly elves from all over the world
who helped making this holiday present happen.</p>
<p>Oh, and one last thing. We are well aware that <span class="caps">GTK</span> 4.0 is out now,
we have no plans switching over to it before <span class="caps">GIMP</span> 3.0 is released.</p>
<p>As usual, you can <a href="https://www.gimp.org/donating/">donate to the project</a>
and personally fund several <span class="caps">GIMP</span> developers who make this all possible
at all. This is also a way to give back and accelerate the development
of <span class="caps">GIMP</span> if you appreciate the project.</p>
<p>Have a very nice holiday season 🥳🎄 and the end of 2020, everyone!
This year was a complete mess for most people out there. But we do
sincerely hope that at least some things were good for you, and maybe
(just maybe) <span class="caps">GIMP</span> was one of those things. We sure wish 2021 to go easy
on everyone!</p>GIMP 2.10.22 Released for macOS2020-12-25T19:00:00+01:002020-12-25T19:00:00+01:00Wilbertag:www.gimp.org,2020-12-25:/news/2020/12/25/gimp-2-10-22-released-macos/<p><span class="dquo">“</span><span class="caps">GIMP</span> 2.10.22 available for macOS - and what is going on with Big Sur”</p><p><span class="caps">GIMP</span> 2.10.22 is now available as a <span class="caps">DMG</span> file from our <a href="https://www.gimp.org/downloads">downloads page</a>.</p>
<p>Many thanks to Des McGuinness, who updated the build enviroment created by
Alex Samorukov and succeeded in getting the current stable code built and notarized!</p>
<p>This brings all the changes and fixes since <span class="caps">GIMP</span> 2.10.14 to macOS users, who
had been limited to this increasingly outdated version for far too long. Several
of the changes are quite visible and noticable to users, so it is a good idea
to check the release notes for <span class="caps">GIMP</span>
<a href="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/">2.10.18</a>,
<a href="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/">2.10.20</a> and
<a href="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/">2.10.22</a> to get up
to date with the current versions.</p>
<h1 id="whats-going-on-with-big-sur">What’s going on with Big Sur<a class="headerlink" href="#whats-going-on-with-big-sur" title="Permanent link">¶</a></h1>
<p>It is not all well on the platform yet, though - with users upgrading to the latest macOS release, Big Sur, we started getting reports about performance and user interface issues.</p>
<p><a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/5989"><span class="caps">GIMP</span> being very slow</a> and <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/5952">invisible selection outlines</a> are reported most frequently. It is likely both are symptoms of the same underlying technical issue, that being the image window content being updated completely and far too frequently than necessary.</p>
<p>It feels really good to have active contributors to the macOS platform again, this gives us confidence that the issues can be investigated properly and, hopefully, mitigated or completely solved.</p>
<p>If you encounter any issue in addition to the two linked above, please let us know; the <a href="/bugs/">bugs</a> page explains how to do this. If you are unsure whether a bug is already known, you can search for them there, or have a look at <a href="https://gitlab.gnome.org/GNOME/gimp/issues?label_name%5B%5D=OS%3A+macOS+%2F+OSX">all the issues reported for the macOS platform</a>.
When in doubt, report it anyway, we will figure out duplicates and mark them accordingly.</p>
<p>Finally, please don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several <span class="caps">GIMP</span> developers</a>, as a way to give back and accelerate the development of <span class="caps">GIMP</span>.</p>This is 252020-11-21T00:00:00+01:002020-11-21T00:00:00+01:00Wilbertag:www.gimp.org,2020-11-21:/news/2020/11/21/25-years-of-gimp/<p>Exactly 25 years ago, Peter Mattis wrote a message to several newsgroups announcing a new image editor called <span class="caps">GIMP</span>.</p><p>Exactly 25 years ago, Peter Mattis <a href="/about/prehistory.html#november-1995-an-announcement" title="November 1995 Announcement">wrote a message</a> to several newsgroups announcing a new image editor called <span class="caps">GIMP</span>. </p>
<figure>
<img src="https://www.gimp.org/news/2020/11/21/25-years-of-gimp/2020-GIMP-25-th-birthday.jpg" alt="Happy 25th birthday GIMP! - Wilber and co. comics strip"/>
<figcaption>
<em>“Happy 25th birthday <span class="caps">GIMP</span>!” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<p>We’ve been really busy ever since!</p>
<ul>
<li>
<p>Had to come up with <span class="caps">GTK</span>, a user interface toolkit of our own. Did not expect whole desktop environments, like <span class="caps">GNOME</span> and Xfce, to become the result of that. <span class="caps">GTK</span> is now a self-contained project used by thousands of developers.</p>
</li>
<li>
<p>Surprisingly, got a few developers from Hollywood to write the beginnings of what became a new image processing engine called <span class="caps">GEGL</span>, now used by a few more software projects too. We still have barely scratched the surface of what’s possible with <span class="caps">GEGL</span>.</p>
</li>
<li>
<p>Introduced Wilber, a little cute mascot who traveled the world and, admittedly, did some kinky things. They grow up so fast! (<a href="/about/splash/">Check out the splash screen archive</a>)</p>
</li>
<li>
<p>Helped kickstart <a href="https://libregraphicsmeeting.org" title="Libre Graphics Meeting Website">Libre Graphics Meeting</a> as an extended version of our annual meetup in 2006. Made a lot of new friends every year since then.</p>
</li>
<li>
<p>Did our best to provide a sensible workflow to users by using common user interface patterns. That gave us a few questionable monikers like ‘Photoshop for Linux’, ‘free Photoshop’, and ‘that ugly piece of software’. We still can wholeheartedly agree with the latter one only!</p>
</li>
<li>
<p>Tried to do too many things at once with too few active developers to realistically get things done in a sensible timeframe. Made a lot of people think the project died while we were slaving away really. So we introduced some planning. It’s been paying off so far.</p>
</li>
<li>
<p>Made more people angry with software’s quirks than we’d like to. Got help on that from more passionate contributors than we expected to. We can certainly use more help still.</p>
</li>
<li>
<p>Got ourselves an animation project called <a href="https://film.zemarmot.net/en/" title="ZeMarmot animation project">ZeMarmot</a> to make a positive feedback loop involving artists and developers. Continue using our chat for conversation with artists, some of which put <span class="caps">GIMP</span> through <em>a lot</em>. That really helps.</p>
</li>
<li>
<p>Every day, we are one step closer to completing the boring yet extremely important work on refactoring <span class="caps">GIMP</span> to make way for great new things. Things that we’ve been meaning to do for a long time. Things that users have been expecting for an even longer time.</p>
</li>
</ul>
<p>The world is definitely a different place 25 years later. Louder, noisier, more demanding. Definitely less safe. But also full with warmth and humanity. We’ve seen waves of that washing up and down the rocky shores of <span class="caps">GIMP</span>.</p>
<p>We don’t really have any kind of big news for you to commemorate the anniversary. Sorry about that. We keep slaving away — in a more intelligent way these days, hopefully. But there might be cake.</p>Development release GIMP 2.99.2 is out2020-11-06T00:00:00+01:002020-11-06T00:00:00+01:00Wilbertag:www.gimp.org,2020-11-06:/news/2020/11/06/gimp-2-99-2-released/<p><span class="caps">GIMP</span> 2.99.2 marks the first step towards <span class="caps">GIMP</span> 3 based on <span class="caps">GTK3</span>.</p><p>The new unstable version of <span class="caps">GIMP</span>, 2.99.2, marks the first step towards
<span class="caps">GIMP</span> 3 based on the <span class="caps">GTK3</span> user interface toolkit.</p>
<p>Release highlights:</p>
<ul>
<li><span class="caps">GTK3</span>-based user interface, with native support for Wayland and HiDPI displays.</li>
<li>Major refactoring and cleanup</li>
<li>Multiple layers selection</li>
<li>More (color) space invasion</li>
<li>Render caching available for better performance</li>
<li>New plug-in <span class="caps">API</span></li>
<li>Plugins now possible with Python 3, JavaScript, Lua, and Vala</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-splash-2.99.2.jpg" alt="GIMP 2.99.2 splash screen by Aryeom, CC by-sa"/>
<figcaption>
<em><span class="caps">GIMP</span> 2.99.2 splash screen by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<div class="toc">
<ul>
<li><a href="#gtk3-based-ui"><span class="caps">GTK3</span>-based <span class="caps">UI</span></a><ul>
<li><a href="#high-pixel-density-displays">High pixel density displays</a></li>
<li><a href="#improved-input-devices-support">Improved input devices support</a></li>
<li><a href="#theming">Theming</a></li>
<li><a href="#wayland-support">Wayland support</a></li>
</ul>
</li>
<li><a href="#multi-layer-selection">Multi-layer selection</a></li>
<li><a href="#plug-in-api">Plug-in <span class="caps">API</span></a><ul>
<li><a href="#object-api">Object <span class="caps">API</span></a></li>
<li><a href="#gio-usage-for-file-handling"><span class="caps">GIO</span> usage for file handling</a></li>
<li><a href="#plug-in-declaration">Plug-in declaration</a></li>
<li><a href="#bindings">Bindings</a></li>
<li><a href="#goat-exercises">Goat exercises</a></li>
<li><a href="#developer-documentation">Developer documentation</a></li>
</ul>
</li>
<li><a href="#extensions">Extensions</a></li>
<li><a href="#space-invasion">Space invasion</a></li>
<li><a href="#render-caching">Render caching</a></li>
<li><a href="#improved-import-policies">Improved import policies</a></li>
<li><a href="#compact-sliders">Compact sliders</a></li>
<li><a href="#refactoring">Refactoring</a></li>
<li><a href="#packaging">Packaging</a><ul>
<li><a href="#beta-flatpak-available">Beta Flatpak available</a></li>
<li><a href="#windows">Windows</a></li>
<li><a href="#macos">macOS</a></li>
</ul>
</li>
<li><a href="#whats-next">What’s next</a></li>
</ul>
</div>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2-99-2-overview.jpg" alt="GIMP 2.99.2 with Coffee Run poster by Hjalti Hjálmarsson"/>
<figcaption>
<em><span class="caps">GIMP</span> 2.99.2 with <a href="https://cloud.blender.org/films/coffee-run">Coffee Run</a> poster by Hjalti Hjálmarsson, <a href="https://creativecommons.org/licenses/by/4.0/"><span class="caps">CC</span>-<span class="caps">BY</span> 4.0</a></em>
</figcaption>
</figure>
<h2 id="gtk3-based-ui"><span class="caps">GTK3</span>-based <span class="caps">UI</span><a class="headerlink" href="#gtk3-based-ui" title="Permanent link">¶</a></h2>
<p>The first difference will be visual as you will notice that <span class="caps">GIMP</span> got a
bit more of a modern look and it can also use some new widgets (instead
of redeveloping them on <span class="caps">GTK2</span>) as well as client-side window decorations
on various dialogs. But the aesthetic differences are far from being the
main appeal of <span class="caps">GTK3</span>.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.10.22-2.99.2.jpg" alt="GIMP 2.10.22 and 2.99.2 interfaces side by side"/>
<figcaption>
<em>Left: <span class="caps">GIMP</span> 2.10.22 - Right: <span class="caps">GIMP</span> 2.99.2</em>
</figcaption>
</figure>
<h3 id="high-pixel-density-displays">High pixel density displays<a class="headerlink" href="#high-pixel-density-displays" title="Permanent link">¶</a></h3>
<p>One of the main issues of <span class="caps">GTK2</span> was the absent support for high pixel
density displays (e.g. small screens with high resolution or big screens
with extremely high resolution) which has become more widespread,
especially among graphics professionals. <span class="caps">GIMP</span> 2.10 came with partial
workaround which was acceptable only in some limited cases but was not
really appropriate for intense use of the software.</p>
<p><span class="caps">GTK3</span> brings proper support to <span class="caps">GIMP</span> so it will follow your system-set scale settings.</p>
<p><em>Status</em>: done, some custom widgets might still need an update.</p>
<h3 id="improved-input-devices-support">Improved input devices support<a class="headerlink" href="#improved-input-devices-support" title="Permanent link">¶</a></h3>
<p>By “input device”, we are mostly talking about drawing tablets or
pen displays. In <span class="caps">GIMP</span> 2, their support had many shortcomings: you had to
plug the tablet before starting <span class="caps">GIMP</span>, enable each new device explicitly
in the settings and, worse, unplugging the tablet could lead to
instability of the software (though this issue got mostly worked around
on <span class="caps">GTK2</span> by <span class="caps">GIMP</span> developers in the v2.8 release series).</p>
<p><span class="caps">GIMP</span> 3 (hence this first development release) is bringing hotplug support,
which means: start <span class="caps">GIMP</span>, plug your tablet, done. You are ready to draw,
with pressure, tilt, and everything.</p>
<p>We are also trying to improve general support by making the advanced
configuration of input devices easier to set.</p>
<p>A while ago, we also experimented with support for touch gestures like
zooming, panning, rotating etc. We did not finish this work because we
realized this was not a priority compared to some other features.</p>
<p>Touch gestures are very nice and awesome but also sometimes become a burden.
Actually, many professional artists even disable touch sensitivity to
prevent unwanted input while working with a stylus (high-end tablets often
come with a physical switch for this nowadays, and this can also be disabled
in tablet settings). With this in mind, we have decided to not make it
a priority compared to some other work-in-progress. So we are not sure
whether specific gesture support will make it to <span class="caps">GIMP</span> v3.0. We do
welcome patches from anyone willing to make it one’s priority though.</p>
<p><em>Status</em>: some work needs to be done to simplify configuration dialog as
the support for legacy features is either not needed anymore or can be
done better. We might also want to add support for Wayland-specific
features related to input devices.</p>
<h3 id="theming">Theming<a class="headerlink" href="#theming" title="Permanent link">¶</a></h3>
<p>With <span class="caps">GTK3</span>, we also inherit its <span class="caps">CSS</span>-based theme format. Unfortunately
this means that all custom-made themes from past versions will be
incompatible with <span class="caps">GIMP</span> 3.0 and future releases. On the bright side,
this new theme format uses a very well known theming standard. This
should make it much easier to tweak <span class="caps">GIMP</span>’s interface to your needs and preferences.</p>
<p>Moreover, the symbolic icon themes are much better supported. They will
follow the theme-set foreground and background colors. If you ever had to
switch from a dark theme to a light one in <span class="caps">GIMP</span> 2.10, you probably
remember you also had to switch the symbolic icon themes manually. This
won’t be necessary anymore as symbolic icons will be recolored according
to your theme.</p>
<p>Finally, the “dark theme” is a core concept of <span class="caps">GTK3</span>, which means,
for instance, that even window decorations get recolored as you can
see in the screenshot above.</p>
<p>Also, a same theme could propose both a dark and a light variant, so the
<em>Theme</em> preferences page shows a <em>“Use dark theme variant if available”</em>
checkbox. Similarly, icon themes may propose both symbolic and color
icons. Which is why the <em>“Icon Theme”</em> preferences page has a <em>“Use
symbolic icons if available”</em> switch so that you could choose your
preferred style.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-themes.jpg" alt="Theme switching"/>
<figcaption>
<em>Switching to Dark or light themes with a single checkbox with icons recoloring to theme colors</em>
</figcaption>
</figure>
<p><em>Status</em>: waiting for theme contributors.</p>
<p>Code-side, changes related to theming are basically done. Now we need a
new default theme.
For now, <span class="caps">GIMP</span> 2.99.2 only lists the “System” theme, which lets <span class="caps">GIMP</span>
follow your system-wide <span class="caps">GTK</span> theme. This is a regression from 2.10 that
we intend to fix in time for <span class="caps">GIMP</span> 3.0 by reintroducing a default theme
with a neutral dark/light variant as well as a neutral middle-gray
custom theme.</p>
<p>The main issue with system themes is that they cover very basic desktop
use cases. Meanwhile, advanced graphics work requires a neutral gray theme
to avoid polluting your color perception. This is the main reason why
<span class="caps">GIMP</span> needs to default to a neutral color theme with symbolic icons.</p>
<p>Colored themes and icons are still an option, and, in fact, we are
pretty sure that the community will soon come up with good-looking
custom themes. This is a great way to contribute to <span class="caps">GIMP</span> as a non-developer!</p>
<h3 id="wayland-support">Wayland support<a class="headerlink" href="#wayland-support" title="Permanent link">¶</a></h3>
<p>The port to <span class="caps">GTK3</span> should normally give us Wayland support on Linux for free.
And it mostly does. Unfortunately, a few bugs have already been reported
for <span class="caps">GIMP</span> running on Wayland. Some of them are clearly blockers for releasing
<span class="caps">GIMP</span> 3 (such as various weird <span class="caps">GUI</span> bugs or <a href="https://gitlab.gnome.org/GNOME/gimp/-/issues/4092">huge memory leaks</a>). Others are less serious
but still are a bit embarrassing, like the one where the splash screen is
broken on HiDPI displays because Wayland doesn’t report scaling properly.</p>
<p>Until these issues are fixed, we don’t think we can safely claim that we
provide appropriate Wayland support. We will be grateful for all patches to
address that, whether they arrive to <span class="caps">GIMP</span>, <span class="caps">GTK</span>, or another relevant part
of the technology stack. If you are interesting in helping out, here is the
<a href="https://gitlab.gnome.org/GNOME/gimp/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Environment%3AWayland">list of Wayland-related bugs</a>.</p>
<p>Appropriate Wayland support also means we need to reimplement a few
features through so called portals. We have already done this for the
screenshot plug-in (using Freedesktop, <span class="caps">GNOME</span>, and <span class="caps">KDE</span> portals), and there
is some ongoing work to fix on-display color picking (already works in <span class="caps">KDE</span>,
doesn’t yet work with <span class="caps">GNOME</span> and Freedesktop portals).</p>
<p>As for the file portal, this is probably something that won’t happen
for <span class="caps">GIMP</span> 3.0, because we still require some features of the <span class="caps">GTK</span> file
dialog, but it might happen later with a planned redesign for improved
export process.</p>
<p><em>Status</em>: a few blocking bugs in particular require attention. We
welcome contributions.</p>
<h2 id="multi-layer-selection">Multi-layer selection<a class="headerlink" href="#multi-layer-selection" title="Permanent link">¶</a></h2>
<p>Managing a complex project with tens and hundreds of layers is now much
easier thanks to newly added multi-layer selection. <a href="https://film.zemarmot.net/en/">Aryeom</a>, the animation film director
working with the core team, has been asking for this since 2015, so
the <em>ZeMarmot</em> project finally made this happen. This is another
example of a successful close artist-developer collaboration: every feature
was carefully designed following discussions and was tested in production.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-multi-layer-selection.png" alt="Selecting multiple layers in Layers dockable"/>
<figcaption>
<em>Selecting 4 layers to organize them or transform them at once</em>
</figcaption>
</figure>
<p>The Layers dockable is now fully multi-selection aware, using the usual
interaction for multi-items selection (<code>Shift+click</code> for selecting a
range of layers and <code>Ctrl+click</code> for selecting or deselecting
non-contiguous layers). Organizational operations now work on all
selected layers, i.e. that you can move, reorder, delete, duplicate,
merge (and more…) all selected layers at once.</p>
<p>Several tools now also work on multiple selected layers. For instance
all transform tools (move, rotation, scale, perspective, unified
transform…) will transform all selected layers (in addition to the existing
layer links with the “chain” icon). You can also crop several layers at
once or copy-paste merged layers’ projection. Even the <em>Color Picker</em> tool
can now pick merged color from several layers (some kind of partial
“Sample merged” without having to hide unwanted layers).</p>
<p>These are just a few examples because this change affects a large part
of the code base: the concept of an active layer is prominent in every
action. You can read more about this in a <a href="https://www.patreon.com/posts/report-on-for-in-37266151">detailed development
report</a>.</p>
<p><em>Status</em>: this is a work in the progress.</p>
<p>Some features in <span class="caps">GIMP</span> still expect a single layer and need to be fixed
before the final release. It’s possible that we will inadvertently break
something while working on that, which is why it’s important that we do
more development releases. Moreover, we might extend the multi-item
selection to paths and channels soon.</p>
<p>Finally, painting and <span class="caps">GEGL</span> operations (filters) are still limited to
single layers. Adding ability to paint or run pixel operations on
several layers at once will probably require some additional interface
specification and designing to prevent undesired consequences like
extremely slow operation or the ability to cancel a long-running process.</p>
<h2 id="plug-in-api">Plug-in <span class="caps">API</span><a class="headerlink" href="#plug-in-api" title="Permanent link">¶</a></h2>
<p>We had to break the plug-in APi to introduce many improvements, although we
took a special care not to break things where it wasn’t necessary to do so.</p>
<p>Porting a single-file plug-in from <span class="caps">GIMP</span> 2.10 to <span class="caps">GIMP</span> 3 usually takes between
5 and 30 minutes. We are working on a porting documentation to be released
along with <span class="caps">GIMP</span> 3.</p>
<p>If you are a plug-in developer, one of the first steps you can take is
making sure you don’t use any deprecated functions. We compiled a <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/master/devel-docs/GIMP3-plug-in-porting-guide/removed_functions.md">list of functions removed and their
replacement</a>. You can already do this part of the port while still targeting <span class="caps">GIMP</span> 2.10.x versions.</p>
<h3 id="object-api">Object <span class="caps">API</span><a class="headerlink" href="#object-api" title="Permanent link">¶</a></h3>
<p>Among the noteworthy changes, we moved away from object IDs to real
objects. In particular in <span class="caps">GIMP</span> 3, <code>GimpImage</code>, <code>GimpItem</code>,
<code>GimpDrawable</code>, <code>GimpLayer</code>, <code>GimpVectors</code>, <code>GimpChannel</code> and <code>GimpPDB</code>
are objects (other classes of objects already exist or may be added later).</p>
<p>It brings safer programming by having typed objects whose class can be
easily verified, hence better error messaging (with IDs, which are
basically integers, having weird bugs because of improper IDs was not
uncommon and it was not always easy to track the bug).</p>
<p>Also object-programming implies class inheritance. Typically a
<code>GimpLayer</code> is also a <code>GimpDrawable</code>, itself a <code>GimpItem</code>. This means
you can use any methods from parent classes and easily test for class ownership.</p>
<p>A non-C consequence is that it enables bindings to adapt the <span class="caps">API</span> to
their own object model. Hence duplicating a <code>GimpImage</code> named for
instance <code>img</code> in Python 3 can be done with the quite pythonic <span class="caps">API</span> <code>img2
= img.duplicate()</code>.</p>
<p><em>Status</em>: object port is basically done. We also want to use object
signalling, which is a work-in-progress and should eventually allow to
connect signal handlers directly on objects, in order to manage events
from the core application (something impossible in <span class="caps">GIMP</span> 2, except by
regular polling).</p>
<h3 id="gio-usage-for-file-handling"><span class="caps">GIO</span> usage for file handling<a class="headerlink" href="#gio-usage-for-file-handling" title="Permanent link">¶</a></h3>
<p>Another change in our <span class="caps">API</span> is that paths are now handled as <code>GFile</code>,
which implies using the GLib/<span class="caps">GIO</span> <span class="caps">API</span>.</p>
<p>While it may seem a bit cumbersome (as it adds the additional step of
creating and managing a GFile), this allows much more robust file
handling. In particular, you won’t have to take care about path
character encoding (a real issue when developers just assume everyone
uses the same encoding as themselves) hence broken paths and
non-portable code. Also we don’t have to deal with difference of
operating systems regarding folder separation or file system notations.
Working with a <code>GFile</code> makes internal representation transparent and
file handling robust.</p>
<p>The second big advantage is that it means all such <span class="caps">API</span> gains any ability
of installed <span class="caps">GIO</span> modules, in particular loading or saving from/to remote
locations (even possibly through secure channels like <span class="caps">HTTPS</span>).
This opens a wide range of possibilities.</p>
<p><span class="caps">GIO</span> port of file handling had been done in the core code of <span class="caps">GIMP</span>, back
for <span class="caps">GIMP</span> 2.10 initial release. We are now bringing the advantages to
plug-in developers as well in <span class="caps">GIMP</span> 3.0.</p>
<p><em>Status</em>: done, except with legacy bindings.</p>
<p>Language bindings through GObject Introspection also have full access to
GLib/<span class="caps">GIO</span> <span class="caps">API</span> so they are already able to create GFile from paths or <span class="caps">URI</span>
without any problem.
Yet legacy manual bindings, such as <code>script-fu</code> (Scheme), don’t have
GFile access. We are working on it (a patch even already exists, but
needs to be reviewed).</p>
<h3 id="plug-in-declaration">Plug-in declaration<a class="headerlink" href="#plug-in-declaration" title="Permanent link">¶</a></h3>
<p>Some major changes have been done in the <span class="caps">API</span> to declare your plug-in.
This is now done by subclassing the <code>GimpPlugIn</code> class and overriding
some methods to list and document the created plug-in procedures. We
made a much cleaner and explicit <span class="caps">API</span> than the previous one which should
help plug-in developers.</p>
<p>The way your plug-in procedure’s arguments are now handled has also been
standardized, in particular using config <code>GObject</code> properties. This is
easier to deal with as a generic logics. Especially the same config
object allows us to generate many features. For instance, it will help
generate dialogs on demand for plug-ins who do not want to tinker with
<code>GTK</code> or other toolkit themselves. It also simplify and standardize
argument saving for subsequent calls or a same procedure.</p>
<p>Eventually this is also part of the base work for a future
recording/macro feature (very unlikely to be in <span class="caps">GIMP</span> 3.0, but this is
part of the ground work towards such feature) since we will be able to
reliably save the arguments used when running plug-ins.</p>
<p><em>Status</em>: though the main part of this <span class="caps">API</span> is done, more needs to happen
before the release, and in particular we are still tinkering with the
argument representation.</p>
<h3 id="bindings">Bindings<a class="headerlink" href="#bindings" title="Permanent link">¶</a></h3>
<p>We have introspected the full <span class="caps">API</span> through <a href="https://gi.readthedocs.io/en/latest/">GObject
Introspection</a>. It means that <span class="caps">GIMP</span>
<span class="caps">API</span> should be fully usable in a wide range of language bindings. We have
only tested a few so far, so we can confirm that <span class="caps">GIMP</span> can now be
scripted (additionally to C and C++ of course) with:</p>
<ul>
<li>Python 3</li>
<li>JavaScript</li>
<li>Lua</li>
<li>Vala</li>
</ul>
<p>One of the main differences with how <span class="caps">GIMP</span> used to be scriptable, with
Python 2 notably, is that a custom layer <span class="caps">API</span> is not needed anymore.</p>
<p>Also <span class="caps">GIMP</span> 2 bindings used to be made around the <span class="caps">PDB</span> protocol which is
only a subset of the full C <code>libgimp</code> <span class="caps">API</span>. The new bindings are built
around <code>libgimp</code> itself. Therefore plug-ins in Python 3, Javascript, Lua
or Vala (or any future introspected binding) will have the same
possibilities as C plug-ins. This is a bright new world for <span class="caps">GIMP</span> plug-in developers!</p>
<p>Another consequence is that the <span class="caps">API</span> is basically the same for all these
languages, apart for language idiosyncrasies.
For instance if finding an intersection of a drawable with a selection
in C is:</p>
<div class="highlight"><pre><span></span><code><span class="n">success</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">gimp_drawable_mask_intersect</span><span class="w"> </span><span class="p">(</span><span class="n">drawable</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">width</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">height</span><span class="p">);</span>
</code></pre></div>
<p>In Javascript, it will be:</p>
<div class="highlight"><pre><span></span><code><span class="kd">let</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="nx">intersect</span><span class="p">,</span><span class="w"> </span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="nx">width</span><span class="p">,</span><span class="w"> </span><span class="nx">height</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">drawable</span><span class="p">.</span><span class="nx">mask_intersect</span><span class="p">();</span>
</code></pre></div>
<p>Or again in Python 3:</p>
<div class="highlight"><pre><span></span><code><span class="n">intersect</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">height</span> <span class="o">=</span> <span class="n">drawable</span><span class="o">.</span><span class="n">mask_intersect</span><span class="p">()</span>
</code></pre></div>
<p>Another nice example is how C-type arrays, with an additional length
arguments are handled. As expected, the length argument does not exist
in a binding if the target language has an appropriate structure.
For instance, while you can copy from multiple drawables from a script with:</p>
<div class="highlight"><pre><span></span><code><span class="cm">/* Where @drawables is a C array of drawables, and @num_drawables</span>
<span class="cm"> * indicates the size of this array.</span>
<span class="cm"> */</span>
<span class="n">gimp_edit_copy</span><span class="w"> </span><span class="p">(</span><span class="n">num_drawables</span><span class="p">,</span><span class="w"> </span><span class="n">drawables</span><span class="p">);</span>
</code></pre></div>
<p>This can be done in Python 3 as (with <code>num_drawables</code> removed and C array
replaced by a Python list):</p>
<div class="highlight"><pre><span></span><code><span class="n">Gimp</span><span class="o">.</span><span class="n">edit_copy</span><span class="p">([</span><span class="n">drawable1</span><span class="p">,</span> <span class="n">drawable2</span><span class="p">,</span> <span class="n">drawable3</span><span class="p">])</span>
</code></pre></div>
<p>Not only do these binding now have access to the full <span class="caps">GIMP</span> <span class="caps">API</span>, but they
also have access to many more introspected APIs used as dependencies to
<span class="caps">GIMP</span>. For instance a plug-in can have access to the full GLib/<span class="caps">GIO</span>, <span class="caps">GTK</span>,
Pango, Cairo APIs as well as the babl and <span class="caps">GEGL</span> <span class="caps">API</span> (for easier pixel
manipulation and access to a massive range of existing operations). This
was one of the main limitation of the former Python 2 binding, which
could not manipulate pixels with <span class="caps">GEGL</span>.</p>
<p><em>Status</em>: some people are regretting the facilities provided by the
former Python 2 binding, such as automatic dialog creation. This
is worked on right now (some embryo of dialog generation has even
already landed in the development branch after 2.99.2 release) hence
should be available for the next development release. The best part is
that such <span class="caps">API</span> will be done on the main <span class="caps">API</span>, thus available to all
bindings, not just Python or Scheme.
This is one of the biggest advantages of introspected <span class="caps">API</span> compared to
manually maintained bindings: rather than reimplementing nice features
in every available binding, we will provide them in the main <span class="caps">API</span> so that
every developer can enjoy them, whatever your preferred language.</p>
<p>Finally Script-fu is not one of the introspected bindings (though there
is supposedly GObject Introspecting scheme bindings, but we haven’t
tested any yet) and still mostly works as its own extension. Yet issues
regarding some of the <span class="caps">API</span> changes have been raised (for instance the
inability to create <code>GFile</code> as discussed earlier) and will have to be
fixed before finale stable release.</p>
<h3 id="goat-exercises">Goat exercises<a class="headerlink" href="#goat-exercises" title="Permanent link">¶</a></h3>
<p>For each of the tested binding languages, we created a plug-in called
“Goat exercise”, which is a demo for creating plug-ins. You can call it
a “<em><span class="caps">GIMP</span> Hello World!</em>“.</p>
<p>Each Goat Exercise does exactly the same thing in its own language: it
creates a dialog with a label, buttons and a text view (<span class="caps">GTK</span>+ and
GLib/<span class="caps">GIO</span> demo); one of the buttons triggers a filter modifying the
active layer (<span class="caps">GEGL</span> demo and <span class="caps">GIMP</span> <span class="caps">API</span> demo); all this while showing its
own source code inside the text view (making it easy to inspect the code
from within <span class="caps">GIMP</span>) and with a button sending you to the repository file
(if you prefer to check out the last version, comfortably in your code editor).</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-goat-exercises.jpg" alt="Goat Exercise in 5 languages"/>
<figcaption>
<em>The 5 versions of the Goat Exercise plug-in in Python 3, Javascript, Lua, C and Vala</em>
</figcaption>
</figure>
<p>These plug-ins are quite important as we are planning to improve the
plug-in ecosystem with <span class="caps">GIMP</span> 3. They are the first step of
“self-documenting demo plug-ins” (while doing something a bit more
exciting that a bare “Hello World”).</p>
<p><em>Status</em>: current code of the Goat Exercise is not always up-to-date
with the most recent <span class="caps">API</span> yet as it is a moving target. These will be
updated before release.</p>
<h3 id="developer-documentation">Developer documentation<a class="headerlink" href="#developer-documentation" title="Permanent link">¶</a></h3>
<p>We have started to write down some documentation regarding plug-in
development in <span class="caps">GIMP</span> 3, and will progressively start to publish some
tutorials. Hopefully we will even be able to relaunch our developer
website that has been slowly decaying for too many years. We hope that
<span class="caps">GIMP</span> 3 will revitalize the <span class="caps">GIMP</span> plug-in ecosystem!</p>
<p><em>Status</em>: still at an early stage, we welcome more contributors to make
it possible.</p>
<h2 id="extensions">Extensions<a class="headerlink" href="#extensions" title="Permanent link">¶</a></h2>
<p>Extensions are a new file format that is simply a wrapper of data
(brushes, splash screens, patterns, dynamics…) or plug-ins, associated
with metadata (name, description, screenshots, version, requirements…).
The goal will be to allow plug-in developers to publish their work on
repositories for anyone to search third-party plug-ins,
install/uninstall, enable/disable and update them, all within <span class="caps">GIMP</span>.</p>
<p>The menu <code>Edit > Manage Extensions</code> shows the base dialog. In the
“System Extensions” tab in particular, you will notice an “Official Demo
Plug-ins” which is our first extension. It in fact bundles all the Goat
Exercises plug-ins we talked about earlier. If you switch if off, you
will notice after a restart (right now you have to restart <span class="caps">GIMP</span> to see
the effect) that the menu category <code>Filters > Development > Goat
Exercises</code> disappeared.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-goat-exercise-extension.png" alt="Goat Exercise as extension"/>
<figcaption>
<em>The Goat Exercises are themselves a system extension.</em>
</figcaption>
</figure>
<p>We’ll get back to talking about this feature after we’ve done more work
on it. In particular, we will provide documentation on how to create
extensions. It is definitely something plug-in and resource creators
should look forward to, as it will help share their creations with others.</p>
<p><em>Status</em>: still more work to do on the <span class="caps">GIMP</span> side, especially for
communicating with repositories, and much more work to be done for the
official repository and the website for extensions.</p>
<h2 id="space-invasion">Space invasion<a class="headerlink" href="#space-invasion" title="Permanent link">¶</a></h2>
<p><span class="dquo">“</span><em>Space invasion</em>” is the internal code name for the work originally
started in <a href="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/#prepare-for-the-space-invasion">2018</a>
whose goal was proper support of color space during core pixel
processing. In the <span class="caps">GIMP</span> 2.10 series, despite core color management
support, the profiles were sometimes lost during an operation processing
and only reintroduced on finale results, which may result in wrong
values in some cases.</p>
<p>Anyone interested to understand further the problematics can read
<a href="https://www.patreon.com/posts/20264674">Øyvind Kolås’s post</a> and in
particular the detailed associated <a href="https://gegl.org/NEWS.html#_gegl_0_4_6_2018_07_23">release notes for <span class="caps">GEGL</span>
0.4.6</a> where he
explains this really well.</p>
<p>Some of the improvements of this work have already been progressively
backported to various <span class="caps">GIMP</span> 2.10.x releases, but <span class="caps">GIMP</span> 3.0 should be the
culminating release where we hope to get this 100% right.</p>
<p><em>Status</em>: the development branch is much more advanced on this topic
than the 2.10 series, but some more work needs to be done. Various
aspects of <span class="caps">GIMP</span> still mostly expect or display sRGB-only values.</p>
<h2 id="render-caching">Render caching<a class="headerlink" href="#render-caching" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> 3 now has a render cache that keeps the result of scaling, color
management, display filters and shell mask (for tools like <em>Fuzzy Select</em>).
This results in much snappier user experience in comparison to the <span class="caps">GTK2</span>
version of <span class="caps">GIMP</span>.</p>
<p>There is now also a <em>Zoom Quality</em> setting in <em>Preferences -> Display</em>.
When set to <em>Fast</em>, <span class="caps">GIMP</span> will do a nearest neighbor interpolation from
the next bigger mipmap level instead of linear or box filtering. This
gives a slight and permanent boost to painting and all updates. We have
a few ideas to improve this further like reblitting in high quality
after a timeout.</p>
<p><em>Status</em>: done.</p>
<h2 id="improved-import-policies">Improved import policies<a class="headerlink" href="#improved-import-policies" title="Permanent link">¶</a></h2>
<p><strong>Color Profile Policy</strong> now exposes a new choice “<em>Convert to Preferred
Profile</em>” and the import dialog default “Convert” action will convert
the image to the preferred profile (if any was set, otherwise it falls
back to the built-in profile). Converting to the built-in profile will
still be available as a secondary action. If you want to always work with
a given profile, you can set up your preferred workflow as soon as importing
is done.</p>
<p>Moreover, a new <strong>Metadata Rotation Policy</strong> is exposed in the <em>Preferences</em>
dialog, next to the <em>Color Profile Policy</em> (in page <code>Preferences >
Image Import & Export</code>) with 3 options: “Ask what to do”, “Discard metadata
without rotating”, and “Rotate the image then discard metadata”.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-import-policies-prefs.jpg" alt="Import Policies"/>
<figcaption>
<em>Updated Color Profile policy and new Metadata rotation policy</em>
</figcaption>
</figure>
<p>The metadata rotation policy used to be handled on the <span class="caps">API</span> side, with
a dialog generated by <code>libgimpui</code> and saved in a global parasite.
The whole logics and <span class="caps">GUI</span> has been moved as core logics, similar to the
“Color Profile Policy”. This implies that plug-ins don’t even need to
handle this as it will happen as specified by the user automatically
on every new import.</p>
<p><em>Status</em>: done.</p>
<h2 id="compact-sliders">Compact sliders<a class="headerlink" href="#compact-sliders" title="Permanent link">¶</a></h2>
<p>The compact spin scale was introduced in <a href="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/#compact-sliders"><span class="caps">GIMP</span>
2.10.18</a>. In the 2.10 series, it was left as an optional feature which could
be deactivated in the <em>Preferences</em> dialog. In <span class="caps">GIMP</span> 3, this is now the
only possible behavior, with no options.</p>
<figure>
<img src="https://www.gimp.org/news/2020/11/06/gimp-2-99-2-released/gimp-2.99.2-compact-spin-scale.png" alt="Compact slider"/>
<figcaption>
<em>New compact slider is now default and only option</em>
</figcaption>
</figure>
<p>Please note that the bright blue color on the screenshot is not our
preference, it’s what the system theme dictates. This widget actually
uses <code>GtkProgressBar</code> colors by default. Therefore this can be adjusted
in a custom theme by changing <code>GtkProgressBar</code> colors or only the colors
in this specific widget (again, we welcome theme contributors!).</p>
<p><em>Status</em>: done.</p>
<h2 id="refactoring">Refactoring<a class="headerlink" href="#refactoring" title="Permanent link">¶</a></h2>
<p>While porting old features and implementing new ones, a lot of side work
has been done on the code structure. Many parts of the code base got
refactored for better maintenance.</p>
<p>Even when some port is not done yet, ground work may have been prepared,
such as the <code>GimpAction</code> interface to add a layer of abstraction to
<code>GtkAction</code> (preparing us to actually move away from it at a later
point which is one of the main remaining big ports for the move to <span class="caps">GTK3</span>).</p>
<p>Many other parts are constantly remodeled and improved as part of
a never-ending background work.</p>
<p><em>Status</em>: refactoring is always work in the progress, always was, always
will be. It never really stops.</p>
<h2 id="packaging">Packaging<a class="headerlink" href="#packaging" title="Permanent link">¶</a></h2>
<h3 id="beta-flatpak-available">Beta Flatpak available<a class="headerlink" href="#beta-flatpak-available" title="Permanent link">¶</a></h3>
<p>This release is available in the “beta” branch of our <a href="https://flathub.org/apps/details/org.gimp.GIMP">official Flathub
package</a>, which is a
hidden release branch (you won’t find this information on the public
web page). This command will allow you to install <span class="caps">GIMP</span> 2.99.2:</p>
<div class="highlight"><pre><span></span><code>flatpak install https://flathub.org/beta-repo/appstream/org.gimp.GIMP.flatpakref
</code></pre></div>
<p>From now on, you will be able to update to new development builds as
soon as they are available through this channel (if your desktop has
Flatpak integration, it might even check and propose you the updates automatically).</p>
<p>Note that Flatpak only allows one visible branch of a same application
at once. So if you installed both the stable and development releases
with Flatpak, your desktop in particular will only show either one or
the other. To switch the visible branch, run the relevant command among
the 2 proposed below:</p>
<div class="highlight"><pre><span></span><code>flatpak make-current --user org.gimp.GIMP beta
flatpak make-current --user org.gimp.GIMP stable
</code></pre></div>
<p>Some people also created shortcuts running the explicit command <code>flatpak
run org.gimp.GIMP//beta</code> (respectively <code>stable</code>) as workaround to get
icons for both versions.</p>
<h3 id="windows">Windows<a class="headerlink" href="#windows" title="Permanent link">¶</a></h3>
<p>As usual, we provide a Windows installer for <span class="caps">GIMP</span>, you will find it on the
<a href="https://www.gimp.org/downloads/devel/">Development Downloads page</a>.</p>
<p>Some features may be missing. In particular, you won’t find the
JavaScript binding on the Windows build because of the complexity of
some dependencies. We will fix this in future releases leading up
to <span class="caps">GIMP</span> 3.</p>
<h3 id="macos">macOS<a class="headerlink" href="#macos" title="Permanent link">¶</a></h3>
<p>Our macOS packager has still not fully returned, so unfortunately there
is no official macOS package. As always, we remind that <span class="caps">GIMP</span> is free/libre
software developed by community. Any of you can become an official package maintainer (and having several contributors would keep everyone safe).</p>
<p>If you are interested, we suggest to get in touch with us on our
<a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a> channel for developers, <code>#gimp</code>.</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>As you can see, a lot has been done (the <a href="https://gitlab.gnome.org/GNOME/gimp/-/blob/4f201556967d9e7c868601698e9e3d957c1c27ea/NEWS#L46"><code>NEWS</code></a>
file will also give a bit more details). The vast majority of the work
has already been done. What remains now is the final stroll. This is
however not such an idle walk in the park, as the final decisions and
attention to details is always the most difficult part. We want to
release a rock-solid <span class="caps">GIMP</span> v3 and need to pay a lot of attention to
details. This is where we are now and why we are releasing this first
development version.</p>
<p>This <a href="https://www.patreon.com/posts/what-remains-to-40087754">development report</a> lists pretty accurately all the remaining steps, and you’ll notice how it
actually follows quite well the changes in <span class="caps">GIMP</span> 2.99.2. The <span class="caps">API</span> part,
though going unnoticed to many users, is probably the major part which
we must absolutely get right before the release since our <span class="caps">API</span> is meant
to stay stable withing the 3.x series. Once we have it done, we will want
to keep existing interfaces of <code>libgimp</code> 3.0.0 functions unchanged unless absolutely necessary (i.e. unless we discover bugs that made a function
useless). This is likely to take a lot of our time.</p>
<p>There are definitely other parts where help will be crucial, whether it’s
plug-ins, core code, user interface, or application interface. So we do
need more eyes on this to resolve as many little issues as we can.</p>
<p>To conclude, we remind that you can <a href="https://www.gimp.org/donating/">donate to the project and
personally fund several <span class="caps">GIMP</span>
developers</a> who make this all possible
at all. This is also a way to give back and accelerate the development
of <span class="caps">GIMP</span> if you appreciate the project.</p>GIMP 2.10.22 Released2020-10-07T00:00:00+02:002020-10-07T00:00:00+02:00Wilbertag:www.gimp.org,2020-10-07:/news/2020/10/07/gimp-2-10-22-released/<p><span class="dquo">“</span>The file formats release!”</p><p><span class="caps">GIMP</span> 2.10.22 is a bug fix release, which for once contains mostly
maintenance changes in core code.</p>
<p>Release highlights:</p>
<ul>
<li>Improved <span class="caps">HEIC</span> and newly added <span class="caps">AVIF</span> support</li>
<li>Numerous improvements in the <span class="caps">PSP</span> file format support</li>
<li>Improved multi-layer <span class="caps">TIFF</span> exporting</li>
<li>Better handling of the Exif “Orientation” metadata</li>
<li>New “Sample merged” option in the <span class="caps">GEGL</span> operation tool</li>
</ul>
<p>On official plug-in side though, there are quite a few improvements, in
particular, better support of image formats, as well as support for one
new format, <span class="caps">AVIF</span>.</p>
<figure>
<img src="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/202010-wilber-and-co.jpg" alt="Wilber Learning never stops! - Wilber and co. comics strip"/>
<figcaption>
<em>“Wilber Learning never Stops!” by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="improvements">Improvements<a class="headerlink" href="#improvements" title="Permanent link">¶</a></h1>
<h2 id="file-formats">File formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<p>The highlight of this release is clearly the contributions on file
format plug-ins.</p>
<h3 id="heif-improved-heic-and-newly-added-avif-support"><span class="caps">HEIF</span>: improved <span class="caps">HEIC</span> and newly added <span class="caps">AVIF</span> support<a class="headerlink" href="#heif-improved-heic-and-newly-added-avif-support" title="Permanent link">¶</a></h3>
<p><span class="caps">AVIF</span> is the <span class="caps">HEIF</span> variant using <span class="caps">AV1</span> compression (instead of <span class="caps">HEVC</span> in the
same <span class="caps">HEIF</span> container format, which is the default and also called <span class="caps">HEIC</span>).
This format was highly awaited as being an <a href="https://en.wikipedia.org/wiki/AV1">open, royalty-free, video
coding format</a> developed by the
Alliance for Open Media.</p>
<p><span class="caps">AVIF</span> is already supported on the web in Firefox (experimentally, you
must enable <code>image.avif.enabled</code> in <code>about:config</code>), Chrome and Opera,
which makes it a serious contender as a web image format.</p>
<p>It is now supported by <span class="caps">GIMP</span>, both for import and export.</p>
<p>Not only this, but <span class="caps">HEIF</span> files (both <span class="caps">AVIF</span> and <span class="caps">HEIC</span>) can now be imported
and exported in high bit depth (10- and 12-bit per channel).</p>
<figure>
<img src="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/heif-avif-high-bit-depth.jpg" alt="AVIF and high bit depth HEIF support"/>
<figcaption>
<em><span class="caps">GIMP</span> 2.10.20 brings <span class="caps">AVIF</span> support, as well high-bit depth support.
It will also import <span class="caps">NCLX</span> profiles and metadata.</em>
</figcaption>
</figure>
<p>And finally, <span class="caps">NCLX</span> color profiles and metadata will now be properly imported.</p>
<p>These changes all happened thanks to the awesome contributions of Daniel Novomesky.</p>
<h3 id="psp"><span class="caps">PSP</span><a class="headerlink" href="#psp" title="Permanent link">¶</a></h3>
<p>The plug-in for reading <span class="caps">PSP</span> (Paint Shop Pro) files has received numerous
bug fixes and improvements. Raster layers from <span class="caps">PSP</span> images over
version 6 are now supported, as well as 16-bit integer, grayscale, and
indexed images.</p>
<p>Furthermore, <span class="caps">PSP</span> blend modes are now better converted to <span class="caps">GIMP</span> layer
modes for correct rendering.</p>
<p>The importer is also much more robust and is even able to fix errors of
some files which may have been wrongly exported by third party software.
It also handles some edge cases like zero-length layer names better.</p>
<p>All these improvements were made by Jacob Boerema, one of <span class="caps">GIMP</span> newest core contributors.</p>
<h3 id="tiff"><span class="caps">TIFF</span><a class="headerlink" href="#tiff" title="Permanent link">¶</a></h3>
<p>Multi-layer <span class="caps">TIFF</span> export got improved by allowing to crop layers to image
bounds in the exported image. Indeed, <span class="caps">TIFF</span> has no concept of global image
bounds, only layer bounds. Hence cropping the layers is the only way to
enforce the image bounds.</p>
<p>Obviously, this cropping may or may not be what you wanted and perhaps
you were expecting layers of various sizes. This is why the feature is
available as a new optional <em>Crop layers to image bounds</em> checkbox in
the export dialog.</p>
<p>There have been other bug fixes and improvements in the <span class="caps">TIFF</span> plug-in
as well.</p>
<h3 id="bmp-dds-jpeg-webp-xpm"><span class="caps">BMP</span>, <span class="caps">DDS</span>, <span class="caps">JPEG</span>, WebP, <span class="caps">XPM</span>…<a class="headerlink" href="#bmp-dds-jpeg-webp-xpm" title="Permanent link">¶</a></h3>
<p>Other file format supports were improved. In particular:</p>
<ul>
<li><span class="caps">BMP</span> always include color masks when exporting <span class="caps">BMP</span> with color space
info, as mandated by <span class="caps">BITMAPV5HEADER</span> specification.</li>
<li><span class="caps">DDS</span> import is now a bit more permissive, allowing to load some files
with invalid header flags regarding compression, while we are able to
know the right compression from other flags. This allows to recover
invalid <span class="caps">DDS</span> files exported by other software.</li>
<li><span class="caps">JPEG</span> and WebP detection improved.</li>
<li><span class="caps">XPM</span> does not export a “None” (transparent) color when unused.
Exporting an unused color was not a bug per-se but was not very well
handled by some third party software.</li>
</ul>
<h2 id="better-handling-of-exif-orientation-metadata">Better handling of Exif “Orientation” metadata<a class="headerlink" href="#better-handling-of-exif-orientation-metadata" title="Permanent link">¶</a></h2>
<p>In previous release, when an image with an “Orientation” tag was imported,
<span class="caps">GIMP</span> would propose to rotate the image or leave it as-is. If you denied
rotation, the image would keep the tag and retain it upon exporting.
So when you opened the edited image in other software, you’d get the
rotation you didn’t ask for.</p>
<p>The <em>new</em> policy is to remove the “Orientation” tag whether or not you
accept the rotation. Hence what you see in <span class="caps">GIMP</span> is what you will see
anywhere else after exporting.</p>
<h2 id="sample-merged-in-the-gegl-operation-tool"><span class="dquo">“</span>Sample merged” in the <span class="caps">GEGL</span> operation tool<a class="headerlink" href="#sample-merged-in-the-gegl-operation-tool" title="Permanent link">¶</a></h2>
<p>When some filters have a color property, their dialog usually exposes a
button allowing to pick a color directly on the canvas. Until now, it could
only pick from the active layer (the one you were editing).</p>
<p>All filters implemented as <span class="caps">GEGL</span> operations now show a <em>Sample merged</em>
checkbox in the <em>Tool Options</em> dockable (just below the <em>Sample average</em>
option). This allows color picking visible colors when necessary.</p>
<figure>
<img src="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/sample-merged-gegl-tool-options.jpg" alt="Sample merged in GEGL operations"/>
<figcaption>
<em>The new “Sample merged” options will allow to pick visible colors when relevant, for instance here with the “Colorize” operation.</em>
</figcaption>
</figure>
<h2 id="spyrogimp-plug-in">Spyrogimp plug-in<a class="headerlink" href="#spyrogimp-plug-in" title="Permanent link">¶</a></h2>
<p>Spyrogimp, the official plug-in to draw spyrograph patterns, now works
on grayscale images too and won’t clutter the undo history as much as it
used to.</p>
<h2 id="improved-indexed-conversion">Improved indexed conversion<a class="headerlink" href="#improved-indexed-conversion" title="Permanent link">¶</a></h2>
<p>This is actually a feature that arrived in <span class="caps">GIMP</span> 2.10.20, but we forgot
to mention it in the previous release notes. So let’s describe the changes here.</p>
<p>The conversion to an indexed image uses a median-cut algorithm to derive
a suitable palette for the image. Such algorithm computes each index to be
used as the average of colors in a 3D box in a color space, making the
result value drift away from the extremes.</p>
<p>This makes it nigh impossible to achieve pure white or black, even when
the original image contained these colors, like in scans of printed
documents or technical drawings.</p>
<p>We now counteract the drift by snapping the whitest color to white and
the blackest color to black if the resulting colors of median-cut are
sufficiently close to white or black <em>and</em> if the original image already
had some pure white or black.</p>
<figure>
<img src="https://www.gimp.org/news/2020/10/07/gimp-2-10-22-released/gimp-palette-conversion.jpg" alt="Comparison of palette creation"/>
<figcaption>
<em>Left is an original image in <span class="caps">RGB</span>, converted to a 6-palette indexed image in <span class="caps">GIMP</span> 2.10.18 (center) and 2.10.20 or later (right).</em>
</figcaption>
</figure>
<p><em>Note that the 2-color optimum palette case is special-cased not to use
this modified algorithm as we already provide a dedicated “black and
white (1-bit) palette” option which would do the same thing.</em></p>
<h1 id="configuration-and-defaults">Configuration and defaults<a class="headerlink" href="#configuration-and-defaults" title="Permanent link">¶</a></h1>
<h2 id="sample-merged-default-in-the-color-picker-tool">Sample merged default in the Color Picker tool<a class="headerlink" href="#sample-merged-default-in-the-color-picker-tool" title="Permanent link">¶</a></h2>
<p>After a small poll (which got 174 answers) on multiple social media
platforms, <em>Sample merged</em> option is now enabled by default in the
<em>Color Picker</em> tool. The idea is that it should now be less confusing to
beginners because they will be able to pick what they see rather than the
color in the active layer.</p>
<p>Of course for advanced users, it doesn’t change a thing as they
perfectly know how to toggle this option, both use cases being
useful at different times. This change does not affect anything other
than the defaults and does not modify how the feature works.</p>
<h2 id="foreground-select-tools-default-engine">Foreground Select tool’s default engine<a class="headerlink" href="#foreground-select-tools-default-engine" title="Permanent link">¶</a></h2>
<p>We changed the default matting engine of the <em>Foreground Select</em> tool
to <em>Matting Levin</em> as this engine performs better in most situations.</p>
<h1 id="debugging">Debugging<a class="headerlink" href="#debugging" title="Permanent link">¶</a></h1>
<p>The dashboard dockable now has a new option to record progressive
performance logs that contain complete information after each recorded
sample. This allows recording complete logs even in cases where they
can’t be properly terminated, such as when <span class="caps">GIMP</span> crashes or freezes
in the middle of the log.</p>
<p>Progressive logs are disabled by default, since they potentially
increase the sampling cost. They can be enabled through a toggle in the
log file dialog, or through <code>$GIMP_PERFORMANCE_LOG_PROGRESSIVE</code>
environment variable.</p>
<p>Moreover, verbose debug information (<code>gimp-2.10 -v</code> on command line,
or debug output) now displays Flatpak related information when it’s
relevant: the exact Flatpak build hash, the runtime version, the
installed Flatpak extensions, permissions, etc. This helps debugging
Flatpak builds.</p>
<h2 id="opencl-now-considered-experimental">OpenCL now considered experimental<a class="headerlink" href="#opencl-now-considered-experimental" title="Permanent link">¶</a></h2>
<p>Since <span class="caps">GIMP</span> 2.10.0, several <span class="caps">GEGL</span> operations have OpenCL code paths,
hopefully allowing faster processing. Unfortunately OpenCL situation is
not so idyllic because of the lack of contributions to improve our code
as well as faulty drivers.</p>
<p>In various cases, enabling OpenCL in <span class="caps">GIMP</span> could lead to instability. We
decided it was not acceptable anymore and moved the feature into the
<em>Playground</em> tab of the <em>Preferences</em> dialog. Technically it means that
the feature is hidden unless you run <span class="caps">GIMP</span> with <code>--show-playground</code>
command line option, so that anyone enabling this is really aware of the
instability of the feature. Hopefully we will be able at some point to
move this back into mainline <em>Preferences</em>.</p>
<h2 id="playground-not-visible-by-default">Playground not visible by default<a class="headerlink" href="#playground-not-visible-by-default" title="Permanent link">¶</a></h2>
<p>The <code>Playground</code> page in the Preferences is not visible anymore, unless
you run a development version of <span class="caps">GIMP</span>, or if you start a stable version
with the <code>--show-playground</code> command line option.</p>
<p>Nevertheless if you activated any of the unstable features from
<code>Playground</code>, then the page will always be shown (making it easy to find
the settings again if you need to disable it).</p>
<h1 id="gimp-ecosystem"><span class="caps">GIMP</span> ecosystem<a class="headerlink" href="#gimp-ecosystem" title="Permanent link">¶</a></h1>
<h2 id="plug-ins-and-manuals-in-flatpak-gimp">Plug-ins and manuals in Flatpak <span class="caps">GIMP</span><a class="headerlink" href="#plug-ins-and-manuals-in-flatpak-gimp" title="Permanent link">¶</a></h2>
<p>Our official Flatpak now has an extension point for plug-ins. This means
that anyone can now package third-party plug-ins as “Flatpak extensions”
and contribute them to the Flathub repository. Thanks to the contributor
Hubert Figuière, 7 very popular <span class="caps">GIMP</span> plug-ins are already available to
Flatpak users: <span class="caps">BIMP</span>, FocusBlur, Fourier, G’<span class="caps">MIC</span>, GimpLensfun,
LiquidRescale, and Resynthesizer.</p>
<p>The one-liner <span class="caps">CLI</span> call to install them all at once is (if <span class="caps">GIMP</span> is
already installed as Flatpak, and the Flathub repository is configured):</p>
<div class="highlight"><pre><span></span><code>flatpak<span class="w"> </span>install<span class="w"> </span>org.gimp.GIMP.Plugin.Resynthesizer<span class="w"> </span>org.gimp.GIMP.Plugin.LiquidRescale<span class="w"> </span>org.gimp.GIMP.Plugin.Lensfun<span class="w"> </span>org.gimp.GIMP.Plugin.GMic<span class="w"> </span>org.gimp.GIMP.Plugin.Fourier<span class="w"> </span>org.gimp.GIMP.Plugin.FocusBlur<span class="w"> </span>org.gimp.GIMP.Plugin.BIMP
</code></pre></div>
<p><em>Note</em>: Flathub does <em>not</em> yet provide a way to discover software
extensions directly on its web catalog. The following <span class="caps">CLI</span> call can be
used to search for <span class="caps">GIMP</span> plug-ins: <code>flatpak search org.gimp.GIMP.Plugin</code></p>
<p>Moreover, the <span class="caps">GIMP</span> manual will now be installed by default when
installing our Flatpak, but not in all languages. To install the manuals
in all available languages, run:</p>
<div class="highlight"><pre><span></span><code>flatpak<span class="w"> </span>install<span class="w"> </span>--reinstall<span class="w"> </span>flathub<span class="w"> </span>org.gimp.GIMP.Manual
</code></pre></div>
<p>Flathub statistics indicate that there are nearly 230K users of our
Flatpak package (with about 100K users updating <span class="caps">GIMP</span> within the first 2
weeks after a build update), which is pretty decent for a single package
format on <span class="caps">GNU</span>/Linux.</p>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>As usual, <span class="caps">GIMP</span> release is accompanied by <a href="http://gegl.org/babl/">babl</a>
(0.1.78, 0.1.80 and 0.1.82) and <a href="http://gegl.org/"><span class="caps">GEGL</span></a> (0.4.24 and 0.4.26)
releases, with various bug fixes.</p>
<p>It is to be noted that, even though <span class="caps">GIMP</span> <em>minimum</em> requirement is babl
0.1.78, we advise to build against the latest version if possible, i.e.
babl 0.1.82. This last version handles more complex parametric TRCs for
ICCv4, which means that without these changes, your color profile
conversion may be wrong in case you use a profile with these parameters.</p>
<h2 id="continuous-integration">Continuous Integration<a class="headerlink" href="#continuous-integration" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> <span class="caps">CI</span> process now runs a <code>distcheck</code> step, hence producing a fully
unit-tested source tarball without human interaction.</p>
<p>Continuous builds of the development version (future <span class="caps">GIMP</span> 3) for Windows
were already provided <a href="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/#continuous-integration">since <span class="caps">GIMP</span>
2.10.18</a>
but the downloadable archive was huge, containing many temporary files
from the build process and a wrapper to necessarily run at first launch.
We now implemented a new <span class="caps">CI</span> job with a slimmed-down and hopefully usable
build (if not please report, or better: send us patches!) and already
fully set up with no first launch process.</p>
<p>The idea came from the <a href="http://www.siril.org/">Siril</a> project
(astronomical image processing free software) after we helped them set
up a cross-compilation <span class="caps">CI</span>, similar to ours, using
<a href="https://pypi.org/project/crossroad/">crossroad</a>. A pretty good example
of exchange between free software where some code goes from one project
to another where it is improved, then back to the original one. 🥳</p>
<p>This will be very useful when asking people to test the development
version as a lot of bugs are fixed on it (often just because the <span class="caps">GTK2</span>
toolkit is simply not maintained anymore whereas the development version
using <span class="caps">GTK3</span> fixes the problem by itself). The following dynamic links
will always return you the last successful development builds:</p>
<ul>
<li>» <a href="https://gitlab.gnome.org/GNOME/gimp/-/jobs/artifacts/master/download?job=win64-nightly">Last development build of <span class="caps">GIMP</span> for Windows
64-bit</a> «</li>
<li>» <a href="https://gitlab.gnome.org/GNOME/gimp/-/jobs/artifacts/master/download?job=win32-nightly">Last development build of <span class="caps">GIMP</span> for Windows
32-bit</a> «</li>
</ul>
<p><em><span class="caps">NOTE</span> 1: test builds are for testing purpose only (as the name tells!).
They have not been human-tested, it relies on regularly modified
development code, and our automatic build process is still a bit young,
which means there may even be bugs specific to the build. So please do
not use it for production!</em></p>
<p><em><span class="caps">NOTE</span> 2: there are still a few known issues such as missing GObject
Introspection, i.e. that the Python 3/Javascript/Lua/Vala plug-ins won’t
work with this build (yet).</em></p>
<p><em><span class="caps">NOTE</span> 3: these builds are not provided with a fancy installer nor any
desktop integration (i.e. no shortcuts in menus, etc.). Just unzip the
archive, and double-click <code>gimp.cmd</code> or <code>gimp-2.99.exe</code> files.</em></p>
<p>These changes are all part of a more global work in progress to improve
development code testing as well as eventually automatize the release
procedure to be faster, easier, and more trustworthy.</p>
<h1 id="availability-of-macos-builds">Availability of macOS builds<a class="headerlink" href="#availability-of-macos-builds" title="Permanent link">¶</a></h1>
<p>Unfortunately, we don’t have good news for macOS users at this time.
The contributor who set up <span class="caps">CI</span> builds for making macOS releases and worked
on macOS-specific bugs in <span class="caps">GTK</span> is still unavailable. So far, no other
contributors stepped up to fill in. If you are interested to help out,
please contact us on the <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a> channel
for developers, #gimp, or the gimp-developer@
<a href="https://www.gimp.org/mail_lists.html">mailing list</a>.</p>
<h1 id="contributors">Contributors<a class="headerlink" href="#contributors" title="Permanent link">¶</a></h1>
<p>Contributors to this release are: Daniel Novomesky, David Russo,
Elad Shahar, Ell, Jacob Boerema, Jehan, Liam Quin, Michael Natterer,
Peter Oliver, luz.paz, sabri ünal, Sebastian Rasmussen, Simon McVittie,
space pudim, Øyvind Kolås.</p>
<p>Translators: Alan Mortensen, Alexandre Prokoudine, Anders Jonsson,
Andika Triwidada, Asier Sarasua Garmendia, Baurzhan Muftakhidinov,
Boyuan Yang, Christian Kirbach, Daniel Mustieles, Jordi Mas,
Julien Hardelin, Marco Ciampa, Milo Ivir, Piotr Drąg, Rodrigo Lledó,
Sabri Ünal, sicklylife, Stephan Woidowski, Tim Sabsch, Yuri Chornoivan.</p>
<p>We also thank lillolollo, nmat, and Michael Schumacher for triaging bug
reports, and Julien Hardelin for updating the user manual.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>During the same time span, specific work on the development version
(future <span class="caps">GIMP</span> 3.0) continued, including:</p>
<ul>
<li>Multi-layer selection support added in the Layers dockable and taken
into account by many tools and features.</li>
<li>Several <span class="caps">API</span> improvements:<ul>
<li><span class="caps">PDB</span> functions can be called more easily from one plug-in to
another in language bindings;</li>
<li>image rotation is now handled by core <span class="caps">GIMP</span> when importing new
images (similarly to how color profile importing happens) and
a new “<em>Rotation policy</em>” setting is made available in Preferences;</li>
<li>GObject Introspection for GimpUI now discards the <code>gimp_ui</code> prefix
when relevant (i.e. <code>gimp_ui_init()</code> will be <code>GimpUi.init()</code> rather
than <code>GimpUi.ui_init()</code>);</li>
<li>Vala GObject Introspection binding improved;</li>
<li>New concept of “argument sync” to GimpProcedure so that procedure
arguments can be synced with an image parasite of the same name.</li>
</ul>
</li>
<li>Finally, some bug fixing on Windows, e.g. fixing <span class="caps">CSS</span> theme loading.</li>
<li>Twain plug-in for Windows ported to v3 <span class="caps">API</span>. It was the last C plug-in
which was still totally unported, which means all official plug-ins
are now at least ported at a usable state (if not necessarily to the
latest <span class="caps">API</span> as it is still a moving target).</li>
<li>A few improvements to handle smaller screen (which ironically became
even more of a problem with HiDPI scaling being enabled on middle-end
display resolutions).</li>
<li>Former Python 2 specific <span class="caps">API</span> (<code>pygimp</code>) has now been fully removed and
all former Python plug-ins have been ported to Python 3 and new <span class="caps">GIMP</span> 3
<span class="caps">API</span> (this work started over a year ago and is now finished, with a lot
of help from Elad Shahar). The new way to make Python plug-ins is
streamlined, following the same logics as for other supported
languages (C/C++, Python 3, Lua, Vala and Javascript so far).</li>
<li>Some Wayland bug hunting done (still more to go).</li>
<li>GimpSpinScale styling improved and the new style is now unique (old
non-compact style is not available anymore, unlike in <span class="caps">GIMP</span> 2.10.x).</li>
<li>Usability of the Input Devices editor has been improved.</li>
</ul>
<p>The user interface is now available in two more languages in the development
branch (first new languages since <a href="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/#a-new-localization-marathi">Marathi support was added back in <span class="caps">GIMP</span>
2.10.6</a>):
Kabyle and Central Kurdish. Please note though that these two additional
translations are not yet present in the <span class="caps">GIMP</span> 2.10 series. With these,
<span class="caps">GIMP</span> will be available in 83 languages. It is a very good opportunity
to remind that translators are doing a tremendous job.</p>
<p>Also with new file format support (<span class="caps">AVIF</span>), various major file format
improvements, new programming languages for plug-ins, our little
Wilber is really getting very studious lately, learning many new things!</p>
<p>Finally, please don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to
give back and accelerate the development of <span class="caps">GIMP</span>.</p>GIMP 2.10.20 Released2020-06-11T00:00:00+02:002020-06-11T00:00:00+02:00Wilbertag:www.gimp.org,2020-06-11:/news/2020/06/11/gimp-2-10-20-released/<p><span class="dquo">“</span><span class="caps">GIMP</span> 2.10.20 comes with new features as well as important bugfixes.”</p><p><span class="caps">GIMP</span> 2.10.20 comes with new features as well as important bugfixes.</p>
<p>Release highlights:</p>
<ul>
<li>Tool-group menus can now expand on hover</li>
<li>Non-destructive cropping now available by cropping the canvas rather than actual pixels</li>
<li>Better <span class="caps">PSD</span> support: exporting of 16-bit files now available, reading/writing channels in the right order</li>
<li>On-canvas controls for the <em>Vignette</em> filter</li>
<li>New filters: <em>Bloom</em>, <em>Focus Blur</em>, <em>Lens Blur</em>, <em>Variable Blur</em></li>
<li>Blending options now built into filter dialogs</li>
<li>Over 30 bugfixes</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/20200607-covid19.jpg" alt="We wish you all the best health! - Wilber and co. comics strip"/>
<figcaption>
<em>We wish you all the best health! by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="toolbox-updates">Toolbox updates<a class="headerlink" href="#toolbox-updates" title="Permanent link">¶</a></h1>
<p>We listened to users’ feedback on introducing tool groups in the toolbox in the previous release. A lot of people told us they appreciated the change in general but were quite averse to having to click to open the list of tools in a group. The new release adds the option to show the tool-group menu as soon as the mouse hovers over the toolbox button, without having to click it. This option is enabled by default when the toolbox is arranged in a single column, but it can be enabled for arbitrary toolbox layouts, or disabled entirely, through the <em>Toolbox</em> page of the <em>Preferences</em> dialog.</p>
<p>Additionally, when not using the new behavior, toolbox tooltips now list all the tools in a group, to improve their discoverability.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-toolbox-tooltip.jpg"
alt="List of tools in a tool group"/>
</figure>
<h1 id="basic-non-destructive-cropping">Basic non-destructive cropping<a class="headerlink" href="#basic-non-destructive-cropping" title="Permanent link">¶</a></h1>
<p><span class="caps">GIMP</span> now provides a kind of a non-destructive cropping behavior by default. Instead of deleting pixels that you cropped out and thus changing both the layer and the canvas, it will simply resize the canvas. If you export such an image, the resulted file will only have what you see within canvas boundaries.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-non-destructive-crop.jpg"
alt="Non-destructive cropping"/>
</figure>
<p>The benefit of that is (at least) threefold:</p>
<ul>
<li>You can revert to the original uncropped version by going to <code>Image -> Fit Canvas to Layers</code>. None of your edits between cropping and uncropping will disappear.</li>
<li>If you save your project as an <span class="caps">XCF</span> file, you can close the file and even quit <span class="caps">GIMP</span> and still be able to remove cropping and then crop differently at any time later. </li>
<li>When you are on the fence about your cropping decision, you can view pixels that you cropped out by going to <code>View -> Show All</code>.</li>
</ul>
<p>If you want the old “destructive” behavior back, simply tick the ‘Delete cropped pixels’ checkbox in <em>Crop</em> tool’s settings.</p>
<h1 id="new-and-improved-filters">New and improved filters<a class="headerlink" href="#new-and-improved-filters" title="Permanent link">¶</a></h1>
<p>The <em>Vignette</em> filter now has on-canvas controls to visually manipulate the geometry of the vignette rather than enter numeric values in a dialog.</p>
<p>Whichever vignette shape you pick, you will always have control for the inner area that stays unchanged, the border of the vignette where pixels stop changing, and the medium point between the two. Dragging the mouse pointer anywhere outside of the outer control will result in rotating the vignette shape.</p>
<p>In addition, there are two new shapes, ‘Horizontal’ and ‘Vertical’.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-vignette.jpg"
alt="Vignette filter"/>
</figure>
<p>There are three new filters all related to imitating out-of-focus blur.</p>
<p><em>Variable Blur</em> takes a layer or channel as an input mask to decide which pixels should be blurred (at what percentage of user-defined maximum blur intensity) and what pixels should stay unchanged, and then blurs pixels with Gaussian Blur.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-variable-blur.jpg"
alt="Variable Blur filter"/>
<figcaption>
<em>Featured image by <a href="https://500px.com/Armadeus">Raphaël Bacco</a>.</em>
</figcaption>
</figure>
<p><em>Lens Blur</em> does the same but provides a far more realistic imitation of the out-of-focus blur, including the partial occlusion of sharp foreground objects by highlights blurred in the background. You also have control of how much highlights are affected.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-lens-blur.jpg"
alt="Lens Blur filter"/>
</figure>
<p><em>Focus Blur</em> provides a simple user interface to out-of-focus blurring using the same on-canvas controls that the updated <em>Vignette</em> filter has. You can choose between <em>Gaussian Blur</em> and <em>Lens Blur</em> as blurring methods. One of the uses for the filter is creating miniature fakes out of regular photos — the effect originally achieved by using a tilt-shift lens that changes the plane of focus.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-focus-blur.jpg"
alt="Focus Blur filter"/>
<figcaption>
<em>Featured image by Matt McNulty.</em>
</figcaption>
</figure>
<p>New <em>Bloom</em> filter applies an effect that looks a lot like what you can get with the <em>Soft Glow</em> filter but, unlike, <em>Soft Glow</em>, it doesn’t decrease saturation. Technically, <em>Bloom</em> isolates the highlights region, feathers it, and then recombines it with the original image.</p>
<figure>
<img src="https://www.gimp.org/news/2020/06/11/gimp-2-10-20-released/gimp-2-10-20-bloom.jpg"
alt="Bloom filter"/>
<figcaption>
<em>Featured image by <a href="https://sites.google.com/site/thebrockeninglory/">Brocken Inaglory</a>.</em>
</figcaption>
</figure>
<h1 id="filter-dialog-improvements">Filter dialog improvements<a class="headerlink" href="#filter-dialog-improvements" title="Permanent link">¶</a></h1>
<p>The options dialog of <span class="caps">GEGL</span> filters now provides a new <em>Blending Options</em> section, which allows controlling the blending-mode and opacity with which the filter is applied.
This replaces the <em>Fade</em> functionality, which was removed in version 2.10.10.</p>
<p>Filter previews now remain cached even when toggled off, allowing for quickly switching between the original and filtered views.</p>
<h1 id="better-psd-support">Better <span class="caps">PSD</span> support<a class="headerlink" href="#better-psd-support" title="Permanent link">¶</a></h1>
<p>While <span class="caps">GIMP</span> could already load 16-bits-per-channel <span class="caps">PSD</span> files, high-bit-depth images can now be exported using 16-bits per channel as well.</p>
<p>In addition, channels are now exported in the correct order, and with their original colors.</p>
<h1 id="other-changes">Other changes<a class="headerlink" href="#other-changes" title="Permanent link">¶</a></h1>
<ul>
<li>Painting tools can now save and load opacity and blending mode to/from presets.</li>
<li>Canon <span class="caps">CR3</span> files are now properly recognized by <span class="caps">GIMP</span> and sent to your raw developer software of choice.</li>
<li>The <span class="caps">TWAIN</span> plug-in used for acquiring images via scanners has been slightly refactored and now supports 16-bit <span class="caps">RGB</span>/grayscale images.</li>
<li><span class="caps">PNG</span> and <span class="caps">TIFF</span> plug-ins now default to not saving color values when alpha channel is present and 0 itself. This is to address security concerns about using simple cutting to remove sensitive information.</li>
<li>The <span class="caps">PDF</span> plug-in now imports multi-page documents in bottom-first order, similar to animated formats, and also similar to defaults for <span class="caps">PDF</span> exporting. This brings consistency but breaks existing behavior in 3rd party scripts.</li>
</ul>
<h1 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h1>
<p>As usual, new <span class="caps">GIMP</span> release is accompanied by new releases of <a href="http://gegl.org/babl/">babl</a> and <a href="http://gegl.org/"><span class="caps">GEGL</span></a> libraries.</p>
<p>The new version of babl comes mostly with bug fixes and performance improvements like the use of <span class="caps">AVX2</span> instructions to convert gamma u8 data to linear float (making those conversions between 1.25x and 2.2x faster). It also features <span class="caps">VAPI</span> file generation for Vala integration as the unstable branch of <span class="caps">GIMP</span> now supports creating new plug-ins with Vala.</p>
<p>The most important changes in <span class="caps">GEGL</span> are:</p>
<ul>
<li>New meta-data <span class="caps">API</span> that permits handling non-Exif metadata in different file loaders
and savers in a generic manner</li>
<li>Faster and softer cubic interpolation.</li>
<li><span class="caps">GEGL</span> now gracefully fails when running out of swap space.</li>
<li>The <code>hue-chroma</code> operation has been fixed to avoid modifying hue/chroma of neutrals</li>
<li>The <code>dropshadow</code> operation now has an option to grow the shadow. This means, with zero shift and larger shadow, you can stroke a text or a bitmap layer.</li>
</ul>
<p>On top of that, <span class="caps">GEGL</span> got several new operations, some of which we already described above. Others are:</p>
<ul>
<li><code>border-align</code>: places a buffer within the borders of another one.</li>
<li><code>pack</code>: joins two buffers into one, with optional gap.</li>
<li><code>piecewise-blend</code>: uses a grayscale map as index into array of buffers used as <span class="caps">LUT</span> (required by new blur filters)</li>
<li><code>reset-origin</code>: moves upper left of extent to 0,0</li>
<li><code>band-tune</code>: parametric band equalizer for tuning frequency bands of image.</li>
</ul>
<h1 id="contributors">Contributors<a class="headerlink" href="#contributors" title="Permanent link">¶</a></h1>
<p>Contributors to this release are: Ell, Jehan, Jernej Simončič, lillolollo, luz.paz, Marco Ciampa, Michael Natterer, Michael Schumacher, Nikc, Øyvind Kolås, pesder, Sabri Ünal, Salamandar, Sergio Jiménez Herena, Simon Budig, T Collins, woob.</p>
<p>Translators: Alexandre Prokoudine, Anders Jonsson, Bruce Cowan, Cristian Secară, Daniel Korostil, Daniel Șerbănescu, Dimitris Spingos, Jiri Grönroos, Jordi Mas, Nathan Follens, Piotr Drąg, Rodrigo Lledó Milanca, Sabri Ünal, Seong-ho Cho, Tim Sabsch, Yuri Chornoivan, Georgy Timofeevsky.</p>
<p>We also thank lillolollo, nmat, and Michael Schumacher for triaging bug reports, and Julien Hardelin for updating the user manual.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>We are wrapping up the development in the <code>master</code> branch for v2.99.2, the first unstable release in the 2.99 series leading up to v3.0 some time in the future.</p>
<p>We know that this release is anticipated by various demographics of our users, from people doing digital painting (you can hotplug a graphic tablet now) to photographers using a 4K display (the icon size is right for them now) to people generally wishing to drop <span class="caps">GTK2</span> and Python 2 from their operating systems.</p>
<p>Having said that, there is a warning to make as well.</p>
<p>While we are looking forward to feedback and bug reports, we do not recommend upcoming v2.99.2 for use in production. There are both improvements and regressions from the 2.10.x series. Full details will be published when the release is out (soon).</p>
<p>For the time being, don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to give
back, and to accelerate the development of <span class="caps">GIMP</span>.</p>GIMP 2.10.18 Released2020-02-24T00:00:00+01:002020-02-24T00:00:00+01:00Wilbertag:www.gimp.org,2020-02-24:/news/2020/02/24/gimp-2-10-18-released/<p><span class="dquo">“</span>We skipped announcing 2.10.16 due to a critical bug. Together, the two updates deliver several major usability improvements, a new tool for transformations in 3D space, new release checker, and the usual amount of bug fixes.”</p><p>We skipped announcing 2.10.16 due to a critical bug. Together, the two updates deliver several major usability improvements, a new tool for transformations in 3D space, new release checker, and the usual amount of bug fixes.</p>
<p>Here are release highlights:</p>
<ul>
<li>Tools are now grouped in the toolbox by default</li>
<li>Sliders now use a compact style with improved user interaction</li>
<li>Vastly improved user experience for the transformation preview</li>
<li>Dockable areas now highlighted when a dockable dialog is being dragged</li>
<li>New 3D Transform tool to rotate and pan items</li>
<li>Much smoother brush outline preview motion on the canvas</li>
<li>Symmetry painting enhancements</li>
<li>Faster loading of <span class="caps">ABR</span> brushes</li>
<li><span class="caps">PSD</span> support improvements</li>
<li>Consolidated user interface for merging down and anchoring layers</li>
<li>Update check to notify users of new releases available</li>
<li>28 bug fixes, 15 translation updates</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-update-tools-group.jpg" alt="GIMP update brings tool groups, by Aryeom"/>
<figcaption>
<em>“<span class="caps">GIMP</span> update brings tool groups, by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="tools-now-grouped-by-default">Tools now grouped by default<a class="headerlink" href="#tools-now-grouped-by-default" title="Permanent link">¶</a></h1>
<p>Tools can now be grouped in the toolbox, and this option is enabled
by default.</p>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-tools-groups-ui.jpg"
alt="New compact style for sliders"/>
</figure>
<p>You can customize groups by creating new ones and dragging tools between
them. The changes will take effect immediately. Or you can disable
the grouping entirely. You’ll find configuration options on the
<em>Interface/Toolbox</em> page of the <em>Preferences</em> dialog.</p>
<p>Please note that the default order of tools in the toolbox is now different.
You can customize it as well. </p>
<h1 id="compact-sliders">Compact sliders<a class="headerlink" href="#compact-sliders" title="Permanent link">¶</a></h1>
<p>Sliders typically used in <span class="caps">GEGL</span>-based filters and tools’ options now have
a compact style by default: they take a lot less space vertically and have
a vastly improved interaction model.</p>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-compact-sliders-style.jpg"
alt="New compact style for sliders"/>
</figure>
<p>You can use multiple modifiers with either left-click or mouse wheel scrolling:</p>
<ul>
<li><strong>Left-click + drag</strong> changes a value with a default increment</li>
<li><strong>Shift + left-click + drag</strong> (or <strong>right-click + drag</strong>) changes a value
with a smaller step</li>
<li><strong>Ctrl + left-click + drag</strong> change a value with a larger step</li>
</ul>
<p>Here is the full reference:</p>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-new-slider-interaction_v6.png"
alt="New interaction model for the slider widget"/>
</figure>
<h1 id="docking-ux-improvements">Docking <span class="caps">UX</span> improvements<a class="headerlink" href="#docking-ux-improvements" title="Permanent link">¶</a></h1>
<p>The ‘You can drop dockable dialogs here’ message is now gone from the
toolbox, and other empty dockable areas. This used to annoy quite a few users
who used a single/double-column layout for the left panel.</p>
<p>But since we still need to hint where you can dock dialogs, whenever you drag
a dialog, all dockable areas will be highlighted.</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-docking-highlight.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-docking-highlight.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<h1 id="high-contrast-symbolic-theme-now-available">High-contrast symbolic theme now available<a class="headerlink" href="#high-contrast-symbolic-theme-now-available" title="Permanent link">¶</a></h1>
<p>Since releasing 2.10 in 2018, we received a lot of feedback that the symbolic
icon theme used by default doesn’t have enough contrast. We recently did
a quick poll on Twitter showing people a variation of the theme with more
foreground/background color contrast, and that certainly clicked with users.</p>
<p>Some of the feedback suggested, however, that a part of the demographic likes
the current contrast. So instead of pushing changes for everyone, we
introduced a new high-contrast symbolic theme. You can choose it in the
<em>Preferences</em> dialog, just like any other icon theme.</p>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-high-contrast-icons.png"
alt="New high-contrast icon themes"/>
</figure>
<p>The contrast is a compile-time variable that you can change prior to building
<span class="caps">GIMP</span> from source code. We see this as more of a dirty temporary solution.</p>
<p>With <span class="caps">GTK3</span>, it’s going to be a lot easier to make things configurable. In
particular, upcoming Inkscape 1.0 is featuring a new icon theme called
‘multicolor’ that makes a great use of <span class="caps">CSS</span> in <span class="caps">GTK3</span> and, while staying symbolic,
uses some color where it matters. We will be definitely looking closer at that approach.</p>
<p>To complement the new high-contrast variation of the symbolic theme, <span class="caps">GIMP</span> now
also draws a double black/white border around <span class="caps">FG</span>/<span class="caps">BG</span> indicator in the toolbox
to make that border more legible, especially in dark themes.</p>
<h1 id="transformation-preview-improvements">Transformation preview improvements<a class="headerlink" href="#transformation-preview-improvements" title="Permanent link">¶</a></h1>
<p>A new option called <em>Composited Preview</em> is now available for most
transformation tools. It enables the rendering of the transform preview
with the right position of the modified layer in the layers stack, as well
as with the correct blending mode.</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-composited-preview.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-composited-preview.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>It comes with two sub-options.</p>
<p><em>Preview linked items</em> enables previewing changes to all linked items
like layers rather than just the currently selected item.</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-linked-layers-transformation.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-linked-layers-transformation.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p><em>Synchronous preview</em> render the preview as you move the mouse/stylus
pointer to change the transform instead of waiting for the movement to stop.
This provides instant feedback when <span class="caps">GIMP</span> can update the display fast enough,
which is usually not the case with large layers.</p>
<p><span class="caps">GIMP</span> now also automatically previews the clipping of transformed layers.
This allows reducing the amount of trial and error when e.g. rotating. </p>
<h1 id="new-3d-transform-tool">New 3D Transform tool<a class="headerlink" href="#new-3d-transform-tool" title="Permanent link">¶</a></h1>
<p>A new transform tool helps changing the perspective of a layer or panning
it in 3D space. You can set a vanishing point, then rotate the layer
in X, Y, and Z axes.</p>
<div class='fluid-video'>
<video width="1280" height="867" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-new-3d-transform-tool.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-new-3d-transform-tool.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>Multiple modifiers are available to constrain rotation and panning to just one
axis. The <em>Unified interaction</em> checkbox allows shifting the vanishing, as well
as panning and rotating without switching between tabs on the on-canvas
settings dialog. Finally, the <em>Local frame</em> option allows controlling the
transformation in the layer’s local frame of reference, instead of the global one.</p>
<h1 id="brush-outline-and-quality-improvements">Brush outline and quality improvements<a class="headerlink" href="#brush-outline-and-quality-improvements" title="Permanent link">¶</a></h1>
<p>The brush outline motion now feels smoother thanks to raising the refresh
rate from 20 <span class="caps">FPS</span> to a maximum of 120 <span class="caps">FPS</span>, as well as disabling the snapping to
dabs (new option, off by default). The former became a sensible idea thanks
to painting parallelization introduced by Ell several releases ago.
The snapping to brush dabs can be re-enabled on the <em>Image Windows</em> page
of the <em>Preferences</em> dialog. </p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-smooth-brush-outline-motion.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-smooth-brush-outline-motion.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>Additionally, the paint rate of the <em>Airbrush</em> tool was increased from 15 to a
maximum of 60 stamps per second, making paint buildup smoother. Note that, as a
result, the relation between the tool’s <em>Rate</em> parameter and the actual paint
buildup rate is now different, which may affect existing tool presets.</p>
<p>It’s also worth mentioning that the <em>Warp Transform</em> tool now respects
mouse pointer settings defined on the <em>Image Windows</em> page of the
<em>Preferences</em> dialog.</p>
<p>Furthermore, in order to improve the quality of downscaled brushes, paint tools
now use mipmaps for downscaling bitmap brushes. Instead of resampling
downscaled brushes directly from their original size, <span class="caps">GIMP</span> now creates a
box-filtered mipmap hierarchy for the original brush on demand, and uses the
closest mipmap level as the resampling source for downscaled brushes. This
significantly reduces aliasing in downscaled brushes, producing smoother results.</p>
<h1 id="symmetry-painting-enhancements">Symmetry painting enhancements<a class="headerlink" href="#symmetry-painting-enhancements" title="Permanent link">¶</a></h1>
<p>The <em>Mandala</em> symmetry painting mode now has a <em>Kaleidoscope</em> option, which
combines both rotation and reflection.</p>
<div class='fluid-video'>
<video width="1280" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-kaleidoscope.mp4" type="video/mp4">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-16-kaleidoscope.webm" type="video/webm">
Your browser does not support the video tag.
</video>
</div>
<p>When the <em>Kaleidoscope</em> option is enabled, subsequent strokes are mirrored
across the symmetry slice edges.</p>
<h1 id="faster-loading-of-abr-brushes">Faster loading of <span class="caps">ABR</span> brushes<a class="headerlink" href="#faster-loading-of-abr-brushes" title="Permanent link">¶</a></h1>
<p><span class="caps">GIMP</span> now spends a lot less time loading Photoshop’s brushes (<span class="caps">ABR</span>).
So if you use a lot of those, the startup time will become pleasantly
smaller, by order of a magnitude.</p>
<p>The technical explanation is that <span class="caps">GIMP</span> used to read the stream of <span class="caps">ABR</span>
data byte by byte, and now it uses scanline reading instead.</p>
<h1 id="psd-support-improvements"><span class="caps">PSD</span> support improvements<a class="headerlink" href="#psd-support-improvements" title="Permanent link">¶</a></h1>
<p><span class="caps">PSD</span> files now load faster mostly by eliminating excessive copies between
the original file and the project representation inside <span class="caps">GIMP</span>. For large
<span class="caps">PSD</span> files, the loading is now ~1.5 to ~2 times faster.</p>
<p>Moreover, <span class="caps">GIMP</span> is now capable of loading <span class="caps">CMYK</span>(A) <span class="caps">PSD</span> files (only 8-bit per
channel for now). It does so by converting pixels to <span class="caps">RGB</span>(A) float using
sRGB as the profile which, we know, is not good enough for serious work.</p>
<p>However, the plug-in is already using babl formats to specify and communicate
<span class="caps">CMYK</span> pixel format encodings with <span class="caps">GIMP</span>. This is a good first step towards better
<span class="caps">CMYK</span> support. It can be improved both on its own as well as integrate with
the ongoing work enabling general color-space support for babl formats in the
development branch.</p>
<h1 id="layers-dock-improvements">Layers dock improvements<a class="headerlink" href="#layers-dock-improvements" title="Permanent link">¶</a></h1>
<p>The <em>Layers</em> dialog finally consolidates the <span class="caps">UI</span> for merging layers and
attaching floating selections.</p>
<p>The bottom toolbar will now display a button for anchoring a floating
selection only when there is one. Otherwise, it will display a button
for merging layers.</p>
<figure>
<img src="https://www.gimp.org/news/2020/02/24/gimp-2-10-18-released/gimp-2-10-18-consolidated-merging-anchoring-ui.png"
alt="Consolidated UI for merging layers and anchoring floating selections"/>
</figure>
<p>You can also use several modifiers:</p>
<ul>
<li><strong>Shift</strong> will merge a layer group</li>
<li><strong>Ctrl</strong> will merge all visible layers</li>
<li><strong>Ctrl + Shift</strong> will merge all visible layers with last used values</li>
</ul>
<h1 id="update-check-to-notify-users-of-new-releases-available">Update check to notify users of new releases available<a class="headerlink" href="#update-check-to-notify-users-of-new-releases-available" title="Permanent link">¶</a></h1>
<p><span class="caps">GIMP</span> will now check every time on the start up if the version of <span class="caps">GIMP</span>
you have is the latest one available. It will do so by pinging
<span class="caps">GIMP</span>’s server for the version of the latest release, then comparing it
to the one installed on your computer.</p>
<p><span class="caps">GIMP</span> will also compare revisions of the installers so that users would
be aware of updated installers available. This is typically useful when
we update installers to provide fixes in 3rd party components that we use.</p>
<p>Finally, this feature is used when constructing a crash report. If you
experience a crash while using an outdated version of the program, <span class="caps">GIMP</span>
will now tell you so.</p>
<p>You can disable this feature on the <em>System Resources</em> page of the
<em>Preferences</em> dialog, and manually use the <strong>Check for updates</strong> button in the
<em>About</em> dialog.</p>
<p>It is also possible to build <span class="caps">GIMP</span> without this feature by passing the
<code>--disable-check-update</code> argument to the configure script.</p>
<h1 id="continuous-integration">Continuous Integration<a class="headerlink" href="#continuous-integration" title="Permanent link">¶</a></h1>
<p>Work on our continuous integration goes forward. We now implemented
automatic compilation of the main development branch both with the
legacy <code>autotools</code> build system and the new <code>meson</code> one. We also produce
an alternative build with the <code>Clang</code> compiler (additionally to the <span class="caps">GNU</span>
compiler <code>gcc</code>).</p>
<p>Moreover, for cross-platform development, we now produce Windows builds,
both for 32-bit and 64-bit, cross-compiled with the
<code>crossroad</code>/<code>Mingw-w64</code> tools.</p>
<p>All these automatic builds allow us to catch early on specific bugs
which may affect only certain configurations or platforms.</p>
<p>We hope it could also attract new developers wishing to dabble in
contributing. Looking at compilation warnings and trying to fix them may
be a very good first step into <span class="caps">GIMP</span> code. It would be much less
overwhelming than actually trying to dive into our huge code from scratch.</p>
<p>If you are interested, look into our <a href="https://gitlab.gnome.org/GNOME/gimp/pipelines"><span class="caps">CI</span>
pipelines</a> and look at
the last ones (preferably the <code>master</code> branch), then into one of the
various compilation jobs. We will be waiting for your
<a href="https://gitlab.gnome.org/GNOME/gimp/merge_requests">patches</a>!</p>
<h1 id="gegl-and-babl-changes"><span class="caps">GEGL</span> and babl changes<a class="headerlink" href="#gegl-and-babl-changes" title="Permanent link">¶</a></h1>
<p>There have been several improvements in <span class="caps">GEGL</span> since the release
that accompanied <span class="caps">GIMP</span> 2.10.14:</p>
<ul>
<li>Fixed potential data-corruption/crash in the tile-swap back-end on Windows
(the fix has already been made available in an updated installer for 2.10.14),
and improved tile-queuing speed.</li>
<li>The <span class="caps">GEGL</span> core now avoids running more thread jobs than there are
pixels to process.</li>
<li>The teardown of buffer caches is now faster when bounding box shrinks.</li>
<li>In-place processing now only happens if region of interest fits in
input abyss.</li>
<li>Edge handling was improved for gegl:distance-transform operation</li>
</ul>
<p>The babl library got build fixes, improved host <span class="caps">CPU</span> detection,
macOS-specific fixes, and Clang warning squelches.</p>
<h1 id="contributors">Contributors<a class="headerlink" href="#contributors" title="Permanent link">¶</a></h1>
<p>Code contributors to this release are: Alex Samorukov, Anders Jonsson,
band-a-prend, Cyril Richard, Elad Shahar, Ell, Elle Stone, Félix Piédallu, Jehan
Pagès, Jernej Simončič, lillolollo, Massimo Valentini, Michael Natterer, Nikc,
Øyvind Kolås, Pascal Terjan, woob.</p>
<p>Translators: Alan Mortensen, Alexandre Prokoudine, Anders Jonsson, Asier Sarasua
Garmendia, Balázs Meskó, Balázs Úr, Bruce Cowan, Daniel Korostil, Jordi Mas,
Julien Hardelin, Marco Ciampa, Piotr Drąg, Rodrigo Lledó Milanca, Ryuta Fujii,
Sabri Ünal, sicklylife, Sveinn í Felli, Tim Sabsch, Zander Brown.</p>
<p>As usual, we thank lillolollo, nmat, and Michael Schumacher for triaging
bug reports, and Julien Hardelin for keeping the user manual up to date.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>Our main objective is still completing the <span class="caps">GTK3</span> port and releasing <span class="caps">GIMP</span> 3.0.
This will take a while.</p>
<p>One of the ideas we are also exploring is improving the default
single-window layout and introducing named workspaces streamlined
for common use cases such as general editing, web design, digital
photography, painting etc.</p>
<p>If you customized your default <span class="caps">GIMP</span> layout, we encourage you to post
a screenshot and tell us about your use cases for <span class="caps">GIMP</span> that affected this
customization. You can do that either
<a href="https://twitter.com/GIMP_Official">on Twitter</a> or in the mailing list
for users.</p>
<p>Once we have a representative amount of samples for each common use case,
we will analyze the data and see if we can create default workspaces that
you can further tweak to your liking.</p>
<p>For the time being, don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to give
back, and to accelerate the development of <span class="caps">GIMP</span>.</p>GIMP and GEGL in 20192020-01-04T00:00:00+01:002020-01-04T00:00:00+01:00Wilbertag:www.gimp.org,2020-01-04:/news/2020/01/04/gimp-and-gegl-in-2019/<p>Here is what we did in 2019 and what we are planning to do in 2020.</p><p>Here is what we did in 2019 and what we are planning to do in 2020.</p>
<figure>
<img src="https://www.gimp.org/news/2020/01/04/gimp-and-gegl-in-2019/2020happynewyear.jpg" alt="Happy New Year 2020 from GIMP and ZeMarmot, by Aryeom"/>
<figcaption>
<em>“Happy New Year 2020”, by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="new-releases-and-features">New releases and features<a class="headerlink" href="#new-releases-and-features" title="Permanent link">¶</a></h1>
<p>2019 was the second year in a row where we shipped updates with new features in the stable branch. Our assumption was that this could change the public’s perception of the ongoing development efforts and shift the balance towards having more contributors. Here is why.</p>
<p>Between 2012 and 2018 (v2.8 and v2.10 releases respectively), we worked hard and added a ton of improvements and new features, we demoed them on social networks, mentioned them in annual reports etc., and yet we kept hearing how <span class="caps">GIMP</span> was dead because those changes were not in any stable releases. The same thing was happening before in the four years between v2.6 and v2.8.</p>
<p>Moreover, this was preventing people from contributing as they would have to wait a long time to see their contribution actually used. That wasn’t sparking an interest really.</p>
<p>Hence, after the v2.10 release, we kept adding new features at the same pace and started producing regular updates with those features, and all of a sudden we started hearing how we “picked up the pace”!</p>
<p>So this could be a lesson for other projects: arguing against the irrational is futile. Just don’t keep people waiting. If you did something good, share it!</p>
<p>Either way, there have been three updates in 2019. In terms of focus, here is what we targeted. The list below is far from being complete, these are just the most obvious changes.</p>
<h2 id="usability-improvements">Usability improvements<a class="headerlink" href="#usability-improvements" title="Permanent link">¶</a></h2>
<ul>
<li><span class="caps">GIMP</span> is finally able to optionally display and edit pixels outside the canvas boundaries.</li>
<li>There’s a new preference to allow the editing of hidden layers.</li>
<li>On-canvas handles of transformation tools can now be readjusted after zooming in or out.</li>
<li>The <em>Free Select</em> tool now creates a preliminary selection so that you could both copy and paste the selection and tweak positions of nodes when you do a polygonal selection. </li>
<li>You can now switch to a particular layer by pointing at its pixels and pressing <code>Alt + middle click</code>.</li>
<li>The <em>Curves</em> tool/filter now allows for more predictable editing and comes with two types of nodes instead of one to make more useful, more sophisticated curves.</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/01/04/gimp-and-gegl-in-2019/2019-report-curve-tool-update.jpg" alt="Updated Curve tool"/>
</figure>
<h2 id="better-tools">Better tools<a class="headerlink" href="#better-tools" title="Permanent link">¶</a></h2>
<ul>
<li>Parametric brushes now have 32-bit per channel precision.</li>
<li>The <em>Bucket Fill</em> tool got a new mode for smart colorization of line art, this is handy for comic artists.</li>
<li>The new <em>Sample Merged</em> option in the <em>Heal</em> tool allows non-destructive retouching of photos on a separate layer.</li>
<li>The <em>Foreground Select</em> tool got a new <em>Grayscale</em> preview mode.</li>
<li>The New <em>Offset</em> tool makes it possible to shift pixels and optionally wrap them around the edges so that you could create repeatable patterns.</li>
</ul>
<h2 id="better-performance">Better performance<a class="headerlink" href="#better-performance" title="Permanent link">¶</a></h2>
<ul>
<li>Faster painting: <span class="caps">GIMP</span> now doesn’t replace the paint buffer on every dab if the paint color/pixmap hasn’t changed.</li>
<li>Faster saving/exporting and layer groups rendering.</li>
<li>Grayscale workflows are now an order of magnitude faster thanks to changes in the babl library.</li>
</ul>
<h2 id="improved-file-formats-support">Improved file formats support<a class="headerlink" href="#improved-file-formats-support" title="Permanent link">¶</a></h2>
<ul>
<li>Due to popular demand, we merged the existing <span class="caps">DDS</span> plug-in originally developed by Shawn Kirst. But as none of us is a game developer, we appreciate further contributions from the community.</li>
<li>Layers are now optionally preserved when exporting to <span class="caps">TIFF</span>, and if you load a <span class="caps">TIFF</span> file with an unspecified channel, <span class="caps">GIMP</span> will now ask you how to handle it.</li>
<li><span class="caps">GIMP</span> now supports <span class="caps">ICC</span> profiles in <span class="caps">HEIF</span> images at both loading and exporting time when built with libheif v1.4.0 and newer. </li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2020/01/04/gimp-and-gegl-in-2019/2019-report-dds-exporting-options.png" alt="DDS exporting options"/>
</figure>
<h2 id="new-filters">New filters<a class="headerlink" href="#new-filters" title="Permanent link">¶</a></h2>
<p>A major addition here is the <em>Normal Map</em> filter that generates <a href="https://en.wikipedia.org/wiki/Normal_mapping">normal maps</a> commonly used in production of 3G graphics and games. It’s already usable for some workflows, and there’s a plan for further improvements.</p>
<p>We also provided direct access to more filters, developed in <span class="caps">GEGL</span> a couple of years ago:</p>
<ul>
<li><em>Bayer Matrix</em> (for ordered dithering) and <em>Linear Sinusoid</em> (useful for halftoning)</li>
<li><em>Newsprint</em>, a <span class="caps">GEGL</span> version of the old <span class="caps">GIMP</span> filter for halftoning, plus quite a few extras</li>
<li><em>Mean Curvature Blur</em> for edge-preserving blurring</li>
</ul>
<p>A few more filters, namely <em>Neon</em>, <em>Stretch Contrast</em>, and <em>Oilify</em> are finally on par with the original implementations and thus replaced them.</p>
<figure>
<img src="https://www.gimp.org/news/2020/01/04/gimp-and-gegl-in-2019/2019-report-normal-map.jpg" alt="New Normal Map filter"/>
</figure>
<h1 id="build-systems-ci-and-packaging">Build systems, <span class="caps">CI</span>, and packaging<a class="headerlink" href="#build-systems-ci-and-packaging" title="Permanent link">¶</a></h1>
<p>During 2019, we ported babl, <span class="caps">GEGL</span>, and the master branch of <span class="caps">GIMP</span> to the <a href="https://mesonbuild.com/">Meson</a> build system. While it’s of little relevance to end-users who rely on ready-to-use builds of <span class="caps">GIMP</span>, to developers it means much faster compilation time.</p>
<p>We also set up Gitlab-based continuous integration (<span class="caps">CI</span>) for all three projects, which gives us a few bonuses over the previously used Jenkins-based solution. One of them is that Windows builds are now available for every successful commit to <span class="caps">GIMP</span>’s master branch.</p>
<p>Over the year, Alex Samorukov contributed a bunch of improvements to the macOS version, including support for Catalina.</p>
<h1 id="development-in-the-unstable-branch">Development in the unstable branch<a class="headerlink" href="#development-in-the-unstable-branch" title="Permanent link">¶</a></h1>
<p>As you probably already know from the previous report, we manage to backport most of the new features form the unstable branch to the stable one. However, some changes are the result of refactoring and some changes rely on the tech not available in the <span class="caps">GTK2</span> stack.</p>
<p>One of the latter things is the entirely new object-based plug-ins <span class="caps">API</span>, with an extra bonus of preserving plugins’ settings across sessions. We expect more to happen there. This part of the work was done mostly by Michael Natterer and Jehan Pages.</p>
<p>The use of GObject introspection has more implications: we switched to Python 3 and made it possible to write new plug-ins in Lua and JavaScript.</p>
<p>Most recently, Jehan started working on a new feature that checks for availability of a newer version of the program and suggests downloading an update. It also integrates into the bug reporting dialog to tell the user if the version currently in use is out of date and the update may not have that bug anymore.</p>
<h1 id="whats-new-in-gegl-and-babl">What’s new in <span class="caps">GEGL</span> and babl<a class="headerlink" href="#whats-new-in-gegl-and-babl" title="Permanent link">¶</a></h1>
<p>There have been numerous changes in both <span class="caps">GEGL</span> and babl:</p>
<ul>
<li>further work on space invasion to streamline the handling of color spaces, in collaboration with Elle Stone and others;</li>
<li>a ton of changes in the standalone <span class="caps">GEGL</span> tool, making it suitable for node-based compositing and video playback;</li>
<li>far more sophisticated <span class="caps">CMYK</span> support, up to blending <span class="caps">CMYK</span> and <span class="caps">RGB</span> pixel data, reading and writing <span class="caps">CMYK</span> <span class="caps">TIFF</span> and <span class="caps">JPEG</span> files;</li>
<li>a better use of available <span class="caps">CPU</span> cores on more operations thanks to newly added dynamic computation of per-operation thread cost;</li>
<li>better memory management: when you close large images in <span class="caps">GIMP</span>, it will now free used memory a lot faster.</li>
<li>sharper output when downscaling images with the cubic sampler.</li>
</ul>
<p>Øyvind Kolås also started <a href="https://pippin.gimp.org/ctx/">ctx</a>, a new vector rasterizer project with <span class="caps">API</span> inspired by Cairo and <span class="caps">HTML5</span> canvas’ 2D rendering context, and sufficiently small resource footprint to provide modern vector graphics on many microcontrollers.</p>
<p>The ctx library already has support for floating point pixel formats, and that support is geared to end up generic for gray, <span class="caps">RGB</span>, <span class="caps">CMYK</span> and other multi-component formats. Lack of support for color spaces and pixel encodings beyond 8-bit sRGB in cairo has been a gap for <span class="caps">GEGL</span>/<span class="caps">GIMP</span> that ctx can end up filling.</p>
<h1 id="team-changes">Team changes<a class="headerlink" href="#team-changes" title="Permanent link">¶</a></h1>
<p>Most of the source code changes in all three projects are still coming from the usual suspects: Michael Natterer, Jehan Pages, Ell, Øyvind Kolås, and Thomas Manni. Nevertheless, there have been a few new contributors who seem interested in sticking around.</p>
<p>A significant part of the contributions towards the new build system and <span class="caps">CI</span> support came from Félix Piédallu and Salamandar.</p>
<p>We now also have a small dedicated team of people, frogonia and nmat, who triage bug reports on a regular basis and do user support on the <span class="caps">IRC</span> channel. Liam Quin who has been team member for a long time, now does the vast majority of user support on Facebook.</p>
<p>We are still lucky to have Julien Hardelin as the author of the user manual.</p>
<p>And, of course, we keep getting no small amount of translation updates from new and seasoned translators. In fact, since the v2.10.14 release, we now mention non-code contributors to the project in release notes.</p>
<h1 id="whats-next-in-2020">What’s next in 2020<a class="headerlink" href="#whats-next-in-2020" title="Permanent link">¶</a></h1>
<p>There is an agreement among team members that 2.99.x releases are long overdue. We are likely to tie loose ends and start shipping them soon.</p>
<h1 id="how-you-can-help">How you can help<a class="headerlink" href="#how-you-can-help" title="Permanent link">¶</a></h1>
<p>As usual, we appreciate both coding and non-coding contributions to <span class="caps">GIMP</span>, <span class="caps">GEGL</span>, and babl.</p>
<p>There are many things we want to improve and even redo completely. And while we do say that certain changes are targeted for v3.2 and beyond, anything goes really, especially with the master branch.</p>
<p><span class="caps">UI</span>/<span class="caps">UX</span> redesign? Shapes drawing? Clips for layers? Better text tool? Layer filters? Vector layers? You name it. Talk to us, if you want to work on any of that.</p>
<p>And if you don’t do programming, there’s plenty of work to do all around: updating and translating the <a href="https://gitlab.gnome.org/GNOME/gimp-help">user manual</a>, writing new tutorials, updating <a href="https://l10n.gnome.org/module/gimp/#gimp-2-10">incomplete translations</a>, even making great art with <span class="caps">GIMP</span> and telling people about it.</p>GIMP 2.10.14 Released2019-10-31T00:00:00+01:002019-10-31T00:00:00+01:00Wilbertag:www.gimp.org,2019-10-31:/news/2019/10/31/gimp-2-10-14-released/<p><span class="caps">GIMP</span> 2.10.14 is now released with major enhancements and 45 bugfixes.</p><p><span class="caps">GIMP</span> 2.10.14 arrives with bugfixes and various enhancements.</p>
<p>Here are release highlights:</p>
<ul>
<li>Basic out-of-canvas pixels viewing and editing</li>
<li>Optional editing of layers with disabled visibility</li>
<li>Foreground Select tool: new <em>Grayscale</em> Preview Mode</li>
<li>Newly added <em>Normal Map</em> filter</li>
<li>27 old filters ported to use <span class="caps">GEGL</span> buffers</li>
<li><span class="caps">HEIF</span>, <span class="caps">TIFF</span>, and <span class="caps">PDF</span> support improvements</li>
<li>Better loading of corrupted <span class="caps">XCF</span> files</li>
<li>Grayscale workflows order of magnitude faster</li>
<li>macOS Catalina compatibility</li>
<li>45 bugfixes, 22 translation updates</li>
</ul>
<figure>
<img src="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/gimp-2-10-14-wilber-and-co-out-of-canvas.jpg" alt="Wilber paints out-of-canvas, by Aryeom"/>
<figcaption>
<em>“Wilber paints out-of-canvas”, by <a href="https://film.zemarmot.net">Aryeom</a>, Creative Commons by-sa 4.0</em>
</figcaption>
</figure>
<h1 id="out-of-canvas-viewing-and-editing">Out-of-canvas viewing and editing<a class="headerlink" href="#out-of-canvas-viewing-and-editing" title="Permanent link">¶</a></h1>
<p>Not being able to view and edit data outside the canvas boundary used to be
a deal breaker in quite a few use cases. So this is going to be a bit of
a breakthrough moment for quite a few users.</p>
<figure>
<img src="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/gimp-2-10-14-out-of-canvas.jpg" alt="Out-of-canvas view"/>
<figcaption>
<em>Out-of-canvas pixels visible in the Show All mode, with both layer and canvas boundary cues enabled</em>
</figcaption>
</figure>
<p>This is what has changed:</p>
<ul>
<li>There is now a new <em>Show All</em> mode accessible via the <em>View</em> menu that
reveals all pixels outside the canvas boundary.</li>
<li>This mode uses alpha checkerboard for canvas padding, but you can configure
<span class="caps">GIMP</span> to temporarily or permanently use the usual padding color instead.</li>
<li>You can also enable canvas boundary cue display (dotted red line).</li>
<li>Color- and patch-picking, bucket-filling, and transforming now works outside
the canvas. Which means you can crop past the canvas boundary or pick a source
patch from outside the canvas area to heal an area inside the canvas.</li>
</ul>
<p>This is basically the first shot at the previously missing feature set,
so expect more to land to <span class="caps">GIMP</span> at some point in the future. Making selection
tools work outside the canvas sounds like a sensible next stop. Then maybe we
can seriously talk about boundless canvas.</p>
<p>Most of the work on this was done by Ell.</p>
<h1 id="new-image-mode-in-transform-tools">New Image mode in transform tools<a class="headerlink" href="#new-image-mode-in-transform-tools" title="Permanent link">¶</a></h1>
<p>This new feature is closely related to out-of-canvas viewing and editing
and was also contributed by Ell.</p>
<p>Now when you e.g. rotate a single-layer image, you can use this transform
type to automatically expand the canvas to include all of rotated pixels
when using the default <em>Adjust</em> clipping mode. The switch is right next
to layer/path/selection toggle at the top of any transform tool’s settings.</p>
<p>It’s complemented by a new <em>Image > Transform > Arbitrary Rotation…</em> menu
entry, which activates the rotate tool in the <em>Image</em> mode.</p>
<h1 id="filters-can-now-extend-beyond-layer-boundary">Filters can now extend beyond layer boundary<a class="headerlink" href="#filters-can-now-extend-beyond-layer-boundary" title="Permanent link">¶</a></h1>
<p>The result of some filters can be larger than the original layer. A very common
example is Drop Shadow, which adds a shadow at an offset to the layer. Such
filters are no longer clipped to the layer boundary by default. Instead, the
layer is automatically resized as necessary when the filter is applied.</p>
<figure>
<img src="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/gimp-2-10-14-filter-clipping.jpg" alt="Filter Clipping option"/>
<figcaption>
<em>Filters are no longer clipped to the layer boundary by default</em>
</figcaption>
</figure>
<p>This behavior can be toggled through the new <em>Clipping</em> option in the filter dialog.</p>
<h1 id="invisible-layers-can-now-be-edited">Invisible layers can now be edited<a class="headerlink" href="#invisible-layers-can-now-be-edited" title="Permanent link">¶</a></h1>
<p>There is now a global toggle to enable the editing of layers with disabled
visibility (the eye icon in the layers docker). There was some
<a href="https://gitlab.gnome.org/GNOME/gimp/issues/2713">demand for it</a> from users,
and it was easy to do, so a new contributor, <em>woob</em>, added this feature.</p>
<h1 id="free-select-tool-update">Free Select tool update<a class="headerlink" href="#free-select-tool-update" title="Permanent link">¶</a></h1>
<p>The Free Select tool received further usability improvements. It now supports
using Alt+drag to quickly move, cut, and copy the selection, without having to
commit the selection first, similarly to the rest of the selection tools.</p>
<h1 id="foreground-select-tool-update">Foreground Select tool update<a class="headerlink" href="#foreground-select-tool-update" title="Permanent link">¶</a></h1>
<p>Thomas Manni contributed a new <em>Grayscale</em> preview mode to the
<em>Foreground Select</em> tool, which allows seeing the resulting mask in black
and white. The usual preview mode is now called <em>Color</em> and choosing the
color and opacity for the mask instead of imposing only 4 colors (red, green,
blue, grey).</p>
<h1 id="feather-selection-update">Feather Selection update<a class="headerlink" href="#feather-selection-update" title="Permanent link">¶</a></h1>
<p>The <em>Feather Selection</em> dialog has a new <em>Selected areas continue outside
the image</em> toggle, working similarly to the corresponding option in the <em>Shrink
Selection</em> and <em>Border Selection</em> dialogs. This option affects the border
behavior of the operation: when toggled, selected areas along the image border
are assumed to continue past the image bounds, and are therefore not affected by
the feather.</p>
<h1 id="new-filters">New filters<a class="headerlink" href="#new-filters" title="Permanent link">¶</a></h1>
<p>Thanks to Ell, <span class="caps">GIMP</span> is now shipping with a simple <em>Normal Map</em> filter
(<em>Filters > Generic</em>) that generates normal maps from height maps. This is
early initial work, a lot more is expected to be done.</p>
<figure>
<img src="https://www.gimp.org/news/2019/10/31/gimp-2-10-14-released/gimp-2-10-14-normal-map.jpg" alt="Normal Map filter"/>
<figcaption>
<em>Normal Map filter used on a rock texture from <a href="https://cc0textures.com/view.php?tex=Rock26"><span class="caps">CC0</span> Textures</a> project</em>
</figcaption>
</figure>
<p><span class="caps">GIMP</span> now provides direct access to more <span class="caps">GEGL</span> filters:</p>
<ul>
<li><em>Bayer Matrix</em> (for ordered dithering) and <em>Linear Sinusoid</em> (useful for
halftoning), also both created by Ell, are in the <em>Filters > Render > Pattern</em> menu.</li>
<li><em>Newsprint</em> (<em>Filters > Distorts</em>), by Øyvind Kolås, is a <span class="caps">GEGL</span> version of
the old <span class="caps">GIMP</span> filter for halftoning, plus quite a few extras.</li>
<li><em>Mean Curvature Blur</em>, by Thomas Manni, can be helpful to do edge-preserving blurring.</li>
</ul>
<p>Also, more <span class="caps">GEGL</span>-based filters with on-canvas preview have replaced old <span class="caps">GIMP</span>
counterparts: <em>Neon</em> (<em>Filters > Edge-Detect</em>), <em>Stretch Contrast</em>
(<em>Colors > Auto</em>), and <em>Oilify</em> (<em>Filters > Artistic</em>).</p>
<p>Moreover, Michael Natterer did a simple 8-bit per channel port of 27 older
filters to use <span class="caps">GEGL</span> buffers (they are still <span class="caps">GIMP</span> filters, not <span class="caps">GEGL</span> operations).
Another filter, Van Gogh, got higher bit depth support (up to 32bpc float).</p>
<h1 id="heif-tiff-and-pdf-support-improvements"><span class="caps">HEIF</span>, <span class="caps">TIFF</span>, and <span class="caps">PDF</span> support improvements<a class="headerlink" href="#heif-tiff-and-pdf-support-improvements" title="Permanent link">¶</a></h1>
<p><span class="caps">GIMP</span> now supports <span class="caps">ICC</span> profiles in <span class="caps">HEIF</span> images at both loading and exporting
time when built with libheif v1.4.0 and newer. The exporting dialog also
features a new “Save color profile” checkbox.</p>
<p>The <span class="caps">TIFF</span> importer now asks how to process unspecified <span class="caps">TIFF</span> channels: use as
non-premultiplied alpha (used to be the default), as premultiplied alpha,
or just import as a generic channel. This fixes a known bug with 4-channel
(<span class="caps">RGBA</span>) <span class="caps">TIFF</span> files as <a href="https://discuss.pixls.us/t/gimp-changes-r-channel-when-it-should-not/8272">demonstrated here</a>.</p>
<p>Finally, the <span class="caps">PDF</span> exporter was fixed by Lionel to export text layers inside
layer groups as text correctly.</p>
<h1 id="better-loading-of-corrupted-xcf-files">Better loading of corrupted <span class="caps">XCF</span> files<a class="headerlink" href="#better-loading-of-corrupted-xcf-files" title="Permanent link">¶</a></h1>
<p><span class="caps">XCF</span> loading is now a bit more resilient to corruption: it doesn’t stop any
more at the first layer or channel error; instead it tries to load more
layers/channels to salvage as much data as possible from a corrupted <span class="caps">XCF</span> file.</p>
<h1 id="improvements-for-the-macos-version">Improvements for the macOS version<a class="headerlink" href="#improvements-for-the-macos-version" title="Permanent link">¶</a></h1>
<p>Alex Samorukov introduced various improvements to the macOS build of <span class="caps">GIMP</span>.</p>
<p>First and foremost, <span class="caps">GIMP</span> is now compatible with macOS Catalina and doesn’t have
the file permission issue that the 2.10.12 build had.</p>
<p>Secondly, the <span class="caps">DMG</span> will now open a window with an <code>Applications</code> shortcut
that explains how to install it.
He also added some fixes for command line users.</p>
<p>Finally, Alex built the new version with updated 3rd party components.
Among other things, this means support for color profiles in <span class="caps">HEIF</span>/<span class="caps">HEIC</span> files.</p>
<h1 id="nightly-builds-for-windows">Nightly builds for Windows<a class="headerlink" href="#nightly-builds-for-windows" title="Permanent link">¶</a></h1>
<p>Gitlab <span class="caps">CI</span> for <span class="caps">GIMP</span> now has a job building <span class="caps">GIMP</span> for Windows. It is
currently set up to make builds of the master branch only
(will eventually become <span class="caps">GIMP</span> 3.0).</p>
<p>To download a build:</p>
<ul>
<li>Go to the <a href="https://gitlab.gnome.org/GNOME/gimp/-/jobs">Jobs</a> section.</li>
<li>Find a job with the ‘gimp-x86_64-w64-mingw32-meson’ name.</li>
<li>Click ‘Download artifacts’ button to the right of the name.</li>
<li>Unpack the archive.</li>
<li>The binary <code>gimp-2.99.exe</code> is found under <code>gimp-prefix\bin\</code>, though
you might have to run <code>gimp-wrapper.cmd</code> instead.</li>
</ul>
<p>The build was set up by Jehan.</p>
<p>⚠️ Please note that we don’t recommend using the master branch for
production! This is mostly for testing purposes. ⚠️</p>
<h1 id="more-changes-and-acknowledgments">More changes and acknowledgments<a class="headerlink" href="#more-changes-and-acknowledgments" title="Permanent link">¶</a></h1>
<p>As usual, a complete list of changes is available in the
<a href="https://gitlab.gnome.org/GNOME/gimp/blob/gimp-2-10/NEWS"><span class="caps">NEWS</span></a> file. Starting
with this release, <span class="caps">NEWS</span> also features the list of all code and translation conbtributors.</p>
<p>We also thank frogonia, nmat, Michael Schumacher, and everyone else who helps us
triaging bug reports and providing technical support to end-users.</p>
<h1 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h1>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>Both babl and <span class="caps">GEGL</span> have been ported to the Meson build system and now use
Gitlab <span class="caps">CI</span> for continuous integration. This has little significance for
end-users but makes developers’ life easier in many ways.</p>
<p>There has been a ton of other changes and improvements in <span class="caps">GEGL</span> since the
previous release. Here are some of the most interesting ones.</p>
<p><span class="caps">GEGL</span> now makes a better use of available <span class="caps">CPU</span> cores on more operations
thanks to newly added dynamic computation of per-operation thread cost.</p>
<p>The built-in <span class="caps">GEGL</span> <span class="caps">UI</span> has superceded the older built-in ‘gcut’ video editor,
so the latter is now removed. Playing back video has been improved: <span class="caps">GEGL</span>
now uses nearest neighbor interpolation while decoding for realtime playback
of <span class="caps">HD</span> video content, it now also uses frame cache for rendered video frames.</p>
<p>Moreover, you can now also use external file managers to drag and crop
content into collections. See the updated
<a href="https://gitlab.gnome.org/GNOME/gegl/blob/master/docs/NEWS.txt"><span class="caps">NEWS</span></a> file
for more details.</p>
<p>As for babl, it now supports Yu’v’ (<span class="caps">CIE</span> 1976 <span class="caps">UCS</span>) color model, handles
grayscale <span class="caps">ICC</span> color profiles, and uses <span class="caps">AVX2</span> acceleration for some
linear-to-float conversions.</p>
<p>Alpha handling in babl has been slightly revamped. The library is now using the
terms ‘associated alpha’ and ‘separate alpha’, all of nonpremultiplied-,
premultiplied- and nonassociated- alpha are now considered deprecated <span class="caps">API</span>.
Conversions between associated and separate alpha have been dramatically improved.</p>
<p>Øyvind Kolås has a plan to add a per-image associated/separate alpha switch to
<span class="caps">GIMP</span>’s menu once another batch of code changes by Michael Natterer lands to the
master branch.</p>
<p>Here is a lightning talk at <span class="caps">CCC</span> where Øyvind investigates the data loss incurred
by going <code>separate alpha -> associated -> separate</code> or
<code>associated -> separate -> associated</code> and discovers that the special cased
transparent/emissive cases end up lossless:</p>
<div class='fluid-video'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/5F39sWoICqo?start=3140" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Øyvind also iterated on new conversions in babl that cover grayscale in all
precisions supported by <span class="caps">GIMP</span> for some things, this means that working in
grayscale is an order of magnitude faster than it was before the last babl release.</p>
<p>See <a href="https://gitlab.gnome.org/GNOME/babl/blob/master/NEWS">here</a> for more
information on the latest release.</p>
<p>Another new project worth mentioning is <a href="https://pippin.gimp.org/ctx/">ctx</a>,
also by Øyvind Kolås. It’s an <span class="caps">API</span> inspired by Cairo and <span class="caps">HTML5</span> canvas’ 2D
rendering context. It works on 32-bit microcontrollers like <span class="caps">ESP32</span> and
<span class="caps">ARM</span>-CortexM4, and is devised to scale to networked/remote and threaded software rendering.</p>
<p>The ctx library already has support for floating point pixel formats, and
that support is geared to end up generic for gray, <span class="caps">RGB</span>, <span class="caps">CMYK</span> and other
multi-component formats. The latter is one of the things we’ve been
missing in Cairo.</p>
<p>So this is a <a href="https://www.patreon.com/posts/ctx-flexible-for-30924875">very interesting project</a>
that we might consider using for <span class="caps">GIMP</span> further along the road. It will be
used in <span class="caps">GEGL</span>’s own <span class="caps">UI</span> soon enough.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>While we do maintain the 2.10.x branch and include new features from the
master branch, our full attention really goes to development of what will
become <span class="caps">GIMP</span> 3.0. We are considering the release of 2.99.2 in the next
few months to pave the way for regular alpha/beta releases leading up
to a major update of <span class="caps">GIMP</span>.</p>
<p>For the time being, don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several <span class="caps">GIMP</span> developers</a>, as a way to give
back and to accelerate <span class="caps">GIMP</span> development.</p>GIMP 2.10.12 Released2019-06-12T00:00:00+02:002019-06-12T00:00:00+02:00Wilbertag:www.gimp.org,2019-06-12:/news/2019/06/12/gimp-2-10-12-released/<p><span class="caps">GIMP</span> 2.10.12 released: free the bugs!</p><p><span class="caps">GIMP</span> 2.10.12 is mostly a bug fix release as some annoying bugs were
discovered, which is to be expected after a 2.10.10 with so many changes!</p>
<figure>
<img src="https://www.gimp.org/news/2019/06/12/gimp-2-10-12-released/20190526-bug-squashing.jpg" alt="Don't squash bugs, free them, by Aryeom"/>
<figcaption>
<em>“Don’t squash bugs… free them!”, by Aryeom, <span class="caps">CC</span> <span class="caps">BY</span>-<span class="caps">SA</span> 4.0 (a poetic approach to debugging)</em>
</figcaption>
</figure>
<p>Still, some very cool improvements are also available:</p>
<ul>
<li>Improved <em>Curves</em> tool</li>
<li>Layers support for <span class="caps">TIFF</span> exporting</li>
<li>Support for user-installed fonts on Windows</li>
<li>Faster painting</li>
<li>Improved symmetry painting support</li>
<li>Incremental mode in the <em>Dodge/Burn</em> tool</li>
<li><em>Free Select</em> tool now creates a preliminary selection</li>
<li>New <em>Offset</em> tool</li>
</ul>
<h1 id="improvements-and-features">Improvements and features<a class="headerlink" href="#improvements-and-features" title="Permanent link">¶</a></h1>
<h2 id="improving-curves-editing-and-curves-tool">Improving curves editing and Curves tool<a class="headerlink" href="#improving-curves-editing-and-curves-tool" title="Permanent link">¶</a></h2>
<h3 id="generic-curves-interaction">Generic curves interaction<a class="headerlink" href="#generic-curves-interaction" title="Permanent link">¶</a></h3>
<p>The interaction with curves in general has been greatly enhanced, which
is an improvement both to the <em>Curves</em> tool and all other places where
curves need tweaking (currently paint dynamics and input device settings):</p>
<h4 id="relative-motion-when-dragging-points">Relative motion when dragging points<a class="headerlink" href="#relative-motion-when-dragging-points" title="Permanent link">¶</a></h4>
<p>When dragging an existing curve point, it won’t “jump” anymore to the
cursor position upon pressing the button. Instead it will move
relatively to its current position as the cursor moves. This allows
selecting a point with a quick click without moving it, and adjusting
a point position more easily.</p>
<p>Additionally, when the cursor hovers above a point, or when dragging a
point, the coordinate indicator now show the point’s position, rather
than the cursor’s.</p>
<h4 id="snap-to-curve-when-holding-ctrl">Snap to curve when holding Ctrl<a class="headerlink" href="#snap-to-curve-when-holding-ctrl" title="Permanent link">¶</a></h4>
<p>When holding down <code>Ctrl</code> while adding or dragging a point, the
Y-coordinate will snap to the original curve. This is particularly
useful for adding points along the curve.</p>
<p>Likewise, the coordinate indicator shows the snapped coordinates.</p>
<h3 id="curves-tool-specific-interaction">Curves tool specific interaction<a class="headerlink" href="#curves-tool-specific-interaction" title="Permanent link">¶</a></h3>
<p>Additionally, some improvements are specific to the <em>Curves</em> tool:</p>
<h4 id="numeric-input-of-curves-tool-points">Numeric input of Curves tool points<a class="headerlink" href="#numeric-input-of-curves-tool-points" title="Permanent link">¶</a></h4>
<p>Two new spin-buttons labelled “<em>Input</em>” and “<em>Output</em>” are now available
in the <em>Curves</em> tool interface. They allow setting the selected point’s
coordinates numerically and accurately if needed.</p>
<h4 id="add-smooth-or-corner-curve-point-types">Add smooth or corner curve-point types<a class="headerlink" href="#add-smooth-or-corner-curve-point-types" title="Permanent link">¶</a></h4>
<p>Control points can now be either <strong>smooth</strong> or <strong>corner</strong> points.
Smooth points produce a smooth curve, while corner points result in
sharp angles (previously, all points were smooth and this is still the default).</p>
<p>Corner points are displayed using a diamond shape, instead of a circle
and the type can be changed in the <em>Curves</em> tool.</p>
<div class='fluid-video'>
<iframe src="https://www.youtube-nocookie.com/embed/fcemTCAfD2o" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<h2 id="tiff-now-has-layer-support"><span class="caps">TIFF</span> now has layer support!<a class="headerlink" href="#tiff-now-has-layer-support" title="Permanent link">¶</a></h2>
<p>Thanks to Tobias Ellinghaus, well known as a <a href="https://darktable.org/">darktable</a>
developer, <span class="caps">TIFF</span> can now export images without merging layers.</p>
<h2 id="support-of-user-installed-fonts-on-windows">Support of user-installed fonts on Windows<a class="headerlink" href="#support-of-user-installed-fonts-on-windows" title="Permanent link">¶</a></h2>
<p>Though not fully tested, we now have a temporary support of a new
Windows 10 feature. Windows 10 users indeed now have the ability to
<a href="https://blogs.windows.com/windowsexperience/2018/06/27/announcing-windows-10-insider-preview-build-17704/#kt29svdWTKQ4QIx3.97">install fonts without admin
permissions</a>
since a recent update.</p>
<p>Therefore we added this non-admin font folder to our search path when
running <span class="caps">GIMP</span>. It should be only a temporary workaround since eventually
this <a href="https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/144">should be
supported</a>
by <em>fontconfig</em>, the upstream library used to manage fonts.</p>
<p>Note also that it is not fully tested because of our lack of Windows
developers. Therefore we are mostly hoping it will work as expected, and
this is a good time to make a call again:</p>
<blockquote>
<p>Are you a Windows developer? Do you love <span class="caps">GIMP</span>? <a href="https://gitlab.gnome.org/GNOME/gimp/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=OS%3A%20Windows">Please contribute</a>!</p>
</blockquote>
<p>Seriously, none of our current developers use Windows and bugs are
piling up in our bug tracker for this platform (same can be said on
macOS by the way), whereas <span class="caps">GIMP</span> is so enjoyably stable on <span class="caps">GNU</span>/Linux. We
are happy to do the occasional good deeds, but there are limits to what
we can do for a platform we don’t use. On the other hands, we <strong>happily
welcome patches and new contributors</strong>!</p>
<h2 id="faster-painting">Faster painting<a class="headerlink" href="#faster-painting" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> now doesn’t replace the paint buffer on every dab if the paint
color/pixmap hasn’t changed. This results in faster painting on specific cases.</p>
<p>As a by-product of the change, the color-from-gradient dynamics is now
fixed when the image has a color profile.</p>
<h2 id="incremental-mode-in-the-dodgeburn-tool">Incremental mode in the Dodge/Burn tool<a class="headerlink" href="#incremental-mode-in-the-dodgeburn-tool" title="Permanent link">¶</a></h2>
<p>The <em>Dodge/Burn</em> tool got a new “<em>Incremental</em>” option which,
similarly to the <em>Paintbrush</em>, <em>Pencil</em>, and <em>Eraser</em> tools, applies the
effect incrementally as the pointer moves.</p>
<h2 id="free-select-tool-creates-preliminary-selection">Free Select tool creates preliminary selection<a class="headerlink" href="#free-select-tool-creates-preliminary-selection" title="Permanent link">¶</a></h2>
<p>One of <span class="caps">GIMP</span> 2.10.0 changes which annoyed many people was that the <em>Free
Select</em> tool was not creating a selection immediately when the region
was closed. One was forced to perform an additional confirmation step
(<code>Enter</code> or <code>double-click</code>).</p>
<p>This was done on purpose because we wanted to leave ability to tweak the
polygonal selection that is built into the <em>Free Select</em> tool. Yet it could
obviously be better, proof being the <em>Rectangle Select</em> tool which still
allowed to edit the rectangle even though a selection was pre-created.</p>
<p>The <em>Free Select</em> tool now works the same way: even though a preliminary
selection exists (allowing to directly copy or delete a contents without
additional step), you will still be able to edit this free selection as
long as you don’t start another selection nor change tools.</p>
<h2 id="new-offset-tool">New Offset tool<a class="headerlink" href="#new-offset-tool" title="Permanent link">¶</a></h2>
<p>New <em>Offset</em> tool shifts pixels and optionally wraps them around the edges
so that you could create repeatable patterns.</p>
<figure>
<img src="https://www.gimp.org/news/2019/06/12/gimp-2-10-12-released/gimp-2-10-12-offset-filter.png" alt="Offset filter"/>
<figcaption>
<em>New Offset tool used to make a repeatable heart pattern</em>
</figcaption>
</figure>
<p>There’s a simple on-canvas interaction available: just drag on the canvas
to shift the layer.</p>
<p>You can activate the new filter either via <code>Layer > Transform > Offset</code> menu,
or via <code>Shift+Ctrl+O</code> shortcut.</p>
<h2 id="moving-an-intersecting-pair-of-guides">Moving an intersecting pair of guides<a class="headerlink" href="#moving-an-intersecting-pair-of-guides" title="Permanent link">¶</a></h2>
<p>The <em>Move</em> tool can now move together an intersecting pair of guides. by
dragging the guides at their point of intersection. This is useful when
the guides are used to mark a point, rather than a pair of lines (e.g.,
as is the case for the mandala symmetry guides, which mark the
symmetry’s point of origin).</p>
<h1 id="bug-fixing">Bug fixing<a class="headerlink" href="#bug-fixing" title="Permanent link">¶</a></h1>
<p>Many bugs were fixed, some more severe than others (in particular a
few crashes), as well as some code cleaning, factorization, and so on.
The usual deal!</p>
<p>More than the new features, we actually thought these issues were enough
to warrant this new release.</p>
<p>Among most pesky bugs fixed:</p>
<ul>
<li>crashes for various reasons, with more crashes to fix yet;</li>
<li>various color management related bugs;</li>
<li>unwanted change of foreground and background colors in tools’ presets;</li>
<li>brush transformation improved and fixed in various places in symmetry
painting mode;</li>
<li>a few localization bugs, and most importantly broken translation
display for several supported languages (so far, we believe it to be a
bug in the Pango dependency);</li>
<li>some brush format bugs;</li>
<li>…</li>
</ul>
<p>And more. <span class="caps">GIMP</span> 2.10.12 is the result of about 200 commits in 2 months!
We will focus below on two specific bug fixing which deserve mentioning.</p>
<h2 id="improved-symmetry-painting-support">Improved symmetry painting support<a class="headerlink" href="#improved-symmetry-painting-support" title="Permanent link">¶</a></h2>
<p>The symmetry painting backend got some improvements, which resulted in a
few fixes, in particular some artifacts could occur with big brushes or
in the <em>Clone/Heal</em> tool when the brush was cropped to the bounds of a
drawable. These are now fixed.</p>
<p>In the <em>Ink</em> tool as well, the brush shape was not properly transformed.
This has been fixed as well.</p>
<p>Just open the <em>Symmetry Painting</em> dockable dialog, choose a type of
symmetry and paint away!</p>
<h2 id="color-space-mixup-on-exporting-images">Color space mixup on exporting images<a class="headerlink" href="#color-space-mixup-on-exporting-images" title="Permanent link">¶</a></h2>
<p>Several people noticed that exporting some images ended up in washed-up
colors sometimes. This was because in some cases, we were exporting by
error sRGB colors with a linear profile (especially visible in <span class="caps">GIMP</span>
2.10.10 since we were exporting profiles by default even when using a
default <span class="caps">GIMP</span> profile). We fixed this and took the opportunity to improve
<span class="caps">GIMP</span>’s export logics.</p>
<p>Now we are always exporting an explicitly set profile as-is, and pixel
colors are stored according to this profile expectation. If you manually
assigned a profile, <span class="caps">GIMP</span> should indeed always follow your request.</p>
<p>On the other hand, if no explicit profile was set, we implemented
various strategies depending on the format:</p>
<ul>
<li>If the export format is able to store high-bit depth colors (e.g. <span class="caps">PNG</span>
up to 16-bit and <span class="caps">TIFF</span> up to 64-bit), we follow the work format.</li>
<li>If the export format is 8-bit only (such as <span class="caps">JPEG</span>), we transform the
data to sRGB in order to avoid posterization and shadow artifacts
(except if your work format is 8-bit linear, then we leave it as
8-bit linear for minimal loss).</li>
</ul>
<p>Note that there are still edge cases which we may not find optimal yet
regarding how profiles are handled. These should all be greatly improved
when we will merge the “Space Invasion” code (an ongoing mid-term
project, as we were already <a href="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/#whats-next">talking about it when releasing <span class="caps">GIMP</span>
2.10.8</a>).
This code merge should hopefully happen soon enough!</p>
<h1 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h1>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>During this development span, <span class="caps">GEGL</span> 0.4.16 got released (91 commits), as
well as babl 0.1.64 (31 commits) and 0.1.66 (7 commits).</p>
<p>The biggest user-visible change is probably the cubic sampler
coefficient change, which used to produce smooth interpolation, suitable
for some cases, but not as sharp as people would expect in most other
cases. Now in all places where there is choice of interpolation (all
transformation tools, <em>Warp Transform</em> tool, etc.), the result with <em>cubic</em>
has changed and produces sharper results.</p>
<p>Another notable improvement in <span class="caps">GEGL</span> is an updated memory management, by
conditionally freeing memory from the heap (thanks to manual calls of
<code>malloc_trim()</code>), hence forcing the underlying <code>libc</code> to release memory
more often. This behavior is especially suitable for long-running
applications whose memory need can greatly vary, such as <span class="caps">GIMP</span>.
In practice, it means that <span class="caps">GIMP</span> process’ memory size will now shrink
much faster when you will close big images on supporting systems.</p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>Though it gets less visibility, work on upcoming <strong><span class="caps">GIMP</span> 3</strong> continues and
is going well. We will give more news soon enough. For the time being,
don’t forget you can <a href="https://www.gimp.org/donating/">donate to the project and personally fund several
<span class="caps">GIMP</span> developers</a>, as a way to give back
and to accelerate <span class="caps">GIMP</span> development.</p>GIMP 2.10.10 Released2019-04-07T00:00:00+02:002019-04-07T00:00:00+02:00Wilbertag:www.gimp.org,2019-04-07:/news/2019/04/07/gimp-2-10-10-released/<p><span class="caps">GIMP</span> 2.10.10 released: colors are hard!</p><p>We haven’t had any updates for a few months but the wait is hopefully
worth it! We’ve got many nice new features, optimizations, and stability
fixes in this release!</p>
<p>Version 2.10.10 highlights include:</p>
<ul>
<li>Line art detection in the <em>Bucket Fill</em> tool for comic artists</li>
<li>Various usability improvements in transformation tools</li>
<li><em>Sample Merged</em> option added to the <em>Heal</em> tool and fixed in the <em>Clone</em> tool </li>
<li>Parametric brushes now have 32-bit per channel precision</li>
<li>Easier brush and pattern creation workflow</li>
<li>On-canvas layer selection</li>
<li>Faster saving/exporting and layer groups rendering</li>
<li>Initial <span class="caps">DDS</span> support</li>
<li>Many improvements in <a href="https://gegl.org"><span class="caps">GEGL</span></a>, the image processing engine</li>
</ul>
<h1 id="notable-improvements">Notable improvements<a class="headerlink" href="#notable-improvements" title="Permanent link">¶</a></h1>
<h2 id="improved-tools">Improved tools<a class="headerlink" href="#improved-tools" title="Permanent link">¶</a></h2>
<h3 id="bucket-fill-tool">Bucket Fill tool<a class="headerlink" href="#bucket-fill-tool" title="Permanent link">¶</a></h3>
<p>The <em>Bucket Fill</em> tool got a bit of a revamp making it much easier to
use. It also got a new “<em>Fill by line art detection</em>” mode (a.k.a.
“Smart Colorization”)!</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/20190318_gimp_colorisation.jpg" alt="Colors are hard, by Aryeom"/>
<figcaption>
<em>“Colors are hard”, by Aryeom, <span class="caps">CC</span> <span class="caps">BY</span>-<span class="caps">SA</span> 4.0</em>
</figcaption>
</figure>
<h4 id="quick-color-picking">Quick Color picking<a class="headerlink" href="#quick-color-picking" title="Permanent link">¶</a></h4>
<p>Similarly to painting tools, it is now possible to pick surrounding
colors on canvas with the <code>Ctrl</code> modifier, without having to switch to
<em>Color Picker</em> tool.</p>
<h4 id="click-and-drag-to-fill">Click and drag to fill<a class="headerlink" href="#click-and-drag-to-fill" title="Permanent link">¶</a></h4>
<p>In “Fill similar colors” and “Fill by line art detection” modes, you can
now keep the mouse button down to continue filling more areas.</p>
<h4 id="fill-by-line-art-detection">Fill by line art detection<a class="headerlink" href="#fill-by-line-art-detection" title="Permanent link">¶</a></h4>
<p>Finally, the highlight change on the <em>Bucket Fill</em> tool is a new algorithm
for painters, allowing to fill areas surrounded by “line arts”, while
trying to leave no unfilled pixels near the lines, and closing potential zones.</p>
<p>This feature, originated from the <a href="https://gmic.eu/">G’<span class="caps">MIC</span></a> plug-in as a
<a href="https://hal.archives-ouvertes.fr/hal-01891876">research paper</a>, was
contributed by Jehan as work for the
<a href="https://www.greyc.fr/?page_id=443&lang=en"><span class="caps">IMAGE</span></a> team of the
<a href="https://www.greyc.fr/?page_id=1342&lang=en"><span class="caps">GREYC</span></a>
laboratory (French Research Lab, affiliated to the
<a href="http://www.cnrs.fr/"><span class="caps">CNRS</span></a>, the <a href="http://www.unicaen.fr/">University
of Caen</a>, and the engineering school
<a href="https://www.ensicaen.fr/"><span class="caps">ENSICAEN</span></a>), with important interface input
from Aryeom from <a href="https://film.zemarmot.net/">ZeMarmot</a> project.</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/gimp-2-10-10-smart-colorization.webp" alt="Smart colorization in GIMP"/>
<figcaption>
<em>Smart colorization in <span class="caps">GIMP</span></em>
</figcaption>
</figure>
<p>See also this <a href="https://girinstud.io/news/2019/02/smart-colorization-in-gimp/">technical blog
post</a>.</p>
<h3 id="transformation-tools">Transformation tools<a class="headerlink" href="#transformation-tools" title="Permanent link">¶</a></h3>
<p>Ell improved various shortcomings on several transformation tools:</p>
<ul>
<li>The <em>Scale</em> tool now scales from the center, even when using numeric input.</li>
<li>The Unified Transform tool defaults to preserving the aspect ratio
when scaling up or down.</li>
<li>New “Constrain handles” and “Around center” options to the
<em>Perspective Transform</em> tool’s <span class="caps">GUI</span>, which are similar to the
corresponding options of the <em>Unified Transform</em> tool.</li>
<li>New “Readjust” button in several transformation tools to readjust
transform handles based on the current zoom level.</li>
<li>Forward and backward transform directions can be linked, which allows
moving the handles without affecting the transformation, letting you
manually readjust their position.</li>
</ul>
<p>
<video width="992" height="720" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-10-transform-tools.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<h3 id="heal-and-clone-tool">Heal and Clone tool<a class="headerlink" href="#heal-and-clone-tool" title="Permanent link">¶</a></h3>
<p>Michael Natterer improved the <em>Heal</em> tool by adding the “Sample merged” option
which allows painting changes on a separate layer to keep the original data
intact.
The <em>Clone</em> tool already had the “Sample merged” option. It has been
updated to also work similarly.</p>
<p>These changes are important for manipulating images without modifying
original pixels in a non-destructive fashion.</p>
<h2 id="better-brushes">Better brushes<a class="headerlink" href="#better-brushes" title="Permanent link">¶</a></h2>
<h3 id="32-bit-parametric-brushes">32-bit parametric brushes<a class="headerlink" href="#32-bit-parametric-brushes" title="Permanent link">¶</a></h3>
<p>Michael Natterer and Ell worked a lot on a better brush support in <span class="caps">GIMP</span>.
A major improvement for painters was making parametric brushes finally
32-bit float, following the high-bit depth move for color processing.
The main advantage will be to avoid posterization on large brushes,
especially with darker colors.</p>
<p>It is to be noted that raster brushes are still 8-bit. Promoting them to
32-bit float is also a planned future work.</p>
<p>Moreover, plug-ins only have access to 8-bit versions of high-precision
brushes and patterns. A new <span class="caps">API</span>, not available yet, will be required to
handle high-precision data.</p>
<h3 id="easy-brush-and-pattern-creation-from-clipboard">Easy brush and pattern creation from clipboard<a class="headerlink" href="#easy-brush-and-pattern-creation-from-clipboard" title="Permanent link">¶</a></h3>
<p>It was already possible to create new brushes and patterns on-the-fly
from the clipboard (i.e. image copied, typically with a <code>Ctrl-c</code>
shortcut). This was extremely practical, yet only allowed temporary
brushes and patterns.</p>
<p>These temporary brushes and patterns can now be duplicated as any other
data, therefore allowing to promote them to stored data for further reuse.
Though simple looking, this change is the result of an important code
migration into the core of <span class="caps">GIMP</span> (instead of being plug-in code),
performed by Michael Natterer, which may have further happy consequences
in a near future!</p>
<h3 id="open-as-image">Open as Image<a class="headerlink" href="#open-as-image" title="Permanent link">¶</a></h3>
<p>The “Brushes” dock now provides an “Open brush as image” button to
quickly open a brush file, allowing easier brush edits.</p>
<h2 id="on-canvas-layer-selection">On-canvas layer selection<a class="headerlink" href="#on-canvas-layer-selection" title="Permanent link">¶</a></h2>
<p>Anyone working with a lot of layers has sometimes experienced the
frustration of not finding a layer in the list, even though you see its
pixels in front of your eyes.</p>
<p>Jehan implemented a new generic canvas modifier <code>Alt + middle click</code>
allowing layers to be picked by clicking on pixels. The available layers will
be looped through (starting from the upper one) while the <code>Alt</code> key is held
and the picked layer name will be temporarily displayed in the status
bar. The interaction choices heavily benefited from input by
Aryeom, from the <em>ZeMarmot</em> project.</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/gimp-2-10-10-layer-selection.webp" alt="Layer picking with Alt+middle click"/>
<figcaption>
<em>Layer picking on canvas with Alt + middle click</em>
</figcaption>
</figure>
<h2 id="faster-and-safer-gimp">Faster and safer <span class="caps">GIMP</span><a class="headerlink" href="#faster-and-safer-gimp" title="Permanent link">¶</a></h2>
<p>As usual, many bugs were fixed and a lot of optimizations were made to
existing part of the code. Of them these 2 improvements are
particularly noteworthy:</p>
<h3 id="saving-and-exporting-safer">Saving and exporting safer<a class="headerlink" href="#saving-and-exporting-safer" title="Permanent link">¶</a></h3>
<p>Various parts of the file-writing code were made more
robust by not overwriting the file when an error occured. In particular
<span class="caps">XCF</span> saving and exporting to various image formats should be safer now.</p>
<h3 id="layer-groups-rendered-faster">Layer groups rendered faster<a class="headerlink" href="#layer-groups-rendered-faster" title="Permanent link">¶</a></h3>
<p>Layer groups are now rendered in bigger chunks rather than tile-by-tile
(this used to pretty much eliminate multithreading for groups), which
improves the rendering speed.</p>
<h3 id="improved-macos-builds">Improved macOS builds<a class="headerlink" href="#improved-macos-builds" title="Permanent link">¶</a></h3>
<p>HiDPI/Retina support was improved in the macOS/<span class="caps">OSX</span> build, fixing issues
with blurry icons.</p>
<p>Moreover the macOS package is finally signed, thus making the
installation process on this platform much less painful now!</p>
<h3 id="and-more">And more!<a class="headerlink" href="#and-more" title="Permanent link">¶</a></h3>
<p>In total, since <span class="caps">GIMP</span> 2.10.8, 775 commits were contributed (average of 5
commits a day) to the <span class="caps">GIMP</span> 2.10 branch (and more to other development
branches). This means a lot of bugs were fixed (41 bug reports were
closed during this development span), performance were improved,
and your work is made safer…</p>
<p>And as we should also count babl (66 commits for babl 0.1.62) and <span class="caps">GEGL</span>
(404 commits for <span class="caps">GEGL</span> 0.4.14), you can bet that this release is again as
awesome as ever!</p>
<p>Moreover 21 translations were updated. So we also want to thank all the
awesome translators who allow <a href="https://l10n.gnome.org/module/gimp/"><span class="caps">GIMP</span> to be available in so many
languages</a> around the world.</p>
<h2 id="plug-ins">Plug-ins<a class="headerlink" href="#plug-ins" title="Permanent link">¶</a></h2>
<h3 id="dds-support"><span class="caps">DDS</span> support<a class="headerlink" href="#dds-support" title="Permanent link">¶</a></h3>
<p>The third-party <a href="https://en.wikipedia.org/wiki/DirectDraw_Surface"><span class="caps">DDS</span></a>
plug-in, originally developed by Shawn Kirst and Arne Reuter, is now part
of the <span class="caps">GIMP</span> core plug-ins, allowing <span class="caps">GIMP</span> to load or export <span class="caps">DDS</span> files out
of the box.</p>
<p>It is to be noted though that <strong>we are still looking for an active
maintainer for this plug-in</strong> if you want to see it improved since
we only fixed the minimum to get it up-to-date. If you want to step up, <a href="https://gitlab.gnome.org/GNOME/gimp/tree/master/plug-ins/file-dds">we welcome
patches</a>!</p>
<h3 id="rewritten-spyrogimp-plug-in">Rewritten Spyrogimp plug-in<a class="headerlink" href="#rewritten-spyrogimp-plug-in" title="Permanent link">¶</a></h3>
<p>Elad Shahar, original author of the Spyrogimp plug-in rewrote it from
scratch completely, with more options and an automatic preview (by drawing
directly on a temporary layer, not as a <span class="caps">GEGL</span> preview).</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/gimp-2-10-10-spyrogimp.jpg" alt="New spyrogimp plug-in in GIMP"/>
<figcaption>
<em>New Spyrogimp plug-in in <span class="caps">GIMP</span></em>
</figcaption>
</figure>
<p>The old plug-in is still available, as its <span class="caps">API</span> may be used
by existing scripts, but is not available in the menus anymore as it is
replaced by the new version.</p>
<h2 id="filters">Filters<a class="headerlink" href="#filters" title="Permanent link">¶</a></h2>
<p><em>Circular</em>, <em>Linear</em>, and <em>Zoom Motion</em> blurs got new on-canvas interactions
(simple lines) allowing easier visual tweaking of the blur settings.</p>
<h1 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h1>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>This release of <span class="caps">GIMP</span> is accompanied by a hefty <span class="caps">GEGL</span> 0.4.14 release, featuring
a handful of under-the-hood improvements, as well as new user-facing additions.</p>
<p>Most excitingly, the standalone <code>gegl</code> tool, which can be used to apply <span class="caps">GEGL</span>
pipelines directly from the command-line, has seen a
<a href="https://www.patreon.com/posts/24123574">massive rework</a> of its integrated <span class="caps">GUI</span>
by Øyvind Kolås.
The new <span class="caps">UI</span> doubles as an image viewer and a graph editor, allowing real-time
non-destructive image manipulation.</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/gegl-editor-1.jpg" alt="GEGL editor (1)"/>
<figcaption>
<em>The <code>gegl</code> binary features a reworked graphical editor</em>
</figcaption>
</figure>
<p>As well as acting as a non-destructive editor proof-of-concept, sporting such
snazzy features as touch-oriented interaction and Lua-based per-operation <span class="caps">UI</span>, it
also provides a testbed for new and existing <span class="caps">GEGL</span> features, such as mipmap rendering.</p>
<figure>
<img src="https://www.gimp.org/news/2019/04/07/gimp-2-10-10-released/gegl-editor-2.jpg" alt="GEGL editor (2)"/>
<figcaption>
<em>The editor can be extended using Lua, allowing for per-operation <span class="caps">UI</span></em>
</figcaption>
</figure>
<p>Øyvind Kolås has also
<a href="https://www.patreon.com/posts/cmyk-progress-22901518">been working</a> on more
deeply-ingrained <span class="caps">CMYK</span> support in both babl, which saw its 0.1.62 release
earlier this year, and <span class="caps">GEGL</span>.
This includes support for <span class="caps">CMYK</span> <span class="caps">ICC</span> profiles in babl (at this point, through <span class="caps">LCMS2</span>),
direct <span class="caps">CMYK</span> support as part of relevant <span class="caps">GEGL</span> functions and core operations,
and support for reading/writing <span class="caps">CMYK</span> data in <span class="caps">TIFF</span> and <span class="caps">JPEG</span> files.
While not done yet, this work goes towards adding first-class <span class="caps">CMYK</span> support to
<span class="caps">GIMP</span>.</p>
<p>Behind the scenes, this release saw various bug fixes and performance
improvements, including: </p>
<ul>
<li>refactoring of the parallelization framework</li>
<li>swap tile-compression</li>
<li>removal of the deprecated iterator <span class="caps">API</span></li>
<li>new operations in the workshop</li>
<li>improvements to existing operations</li>
</ul>
<p>See the <a href="http://gegl.org/NEWS.html#_gegl_0_4_14_2019_03_01"><span class="caps">GEGL</span> relase notes</a>
for more information.</p>
<p><em>Note for packagers: to build <span class="caps">GEGL</span> 0.4.14 on Win32, 2 commits will need
cherry-picking: commits
<a href="https://gitlab.gnome.org/GNOME/gegl/commit/141a7aa76cd36143f624f06b1c43d2483945653c">141a7aa7</a> and
<a href="https://gitlab.gnome.org/GNOME/gegl/commit/b3ff0df080d133bbdb394c3db40d4f9d2980a8a6">b3ff0df0</a>.</em></p>
<h1 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h1>
<p>As often, we remind that you can <a href="https://www.gimp.org/donating/">donate to the project and personally
fund several of the people mentionned in this
news</a>. This is a way to give back if you
appreciate the work and wish to help <span class="caps">GIMP</span> improve more!</p>
<p>Work on <span class="caps">GIMP</span> codebase is still going strong, not only for the stable <span class="caps">GIMP</span>
2.10.x branch, but also on the master branch with <span class="caps">GTK</span>+3 port. Hopefully
we will soon have some nice things to announce on this less visible side
of the development!</p>
<p>In the meantime, if you want to meet members of the <span class="caps">GIMP</span> team, as every
year, several members will be present during the <a href="https://libregraphicsmeeting.org/2019/">Libre Graphics Meeting
2019</a> in <strong>Saarbruecken,
Germany</strong>, from May 29 to June 2. We have a few talks planned. Other
than this, we will likely hang around, so do not hesitate to catch one
of us for a talk!</p>GIMP and GEGL in 20182019-01-02T00:00:00+01:002019-01-02T00:00:00+01:00Wilbertag:www.gimp.org,2019-01-02:/news/2019/01/02/gimp-and-gegl-in-2018/<p>In this post, we are looking back at 2018 and then forward to outline future work on <span class="caps">GIMP</span>, <span class="caps">GEGL</span>, and babl.</p><p>In this post, we are looking back at 2018 and then forward to outline future work on <span class="caps">GIMP</span>,
<span class="caps">GEGL</span>, and babl.</p>
<h2 id="version-210-release-and-point-releases">Version 2.10 release and point releases<a class="headerlink" href="#version-210-release-and-point-releases" title="Permanent link">¶</a></h2>
<p>In April, we released the much anticipated version 2.10, featuring updated user
interface, high bit depth support, multi-threading, linear color space workflow,
revamped color management, new transformation tools, and many more changes, as
outlined in the
<a href="https://www.gimp.org/release-notes/gimp-2.10.html">release notes</a>.</p>
<p>Given that the next big update, v3.0, is likely far ahead, we now also allow new
features in the stable series (2.10.2, 2.10.4 etc.). Which means, you don’t have
to wait years for new features anymore. Instead, we make a new release every 1-2
months, and it usually comes with many bugfixes as well as some new stuff.</p>
<figure>
<img src="https://www.gimp.org/news/2019/01/02/gimp-and-gegl-in-2018/gimp-2-10-9-main-window.jpg" alt="Unstable GIMP, main window"/>
<figcaption>
<em>Nightscape, by Filip Bulovic, <span class="caps">CC</span> <span class="caps">BY</span>-<span class="caps">SA</span> 4.0</em>
</figcaption>
</figure>
<p>Among the new features in 2.10 updates this year:</p>
<ul>
<li>support for <a href="https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format" title="High Efficienty Image File Format"><span class="caps">HEIF</span></a> images</li>
<li>simple horizon straightening</li>
<li>vertical text</li>
<li>new filters</li>
</ul>
<h2 id="development-focus">Development focus<a class="headerlink" href="#development-focus" title="Permanent link">¶</a></h2>
<p>So what have we been busy with after releasing 2.10?</p>
<p><strong>Refactoring.</strong> Most work is happening in the main development branch leading
up to version 3.0. <span class="caps">GIMP</span> 3.0 will be relying on <span class="caps">GTK3</span>, a much newer version of
the toolkit. And we want to arrive to working on non-destructive editing with a
much leaner code base. This means a lot still needs to change. The majority of
changes here was contributed by <span class="caps">GIMP</span> maintainer Michael Natterer.</p>
<p><strong>Usability.</strong> There have been numerous fixes to address various usability
issues in <span class="caps">GIMP</span>. We eliminated duplicated file type selector in the exporting
dialog, added an explanation for why a file might not be entirely readable in
older versions of <span class="caps">GIMP</span>, and fixed quite a few other things.</p>
<figure>
<img src="/news/2018/11/08/gimp-2-10-8-released/save-dialog-compatibility-list.jpg" alt="Compatibility warning"/>
<figcaption>
<em>Compatibility warning</em>
</figcaption>
</figure>
<p><strong>Smart colorization.</strong> This major new feature greatly simplifies filling inked
sketches with color, where areas are not completely closed. It was added by
Jehan Pagès, with contributions from Ell, and will be available in <span class="caps">GIMP</span> 2.10.10.</p>
<figure>
<img src="https://www.gimp.org/news/2019/01/02/gimp-and-gegl-in-2018/gimp-2-10-9-smart-colorization.gif" alt="Smart colorization demo"/>
<figcaption>
<em>Smart colorization demo</em>
</figcaption>
</figure>
<p><strong>Extension management.</strong> <em>ZeMarmot</em> project has started implementing
<a href="https://girinstud.io/news/2018/07/crowdfunding-for-extension-management-in-gimp-and-other-improvements/">extension management within
<span class="caps">GIMP</span></a>,
which will allow to search, install, uninstall and update extensions
directly within <span class="caps">GIMP</span>. An extension is meant to be any data already
installable (manually currently) in <span class="caps">GIMP</span>, such as plug-ins,
icons, brushes, and more.</p>
<figure>
<img src="/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-ongoing-dev-extensions.jpg" alt="Extension management"/>
<figcaption>
<em>Extensions dialog</em>
</figcaption>
</figure>
<p><strong>Performance and async jobs.</strong> There are several attack vectors towards subpar
performance of <span class="caps">GIMP</span>. Ell fixed some of the big issues by introducing async
operations like lazy loading of fonts (which effectively fixed the long startup
times for <span class="caps">GIMP</span> on Windows), and then moved all parallel processing in multiple
threads over to <span class="caps">GEGL</span>. Both Ell and Øyvind Kolås contributed to improving
performance of downscaling with bilinear and bicubic samplers and other aspects
of <span class="caps">GEGL</span> and babl.</p>
<p><strong>Space invasion.</strong> <span class="caps">GIMP</span> used to have the sRGB color space hardcoded into all
processing. This couldn’t work for everyone, and we introduced some changes to
support any <span class="caps">RGB</span> color spaces in 2.10. Space invasion is the next step towards
that goal. The ‘master’ git branch of <span class="caps">GIMP</span> now allows taking an image that’s
originally in e.g. ProPhotoRGB, processing it in a different color space (e.g.
<span class="caps">CIE</span> <span class="caps">LAB</span>), and the resulted image will be in ProPhotoRGB again, with all color
data correctly mapped to the original space / <span class="caps">ICC</span> profile. This isn’t yet
polished and thus not read for prime-time use. Most of the work was done by
Øyvind Kolås and Michael Natterer.</p>
<p><strong><span class="caps">CMYK</span>.</strong> Øyvind made <span class="caps">CMYK</span> a first-class citizen in <span class="caps">GEGL</span>, thus laying the
foundation for respective changes in <span class="caps">GIMP</span>. <span class="caps">GEGL</span> now can e.g. open a <span class="caps">CMYK</span> <span class="caps">JPEG</span>
file, composite an <span class="caps">RGB</span> <span class="caps">PNG</span> file with an alpha channel on top of it, then write
a <span class="caps">CMYK</span> <span class="caps">TIFF</span> file to the output, tagged with a user-submitted <span class="caps">CMYK</span> <span class="caps">ICC</span> profile.
This and other work can be sponsored by you
<a href="https://www.patreon.com/pippin/">via Patreon</a>.</p>
<p><strong>Bugfixing.</strong> This is the boring part that is, however, absolutely crucial for
making any software usable. Due to the switch to <span class="caps">GNOME</span>-hosted Gitlab instance,
we cannot give the exact number, but there have been a few hundreds of bugfixes
done by many contributors throughout the year.</p>
<h2 id="2019-outlook">2019 outlook<a class="headerlink" href="#2019-outlook" title="Permanent link">¶</a></h2>
<p>We expect to be shipping 2.10.x updates throughout 2019, starting with the
version 2.10.10 currently expected in January/February. This version will
feature faster layer groups rendering, smart colorization with the <em>Bucket Fill</em>
tool, and various usability improvements.</p>
<p>We are also planning the first unstable release of <span class="caps">GIMP</span> that will have version
2.99.2, eventually leading up to version 3.0. The prerequisite for releasing
that version will be the completion of the space invasion (see above).</p>
<p><em>ZeMarmot</em> project (which can be supported on
<a href="https://www.patreon.com/zemarmot">Patreon</a> or
<a href="https://tipeee.com/zemarmot">Tipeee</a>) is also planning to focus a bit more
on better canvas interactions, as well as animation support improvements,
starting from merging existing work.</p>
<p>On the <span class="caps">GEGL</span> and babl front, we expect to continue working towards better <span class="caps">CMYK</span>
support and performance.</p>
<h2 id="where-help-is-wanted">Where help is wanted<a class="headerlink" href="#where-help-is-wanted" title="Permanent link">¶</a></h2>
<p>There are many ways you can contribute to making <span class="caps">GIMP</span> better.</p>
<p><strong>Usability.</strong> Historically, <span class="caps">GIMP</span> has been created by programmers rather than <span class="caps">UI</span>
designers. Although we don’t have the manpower to implement every single
proposal, we do appreciated structured proposals, explaining a problem and
suggesting ways to fix it. We also welcome contributions improving the design of
symbolic icons which have their usability issues.</p>
<p><strong>User manual.</strong> Currently, most of the original writing is done by a single
person, so the user manual is not yet complete to cover all changes in the
version 2.10. You don’t need to know DocBook/<span class="caps">XML</span> to contribute (it’s not hard to
learn though), we welcome new text
<a href="https://gitlab.gnome.org/GNOME/gimp-help/issues">submitted in any file format</a>.</p>
<p><strong>User interface translations.</strong> Out of
<a href="https://l10n.gnome.org/module/gimp/">81 languages</a> supported in the stable
branch of <span class="caps">GIMP</span>, only 20 translations into other languages are currently more
than 90% complete, and 15 translation are only 10% or less complete. If this is
something you would like to work on, please join your
<a href="https://l10n.gnome.org/teams/">local team</a> and start contributing translation updates.</p>
<p><strong>Tutorials.</strong> There will never be enough tutorials explaining how to use <span class="caps">GIMP</span>
to accomplish various tasks, especially if we are talking about high-quality
results. If you don’t like watching and making <em>video</em> tutorials, you can write
text with illustrations. And if you don’t have your own blog, we are open to
submissions for the
<a href="https://www.gimp.org/tutorials/">official tutorials section at gimp.org</a> too.</p>
<p><strong>Programming.</strong> If you are interested in fun things, pretty much all of the
<a href="https://wiki.gimp.org/wiki/Roadmap#Future"><em>Future</em> section of the roadmap</a> can
be done for 3.0 and a lot — even for 2.10.x (do talk to us first just in case
though). There are even more
<a href="https://gitlab.gnome.org/GNOME/gimp/issues?label_name%5B%5D=1.+Feature">feature requests in the tracker</a>.
And one thing we are particularly interested in for 3.0 is fixing the broken
Python support.</p>
<p>On top of that, we still need to make public <span class="caps">API</span> for text layers, so that the
<span class="caps">PSD</span> plug-in could be patched to read and write text as text. And our <span class="caps">EXR</span> and
<span class="caps">RGBE</span> plug-ins are currently rather simplistic, so that’s another area of improvement.</p>
<p>There are all sorts of other interesting ideas for plug-ins, like <span class="caps">UV</span> unwrapping
from <span class="caps">OBJ</span> files for texturing. And we are still missing a developer with a game
design bug to work on the <span class="caps">DDS</span> plug-in that currently lives in a
<a href="https://gitlab.gnome.org/GNOME/gimp/tree/wip/dds">dedicated git branch</a>.</p>
<h2 id="donations">Donations<a class="headerlink" href="#donations" title="Permanent link">¶</a></h2>
<p>In August 2018, we received a $100K donation from Handshake.org via <span class="caps">GNOME</span>
Foundation. So far, we are using this money for long overdue hardware upgrades.</p>
<p>Our core developers, <a href="https://www.patreon.com/pippin">Øyvind Kolås</a> and
<a href="https://www.patreon.com/zemarmot">Jehan Pagès</a>, continue running their
personal crowdfunding via Patreon, although in case of Jehan the money is
actually split two-ways, because his campaign is targeted at funding
a short anomation movie made with <span class="caps">GIMP</span> (development assists that project,
like in Blender Institute’s open movies).</p>
<h2 id="team-acknowledgment">Team acknowledgment<a class="headerlink" href="#team-acknowledgment" title="Permanent link">¶</a></h2>
<p>While we often mention <span class="caps">GIMP</span>, <span class="caps">GEGL</span>, and babl separately, all work on <span class="caps">GEGL</span> and
babl directly affects the evolution of <span class="caps">GIMP</span>, both in terms of features and
performance. Thus, all <span class="caps">GEGL</span> and babl contributors are <span class="caps">GIMP</span> contributors too. </p>
<p>The vast majority of the work in <span class="caps">GIMP</span>’s git repository is currently done by
Ell, Jehan Pagès, and Michael Natterer, who share a nearly equal percentage
of commits and spend more or less the same amount of time hacking on the code.
Additional contributions came from Simon Budig, Massimo Valentini, Ono Yoshio,
and others.</p>
<p>Øyvind Kolås, Ell, and Debarshi Ray are major developers of <span class="caps">GEGL</span>. Additional
contributions came from Thomas Manni, Félix Piédallu, Simon Budig, and others.</p>
<p>Most of the work on babl in 2018 was done by Øyvind Kolås, with contributions
from Félix Piédallu and Debarshi Ray.</p>
<p>We thank Julien Hardelin for his tireless work on the user manual and all the
translators who contribute their updates. We also thank Elle Stone on her
insight into all things color management and contributions to making <span class="caps">GIMP</span> play
better with <span class="caps">CIE</span> color spaces.</p>
<p>We thank Pat David and Michael Schumacher on both their work on the website and
user support on various social channels.</p>
<p>We also thank Jernej Simončič and Alex Samorukov for providing Windows and macOS
builds and fixing platform-specific bugs.</p>
<p>And we can’t thank enough all the translators who have been closely following
development of <span class="caps">GIMP</span> to make the program perfectly available in their respective
languages: Piotr Drąg, Nils Philippsen, Sveinn í Felli, Tim Sabsch, Marco
Ciampa, Claude Paroz, Daniel Korostil, Alan Mortensen, Anders Jonsson, Dimitris
Spingos, Snehalata B Shirude, Martin Srebotnjak, and others.</p>
<div class='fluid-video'>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/uaZRcZf6lg0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<figcaption>
<em>Happy Holidays, from <span class="caps">GIMP</span> and <a href="https://film.zemarmot.net/">ZeMarmot</a> team, by Aryeom</em>
</figcaption>
<p><br></p>GIMP 2.10.8 Released2018-11-08T00:00:00+01:002018-11-08T00:00:00+01:00Wilbertag:www.gimp.org,2018-11-08:/news/2018/11/08/gimp-2-10-8-released/<p><span class="caps">GIMP</span> 2.10.8 released: bug fixes and optimizations</p><p>Though the updated <span class="caps">GIMP</span> release policy allows cool new features in micro releases,
we also take pride on the stability of our software (so that you can edit images feeling that your work is safe).</p>
<p>In this spirit, <span class="caps">GIMP</span> 2.10.8 is mostly the result of dozens of bug fixes and optimizations.</p>
<figure>
<a href="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/wilber-co-Aryeom_stability.png">
<img src="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/wilber-co-Aryeom_stability.png" alt="Stable GIMP, Wilber and Co."/>
</a>
<figcaption>
<em>Wilber and Co.</em> strip, by <a href="https://girinstud.io/">Aryeom and Jehan</a>, 2013
</figcaption>
</figure>
<h2 id="notable-improvements">Notable improvements<a class="headerlink" href="#notable-improvements" title="Permanent link">¶</a></h2>
<p>In particular, chunk size of image projections are now determined
dynamically depending on processing speed, allowing better
responsiveness of <span class="caps">GIMP</span> on less powerful machines whereas processing
would be faster on more powerful ones.</p>
<p>Moreover various tools have been added to generate performance logs,
which will allow us to optimize <span class="caps">GIMP</span> even more in the future.
As with most recent optimizations of <span class="caps">GIMP</span>, these are the results of Ell’s
awesomeness. Thanks Ell!</p>
<p>In the meantime, various bugs have been fixed in
<code>wavelet-decompose</code>, the new vertical text feature (including text
along path), selection tools, and more. On Windows, we also improved
RawTherapee detection (for RawTherapee 5.5 and over), working in sync
with the developers of this very nice <span class="caps">RAW</span> processing software.
And many, many more fixes, here and there…</p>
<p>The Save dialog also got a bit of retouching as it now shows more
prominently the features preventing backward compatibility (in case you
wish to send images to someone using an older version of <span class="caps">GIMP</span>). Of course,
we want to stress that we absolutely recommend to always use the latest
version of <span class="caps">GIMP</span>. But life is what it is, so we know that sometimes you
have no choice. Now it will be easier to make your <span class="caps">XCF</span> backward compatible
(which means, of course, that some new features must not be used).</p>
<figure>
<img src="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/save-dialog-compatibility-list.jpg" alt="Compatibility issues in Save dialog"/>
<figcaption>
Save dialog shows compatibility issues when applicable
</figcaption>
</figure>
<p>Thanks to Ell, the <strong>Gradient</strong> tool now supports multi-color hard-edge gradient
fills. This feature is available as a new <em>Step</em> gradient-segment blending
mode. This creates a hard-edge transition between the two adjacent color
stops at the midpoint.</p>
<figure>
<img src="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/gimp-2-10-8-gradients-step-blending.png" alt="Step blending in gradient fills"/>
<figcaption>
Newly added Step blending in gradient fills
</figcaption>
</figure>
<p>On the usability end of things, all transform tools now apply changes when
you save or export/overwrite an image without pressing <strong>Enter</strong> first
to confirm changes. Ell also fixed the color of selected text which wasn’t
very visible when e.g. renaming a layer.</p>
<h2 id="cie-xyy-support"><span class="caps">CIE</span> xyY support<a class="headerlink" href="#cie-xyy-support" title="Permanent link">¶</a></h2>
<p>Thanks to Elle Stone, <span class="caps">GIMP</span> now features initial support for color readouts
in the <span class="caps">CIE</span> xyY color space. You can see these values in the <em>Info</em> window
of the <strong>Color Picker</strong> tool and in the <em>Sample Points</em> dock. Most of the
related code went into the babl library.</p>
<p>Much like <span class="caps">CIE</span> <span class="caps">LAB</span>, this color space is a derivative of <span class="caps">CIE</span> <span class="caps">XYZ</span>. The <em>Y</em> channel
separates luminance information from chromaticity information in the <em>x</em> and
<em>y</em> channels. You might be (unknowingly) familiar with this color space if you
ever looked at a <a href="https://ninedegreesbelow.com/photography/all-the-colors.html">horseshoe diagram of an <span class="caps">ICC</span> profile</a>.</p>
<p><span class="caps">CIE</span> xyY is useful to explore various color-related topics like the
<a href="https://en.wikipedia.org/wiki/Abney_effect">Abney effect</a>. See
<a href="https://discuss.pixls.us/t/what-are-the-lch-and-jch-values-for-the-srgb-blue-primary/8796">this Pixls.us thread</a>
for an example of what people do with this kind of information.</p>
<h2 id="improved-gimp-experience-on-macos">Improved <span class="caps">GIMP</span> experience on macOS<a class="headerlink" href="#improved-gimp-experience-on-macos" title="Permanent link">¶</a></h2>
<p>Our new macOS contributor, Alex Samorukov, has been very hard at work
improving the macOS/<span class="caps">OSX</span> package, debugging and patching both <span class="caps">GIMP</span>, <span class="caps">GEGL</span>,
and the <a href="https://gitlab.gnome.org/GNOME/gtk-osx/merge_requests/1">gtk-osx project</a>.</p>
<p>Some of the macOS specific bugs he fixed are artifacts while zooming,
the windows focus bug in plug-ins, and a non-functional support for some
non-Wacom tablets. Jehan, Ell, and Øyvind actively participated in fixing these
and other macOS issues.</p>
<p>We also thank CircleCI for providing their infrastructure to us free of charge.
This helps us automatically building <span class="caps">GIMP</span> for macOS.</p>
<p>That said, please keep in mind that we have very few developers for macOS and
Windows. If you want <span class="caps">GIMP</span> to be well supported on your operating system of
choice, we do welcome new contributors!</p>
<p>Also, see the <a href="https://gitlab.gnome.org/GNOME/gimp/blob/c6f1196721d9e8d1179a09d91557656895e6086d/NEWS#L11"><span class="caps">NEWS</span></a> file for more information on the new <span class="caps">GIMP</span> release,
and the <a href="https://gitlab.gnome.org/GNOME/gimp/commits/gimp-2-10">commit history</a> for even more details.</p>
<h2 id="around-gimp">Around <span class="caps">GIMP</span><a class="headerlink" href="#around-gimp" title="Permanent link">¶</a></h2>
<h3 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h3>
<p>The babl library got an important fix that directly affects <span class="caps">GIMP</span> users:
the color of transparent pixels is now <a href="https://www.patreon.com/posts/premultiplied-in-21014115">preserved</a> during conversion
to premultiplied alpha. This means all transform and deformation operations
now maintain color for fully transparent pixels, making unerase and curves
manipulation of alpha channel more reliable.</p>
<p>On the <span class="caps">GEGL</span> side, a new buffer iterator <span class="caps">API</span> was added (<span class="caps">GIMP</span> code has been
ported to this improved interface as well). Additionally, new GEGL_TILE_COPY
command was added to backends to make buffer duplication/copies more efficient.</p>
<p>Recently, Øyvind Kolås has been working again on <a href="https://www.patreon.com/posts/camayakaa-float-22446330">multispectral/hyperspectral processing in <span class="caps">GEGL</span></a>,
which happens to be the groundwork for <span class="caps">CMYK</span> processing. This is therefore
the first steps for better <span class="caps">CMYK</span> support in <span class="caps">GIMP</span>! We hope that anyone who wants
to see this happening will support
<a href="https://www.patreon.com/pippin">Øyvind on Patreon</a>!</p>
<h3 id="gimp-in-universite-de-cergy-pontoise"><span class="caps">GIMP</span> in Université de Cergy-Pontoise<a class="headerlink" href="#gimp-in-universite-de-cergy-pontoise" title="Permanent link">¶</a></h3>
<p>Aryeom, well known around here for being the director of <a href="https://film.zemarmot.net/en/">ZeMarmot
movie</a>, a skilled illustrator, and a
contributor to <span class="caps">GIMP</span> has given a graphics course with <span class="caps">GIMP</span> as a guest
teacher for nearly a week at the <em>Université de Cergy-Pontoise</em> in
France, mid-October.</p>
<p>She taught to two classes: a computer graphics class and a 3D heritage one,
focusing on digital illustration for the former and retouching for the latter.</p>
<figure>
<img src="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/gimp-2-10-8-Univ_Cergy.jpg" alt="Students being taught computer graphics with GIMP"/>
<figcaption>
<a href="https://twitter.com/zemarmot/status/1053584659400015872">Aryeom and her students</a>
in University of Cergy-Pontoise
</figcaption>
</figure>
<p>This is a good hint that <span class="caps">GIMP</span> is getting more recognition as it now
gets taught in universities. Students were very happy overall, and we
could conclude by quoting one of them at the end of a 3-day course:</p>
<blockquote>I didn’t know that <span class="caps">GIMP</span> was the Blender for 2D; now this is one more
software in my toolbox!</blockquote>
<p>We remind that you can also support <a href="https://www.patreon.com/zemarmot">Aryeom’s work on
Patreon</a>, on
<a href="https://fr.tipeee.com/zemarmot">Tipeee</a> or <a href="https://film.zemarmot.net/en/donate">by others
means</a>!</p>
<h3 id="flatpak-statistics">Flatpak statistics<a class="headerlink" href="#flatpak-statistics" title="Permanent link">¶</a></h3>
<p>Although Flathub does not (yet) provide any public statistics for packages,
an internal source told us that there have been over 214,000 downloads of <span class="caps">GIMP</span>
since its existence (October 2017). This is more than 500 downloads a day, and
by far the most downloaded application there!</p>
<p>Flathub is a new kind of application repository for <span class="caps">GNU</span>/Linux, so of
course these numbers are not representative of all downloads.
In particular, we don’t have statistics for Windows and macOS.
Even for Linux, every distribution out there makes its own package of <span class="caps">GIMP</span>.</p>
<p>So this is a small share, and a nice one at that, of the full usage of
<span class="caps">GIMP</span> around the globe!</p>
<h3 id="gif-is-dead-long-live-webp"><span class="caps">GIF</span> is dead? Long live WebP!<a class="headerlink" href="#gif-is-dead-long-live-webp" title="Permanent link">¶</a></h3>
<p>The <span class="caps">GIF</span> format is the only animated image format which is visible in any
web browser, making it the de-facto format for basic animation on the
web, despite terrible quality (256 colors!), binary transparency (no
partial transparency), and not so good compression.</p>
<p>Well, this may change! A few days ago, WebP reached support in most major
browsers (Mozilla Firefox, Google Chrome, Microsoft Edge, Opera),
when a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1294490">2-year old feature request for Mozilla Firefox got closed as
“<span class="caps">FIXED</span>”</a>. This
will be available for Firefox 65.</p>
<p>Therefore, we surely hope web platforms will take this new format into consideration,
and that everyone will stop creating <span class="caps">GIF</span> images now that there are actual
alternatives in most browsers!</p>
<p>And last but not least, we remind everyone that <span class="caps">GIMP</span> has already had WebP support
since <a href="https://www.gimp.org/news/2018/04/27/gimp-2-10-0-released/"><span class="caps">GIMP</span> 2.10.0</a>!</p>
<figure>
<img src="https://www.gimp.org/news/2018/11/08/gimp-2-10-8-released/gimp-2-10-8-ZeMarmot-frama.webp"
alt="If you see this text (instead of an animation), your browser
does not support WebP yet!"/>
<figcaption>
A WebP animation (done in <span class="caps">GIMP</span>), by Aryeom, featuring ZeMarmot and a penguin.
</figcaption>
</figure>
<p><em>Disclaimer</em>: the <span class="caps">GIMP</span> team is neutral towards formats. We are aware of
other animated image formats, such as <span class="caps">APNG</span> or <span class="caps">MNG</span>, and wish them all the
best as well! We would also be very happy to support them in <span class="caps">GIMP</span>, if
contributors show up with working patches.</p>
<h2 id="whats-next">What’s next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>We’ve been running late with this release, so we haven’t included some of the
improvements available in the main development branch of <span class="caps">GIMP</span>. And there are
even more changes coming!</p>
<p>Here is what you can expect in <span class="caps">GIMP</span> 2.10.10 when it’s out.</p>
<ul>
<li><span class="caps">ACES</span> <span class="caps">RRT</span> display filter that can be used in scene-referred imaging workflows.
Technically, it’s a luminance-only approximation of the <span class="caps">ACES</span> filmic <span class="caps">HDR</span>-to-<span class="caps">SDR</span>
proofing mapping <a href="https://github.com/TheRealMJP/BakingLab/blob/master/BakingLab/ACES.hlsl">originally written</a> in The Baking Lab project.</li>
<li>Space invasion: essentially you can now take an image that’s originally
in e.g. ProPhotoRGB, process it in the <span class="caps">CIE</span> <span class="caps">LAB</span> color space, and the resulted
image will be in ProPhotoRGB again, with all color data correctly mapped to
the original space / <span class="caps">ICC</span> profile. This is a complicated topic, we’ll talk more
about it when it’s time to release 2.10.10.</li>
</ul>
<p>Another new feature we expect to merge to a public branch soon is smart
colorization based on the original implementation in the ever-popular <span class="caps">GMIC</span> filter.</p>
<div class='fluid-video'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/2SXaoqiIYas" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Given quickly approaching winter holidays and all the busy time that comes with it,
we can’t 100% guarantee another stable release this year, but we’ll do our best
to keep ‘em coming regularly!</p>
<h2 id="conclusion">Conclusion<a class="headerlink" href="#conclusion" title="Permanent link">¶</a></h2>
<p>We wish you a lot of fun with <span class="caps">GIMP</span>, as it becomes more stable every day!</p>GIMP receives a $100K donation2018-08-30T00:00:00+02:002018-08-30T00:00:00+02:00Wilbertag:www.gimp.org,2018-08-30:/news/2018/08/30/handshake-gnome-donation/<p>Handshake and <span class="caps">GNOME</span> Foundation donated $100,000 to <span class="caps">GIMP</span>.</p><p>Earlier this month, <span class="caps">GNOME</span> Foundation announced that they received a $400,000
donation from Handshake.org, of which $100,000 they transferred to <span class="caps">GIMP</span>’s account.</p>
<p>We thank both Handshake.org and <span class="caps">GNOME</span> Foundation for the generous donation and
will use the money to do much overdue hardware upgrade for the core team
members and organize the next hackfest to bring the team together, as well as
sponsor the next instance of <a href="https://libregraphicsmeeting.org">Libre Graphics Meeting</a>.</p>
<p><a href="https://handshake.org">Handshake</a> is a decentralized, permissionless naming protocol compatible
with <span class="caps">DNS</span> where every peer is validating and in charge of managing the root
zone with the goal of creating an alternative to existing Certificate
Authorities. Its purpose is not to replace the <span class="caps">DNS</span> protocol, but to replace
the root zone file and the root servers with a public commons.</p>
<p><span class="caps">GNOME</span> Foundation is a non-profit organization that furthers the goals of the
<a href="https://www.gnome.org/"><span class="caps">GNOME</span> Project</a>, helping it to create a free software computing platform for
the general public that is designed to be elegant, efficient, and easy to use.</p>GIMP 2.10.6 Released2018-08-19T00:00:00+02:002018-08-19T00:00:00+02:00Wilbertag:www.gimp.org,2018-08-19:/news/2018/08/19/gimp-2-10-6-released/<p><span class="caps">GIMP</span> 2.10.6 released with vertical text layers, faster previews, Marathi translation, and more!</p><p>Almost four months have passed since <a href="https://www.gimp.org/news/2018/04/27/gimp-2-10-0-released/"><span class="caps">GIMP</span> 2.10.0 release</a>, and this
is already the fourth version in the series, bringing you bug fixes,
optimizations, and new features.</p>
<p>The most notable changes are listed below (see also the <a href="https://gitlab.gnome.org/GNOME/gimp/blob/3bbebaf6e06229ac893c1d4a34295a156ab28a06/NEWS#L11"><span class="caps">NEWS</span></a> file).</p>
<h1 id="main-changes">Main changes<a class="headerlink" href="#main-changes" title="Permanent link">¶</a></h1>
<h2 id="vertical-text-layers">Vertical text layers<a class="headerlink" href="#vertical-text-layers" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> finally gets support for vertical text (top-to-bottom writing)!
This is a particularly anticipated feature for several
<a href="https://en.wikipedia.org/wiki/Horizontal_and_vertical_writing_in_East_Asian_scripts">East-Asian writing systems</a>, but also for anyone wishing to design
fancy vertical text.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-vertical-text.jpg" alt="Vertical text">
<figcaption>
Vertical text in <span class="caps">GIMP</span> 2.10.6.
</figcaption>
</figure>
<p>For this reason, <span class="caps">GIMP</span> provides several variants of vertical text, with
mixed orientation (as is typical in East-Asian vertical writing) or
upright orientation (more common for Western vertical writing), with
right-to-left, as well as left-to-right columns.</p>
<p>Thanks to <a href="http://reddog.s35.xrea.com">Yoshio Ono</a> for the vertical text implementation!</p>
<h2 id="new-filters">New filters<a class="headerlink" href="#new-filters" title="Permanent link">¶</a></h2>
<p>Two new filters make an entrance in this release:</p>
<h3 id="little-planet">Little Planet<a class="headerlink" href="#little-planet" title="Permanent link">¶</a></h3>
<p>This new filter is built on top of the pre-existing
<code>gegl:stereographic-projection</code> operation and is finetuned to create
“little planets” from 360×180° equirectangular panorama images.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-little-planet.jpg" alt="Little Planet filter">
<figcaption>
Little Planet filter in <span class="caps">GIMP</span> 2.10.6.<br/>
<a href="https://commons.wikimedia.org/wiki/Category:Panoramas#/media/File:Ettling_Isar_Panorama.jpg">Image on canvas</a>: <em>Luftbild Panorama der Isar bei Ettling in Niederbayern</em>, by Simon Waldherr,
(<a href="https://creativecommons.org/licenses/by-sa/4.0"><span class="caps">CC</span> by-sa 4.0</a>).
</figcaption>
</figure>
<h3 id="long-shadow">Long Shadow<a class="headerlink" href="#long-shadow" title="Permanent link">¶</a></h3>
<p>This new <span class="caps">GEGL</span>-based filter simplifies creating long shadows in several visual styles.</p>
<p>
<video width="960" height="492" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-6-long-shadow.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-6-long-shadow.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>There is a handful of configurable options, all helping you to cut extra steps
from getting the desired effect.</p>
<p>The feature was contributed by Ell.</p>
<h2 id="improved-straightening-in-the-measure-tool">Improved straightening in the Measure tool<a class="headerlink" href="#improved-straightening-in-the-measure-tool" title="Permanent link">¶</a></h2>
<p>A lot of people appreciated the new <a href="https://www.gimp.org/news/2018/07/04/gimp-2-10-4-released/#simple-horizon-straightening">Horizon Straightening</a> feature added in
<span class="caps">GIMP</span> 2.10.4. Yet many of you wanted vertical straightening as well. This is now possible.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-vertical-straighten.jpg" alt="Vertical Straightening">
<figcaption>
Vertical straightening in <span class="caps">GIMP</span> 2.10.6.<br/>
<a href="https://en.wikipedia.org/wiki/Wall#/media/File:Western_side_of_the_Great_Mosque_of_Kairouan.jpg">Image on canvas</a>: <em>View of the western enclosing wall of the Great Mosque of Kairouan</em>, by Moumou82,
(<a href="https://creativecommons.org/licenses/by-sa/2.0/"><span class="caps">CC</span> by-sa 2.0</a>).
</figcaption>
</figure>
<p>In the <em>Auto</em> mode (default), <em>Straighten</em> will snap to the smaller angle to
decide for vertical or horizontal straightening. You can override this behavior
by specifying explicitly which it should be.</p>
<h2 id="optimized-drawable-preview-rendering">Optimized drawable preview rendering<a class="headerlink" href="#optimized-drawable-preview-rendering" title="Permanent link">¶</a></h2>
<p>Most creators working on complex projects in <span class="caps">GIMP</span> have had bad days when there
are many layers in a large image, and <span class="caps">GIMP</span> can’t keep up with scrolling the
layers list or showing/hiding layers.</p>
<p>Part of the reason was that <span class="caps">GIMP</span> couldn’t update user interface until it was
done rendering layer previews. Ell again did some miracles here by having most
drawable previews render asynchronously.</p>
<p>For now, the only exception to that are layer groups. Rendering them
asynchronously is still not possible, so until we deal with this too, we made
it possible for you to disable rendering layer group previews completely. Head
over to <em>Preferences > Interface</em> and tick off the respective checkbox.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-layer-group-preview.jpg" alt="Disable preview of layer groups">
<figcaption>
Disable preview of layer groups in <span class="caps">GIMP</span> 2.10.6.
</figcaption>
</figure>
<p>One more thing to mention here. For technically-minded users, the <em>Dashboard</em>
dockable dialog (<a href="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/#dashboard-dockable">introduced in <span class="caps">GIMP</span> 2.10.0</a>) now displays the number of
async operations running in the <em>Misc</em> group.</p>
<h2 id="a-new-localization-marathi">A new localization: Marathi<a class="headerlink" href="#a-new-localization-marathi" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> was already available in 80 languages. Well, it’s <a href="https://l10n.gnome.org/module/gimp/#gimp-2-10">81 languages</a> now!</p>
<p>A team from the <em>North Maharashtra University</em>, Jalgaon, worked on a
<a href="https://en.wikipedia.org/wiki/Marathi_language">Marathi</a> translation and contributed a <a href="https://l10n.gnome.org/languages/mr/gnome-gimp/ui/">nearly full translation</a>
of <span class="caps">GIMP</span>.</p>
<p>Of course, we should not forget all the other translators who do a
wonderful work on <span class="caps">GIMP</span>. In this release, 13 other translations were
updated: Brazilian Portuguese, Dutch, French, German, Greek, Italian,
Latvian, Polish, Romanian, Russian, Slovenian, Spanish, and Swedish.</p>
<p>Thanks everyone!</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-marathi-gimp.jpg" alt="GIMP in Marathi">
<figcaption>
Marathi translation in <span class="caps">GIMP</span> 2.10.6.
</figcaption>
</figure>
<h2 id="file-dialog-filtering-simplified">File dialog filtering simplified<a class="headerlink" href="#file-dialog-filtering-simplified" title="Permanent link">¶</a></h2>
<p>A common cause of confusion in the file dialogs (opening, saving, exporting…)
was the presence of two file format lists, one for displaying files with
a specific extension, the other for the actual file format choice. So we
streamlined this.</p>
<p>There is just one list available now, and it works as both the filter for
displayed images and the file format selector for the image you are about to
save or export.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-file-dialog.jpg" alt="File Dialog">
<figcaption>
File dialog in <span class="caps">GIMP</span> 2.10.6.
</figcaption>
</figure>
<p>Additionally, a new checkbox allows you to display the full list of
files, regardless of the currently chosen file format. This could be
useful when you want to enforce an unusual file extension or reuse an
existing file’s name by choosing it in the list and then appending your extension.</p>
<h2 id="the-end-of-dll-hell-a-note-to-plug-in-developers">The end of <span class="caps">DLL</span> hell? A note to plug-in developers…<a class="headerlink" href="#the-end-of-dll-hell-a-note-to-plug-in-developers" title="Permanent link">¶</a></h2>
<p>A major problem over the years, on Windows, was what developers call the
<a href="https://en.wikipedia.org/wiki/DLL_Hell"><span class="caps">DLL</span> hell</a>. This was mostly
caused either by third-party software installing libraries in system
folders or by third-party plug-ins installing themselves with shared
libraries interfering with other plug-ins.</p>
<p>The former had already been mostly fixed by tweaking the <span class="caps">DLL</span> search priority
order. This release provides an additional fix by taking into account 32-bit
plug-ins running on 64-bit Windows systems
(<a href="https://en.wikipedia.org/wiki/WoW64">WoW64 mode</a>).</p>
<p>The latter was fixed already since <span class="caps">GIMP</span> 2.10.0 <strong>if</strong> you installed your
plug-ins in its own directory (which is not compulsory yet, but will be in
<span class="caps">GIMP</span> 3).</p>
<p>E.g. if you have a plug-in named <code>myplugin.exe</code>, please install it under
<code>plug-ins/myplugin/myplugin.exe</code>. This way, not only you won’t pollute other
plug-ins if you ever included libraries, but your plug-in won’t be prevented
from running by unwanted libraries as well. All our core plug-ins are now installed this way. Any third-party plug-ins should be as well.</p>
<h1 id="ongoing-development">Ongoing Development<a class="headerlink" href="#ongoing-development" title="Permanent link">¶</a></h1>
<h2 id="prepare-for-the-space-invasion">Prepare for the space invasion!<a class="headerlink" href="#prepare-for-the-space-invasion" title="Permanent link">¶</a></h2>
<p>Meanwhile, taking place simultaneously on the babl, <span class="caps">GEGL</span>, and <span class="caps">GIMP</span> 2.99 fronts, pippin and Mitch embarked on a project internally nicknamed the “<a href="https://www.patreon.com/posts/20264674">space invasion</a>“, the end goal of which is to simplify and improve color management in <span class="caps">GIMP</span>, as well as other <span class="caps">GEGL</span>-based projects.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-ongoing-dev-space-invasion.jpg"
alt="Space invasion (ongoing development)">
<figcaption>
Mutant goats from outer space, soon landing in <span class="caps">GIMP</span>.
</figcaption>
</figure>
<p>About a year ago, babl, the library used by <span class="caps">GIMP</span> and <span class="caps">GEGL</span> to perform color conversions, <a href="https://www.patreon.com/posts/babl-primaries-13975931">gained the ability</a> to tie arbitrary <span class="caps">RGB</span> color spaces to existing pixels formats.
This, in turn, allowed <span class="caps">GIMP</span> to start using babl for performing conversions between certain classes of color profiles, instead of relying solely on the <span class="caps">LCMS</span> library, greatly improving performance.
However, these conversions would only take place at the edges between the internal image representation used by <span class="caps">GIMP</span>, and the outside world; internally, the actual color profile of the image had limited effect, leading to inconsistent or incorrect results for certain image-processing operations.</p>
<p>The current effort seeks to change that, by having all image data carry around the information regarding its color profile internally.
When properly handled by <span class="caps">GEGL</span> and <span class="caps">GIMP</span>, this allows babl to perform the right conversions at the right time, letting all image-processing operations be applied in the correct color space.</p>
<p>While the ongoing work toward this goal is already available in the mainline babl and <span class="caps">GEGL</span> versions, we are currently restricting it to the <span class="caps">GIMP</span> 2.99 development version (to become <span class="caps">GIMP</span> 3.0), but it will most likely make its way into a future <span class="caps">GIMP</span> 2.10.x release.</p>
<h2 id="gimp-extensions"><span class="caps">GIMP</span> extensions<a class="headerlink" href="#gimp-extensions" title="Permanent link">¶</a></h2>
<p>Lastly Jehan, from <a href="https://www.patreon.com/zemarmot">ZeMarmot project</a>,
has been working on <a href="https://girinstud.io/news/2018/07/crowdfunding-for-extension-management-in-gimp-and-other-improvements/">extensions in
<span class="caps">GIMP</span></a>.
An extension could be anything from plug-ins to splash images, patterns,
brushes, gradients… Basically anything which could be created and added
by anyone. The end goal would be to allow creators of such extensions to
upload them on public repositories, and for anyone to search and install
them in a few clicks, with version management, updates, etc.</p>
<figure>
<img src="https://www.gimp.org/news/2018/08/19/gimp-2-10-6-released/gimp-2-10-6-ongoing-dev-extensions.jpg"
alt="Extension (Ongoing development)">
<figcaption>
Extension manager in future <span class="caps">GIMP</span>
</figcaption>
</figure>
<p>This work is also only in the development branch for the time being,
but should make it to a <span class="caps">GIMP</span> 2.10.x release at some point in the future
as well.</p>
<h2 id="helping-development">Helping development<a class="headerlink" href="#helping-development" title="Permanent link">¶</a></h2>
<p>Keep in mind that pippin and Jehan are able to work on <span class="caps">GEGL</span> and <span class="caps">GIMP</span> thanks
to crowdfunding and the support of the community.
Every little bit helps to support their work and helps to make <span class="caps">GIMP</span>/<span class="caps">GEGL</span> even
more awesome!
If you have a moment, check out their support pages:</p>
<ul>
<li><a href="https://www.patreon.com/pippin" title="Øyvind Kolås Patreon Page">pippin Patreon</a></li>
<li><a href="https://www.patreon.com/zemarmot" title="ZeMarmot Patreon Page">Jehan Patreon</a> (ZeMarmot)</li>
</ul>
<p>Most importantly: have fun with <span class="caps">GIMP</span> everyone!</p>GIMP 2.10.4 Released2018-07-04T00:00:00+02:002018-07-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2018-07-04:/news/2018/07/04/gimp-2-10-4-released/<p>The latest update of the stable series delivers bugfixes, simple horizon straightening, async fonts loading, fonts tagging, and more new features.</p><p>The latest update of <span class="caps">GIMP</span>’s new stable series delivers bugfixes, simple horizon straightening, async fonts loading, fonts tagging, and more new features.</p>
<h2 id="simple-horizon-straightening">Simple Horizon Straightening<a class="headerlink" href="#simple-horizon-straightening" title="Permanent link">¶</a></h2>
<p>A common use case for the <em>Measure</em> tool is getting <span class="caps">GIMP</span> to calculate the angle
of rotation, when horizon is uneven on a photo. <span class="caps">GIMP</span> now removes the extra step
of performing rotation manually: after measuring the angle, just click the
newly added <strong>Straighten</strong> button in the tool’s settings dialog.</p>
<figure>
<img src="https://www.gimp.org/news/2018/07/04/gimp-2-10-4-released/gimp-2-10-4-straighten.jpg" alt="Straightening images">
<figcaption>
Straightening images in <span class="caps">GIMP</span> 2.10.4.
</figcaption>
</figure>
<h2 id="asynchronous-fonts-loading">Asynchronous Fonts Loading<a class="headerlink" href="#asynchronous-fonts-loading" title="Permanent link">¶</a></h2>
<p>Loading all available fonts on start-up can take quite a while, because as soon
as you add new fonts or remove existing ones, fontconfig (a 3rd party utility
<span class="caps">GIMP</span> uses) has to rebuild the fonts cache. Windows and macOS users suffered the
most from it.</p>
<p>Thanks to Jehan Pagès and Ell, <span class="caps">GIMP</span> now performs the loading of fonts in a
parallel process, which dramatically improves startup time. The caveat is that
in case you need to immediately use the <em>Text</em> tool, you might have to wait till
all fonts complete loading. <span class="caps">GIMP</span> will notify you of that.</p>
<p>
<video width="960" height="492" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-4-background-fonts-loading.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-4-background-fonts-loading.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<h2 id="fonts-tagging">Fonts Tagging<a class="headerlink" href="#fonts-tagging" title="Permanent link">¶</a></h2>
<p>Michael Natterer introduced some internal changes to make fonts taggable.
The user interface is the same as for brushes, patterns, and gradients.</p>
<p><span class="caps">GIMP</span> doesn’t yet automatically generate any tags from fonts metadata, but this
is something we keep on our radar. Ideas and, better yet, patches are welcome!</p>
<h2 id="dashboard-updates">Dashboard Updates<a class="headerlink" href="#dashboard-updates" title="Permanent link">¶</a></h2>
<p>Ell added several new features to the <em>Dashboard</em> dockable dialog that helps
debugging <span class="caps">GIMP</span> and <span class="caps">GEGL</span> or, for end-users, finetune the use of cache and swap.</p>
<p>New <em>Memory</em> group of widgets shows currently used memory size, the available
physical memory size, and the total physical memory size. It can also show the
tile-cache size, for comparison against the other memory stats.</p>
<figure>
<img src="https://www.gimp.org/news/2018/07/04/gimp-2-10-4-released/gimp-2-10-4-dashboard.jpg" alt="Updated Dashboard">
<figcaption>
Updated Dashboard in <span class="caps">GIMP</span> 2.10.4.
</figcaption>
</figure>
<p>Note that the upper-bound of the meter is the physical memory size, so the
memory usage may be over 100% when <span class="caps">GIMP</span> uses the swap.</p>
<p>The <em>Swap</em> group now features “read” and “written” fields which report the total
amount of data read-from/written-to the tile swap, respectively. Additionally,
the swap busy indicator has been improved, so that it’s active whenever data has
been read-from/written-to the swap during the last sampling interval, rather
than at the point of sampling.</p>
<h2 id="psd-loader-improvements"><span class="caps">PSD</span> Loader Improvements<a class="headerlink" href="#psd-loader-improvements" title="Permanent link">¶</a></h2>
<p>While we cannot yet support <span class="caps">PSD</span> features such as adjustment layers, there is one
thing we can do for users who just need a file to render correctly in <span class="caps">GIMP</span>.
Thanks to Ell, <span class="caps">GIMP</span> now can load a “merged”, pre-composited version of the
image, that becomes available when a <span class="caps">PSD</span> file was saved with “Maximize
Compatibility” option enabled in Photoshop.</p>
<p>This option is currently exposed as an additional file type (“Photoshop image
(merged)”), which has to be explicitly selected from the filetype list when
opening the image. <span class="caps">GIMP</span> then will render the file correctly, but drop certain
additional data from the file, such as channels, paths, and guides, while
retaining metadata.</p>
<h2 id="builds-for-macos-make-a-comeback">Builds for macOS Make a Comeback<a class="headerlink" href="#builds-for-macos-make-a-comeback" title="Permanent link">¶</a></h2>
<p><a href="https://download.gimp.org/gimp/v2.10/osx/testing/">Beta builds</a> of <span class="caps">GIMP</span> 2.10 for macOS are available now. We haven’t eliminated
all issues yet, and we appreciate your feedback.</p>
<h2 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h2>
<p>Ell further improved the <em>Recursive Transform</em> operation, allowing multiple
transformations to be applied simultaneously. He also fixed the trimming of
tile xache into the swap.</p>
<p>
<video width="960" height="636" controls>
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-4-recursive-multiple-transform.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.10/gimp-2-10-4-recursive-multiple-transform.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>New <em>Selective Hue-Saturation</em> operation by Miroslav Talasek is now available in
the workshop. The idea is that you can choose a hue, then select width of the
hues range around that base hue, then tweak saturation of all affected pixels.</p>
<p>Øyvind Kolås applied various fixes to the <em>Pixelize</em> operation and added the
“needs-alpha” meta-data to <em>Color to Alpha</em> and <em>svg-luminancetoalpha</em>
operations. He also added a <em>Threshold</em> setting to the <em>Unsharp Mask</em> filter
(now called <em>Sharpen (Unsharp Mask)</em>) to restore and improve the legacy
<em>Unsharp Mask</em> implementation from <span class="caps">GIMP</span> prior to v2.10.</p>
<p>In babl, Ell introduced various improvements to the babl-palette code, including
making the default palette initialization thread-safe. Øyvind Kolås added an
R~G~B~ set of spaces (which for all BablSpaces mean use sRGB <span class="caps">TRC</span>), definitions
of ACEScg and <span class="caps">ACES2065</span>-1 spaces, and made various clean-ups. Elle Stone
contributed a fix for fixed-to-double conversions.</p>
<h2 id="ongoing-development">Ongoing Development<a class="headerlink" href="#ongoing-development" title="Permanent link">¶</a></h2>
<p>While we spend as much time on bugfixing in 2.10.x as we can, our main goal
is to complete the <span class="caps">GTK</span>+3 port as soon as possible. There is a side effect of
this work: we keep discovering old subpar solutions that frustrate us until
we fix them. So there is both <span class="caps">GTK</span>+3 porting and refactoring, which means we
can’t predict when it’ll be done.</p>
<p>Recently, we also revitalized an outdated subproject called ‘gimp-data-extras’
with the sole purpose of keeping the Alpha-to-Logo scripts that we removed
from 2.10 due to poor graphics quality. Since some users miss those scripts,
there is now a simple way to get them back: download
<a href="https://download.gimp.org/gimp/extras/">gimp-data-extras v2.0.4</a>, unpack the archive, and copy all ‘.scm’ files
from the ‘scripts’ folder to your local <span class="caps">GIMP</span>’s ‘scripts’ folder.</p>GIMP has moved to Gitlab2018-05-31T00:00:00+02:002018-05-31T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2018-05-31:/news/2018/05/31/gimp-has-moved-to-gitlab/<p><span class="caps">GIMP</span> has moved to new Gitlab-based infrastructure provided by <span class="caps">GNOME</span>.</p><p>Along with the <span class="caps">GEGL</span> and babl libraries, <span class="caps">GIMP</span> has moved to a new collaborative
programming infrastructure based on <a href="https://www.gitlab.com" title="GitLab website">Gitlab</a> and hosted by <a href="https://www.gnome.org/" title="GNOME website"><span class="caps">GNOME</span></a>. The new URLs are:</p>
<ul>
<li><a href="https://gitlab.gnome.org/GNOME/gimp">https://gitlab.gnome.org/<span class="caps">GNOME</span>/gimp</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/gegl">https://gitlab.gnome.org/<span class="caps">GNOME</span>/gegl</a></li>
<li><a href="https://gitlab.gnome.org/GNOME/babl">https://gitlab.gnome.org/<span class="caps">GNOME</span>/babl</a></li>
</ul>
<p>On the end-user side, this mostly means an improved bug reporting experience.
The submission is easier to fill in, and we provide two templates — one for bug
reports and one for feature requests.</p>
<figure>
<img src="https://www.gimp.org/news/2018/05/31/gimp-has-moved-to-gitlab/gitlab-new-issue-form.png" alt="New issue form on Gitlab" width='879' height='873'>
<figcaption>
New issue form on Gitlab.
</figcaption>
</figure>
<p>For developers, it means simplified contribution, as you can simply fork the
<span class="caps">GIMP</span> repository, commit changes, and send a merge request. Please note that
while we accept merge requests, we only do that in cases when patches can be
fast-forwarded. That means you need to rebase your fork on the master branch
(we’ll see if we can do merge requests for the ‘gimp-2-10’ branch).</p>
<p>In the meantime, work continues in both ‘master’ branch (<span class="caps">GTK</span>+3) porting and
the ‘gimp-2-10’ branch. Most notably, Ell and Jehan Pagès have been improving
the user-perceivable time it takes <span class="caps">GIMP</span> to load fonts by adding the
asynchronous loading of resources on startup.</p>
<p>What it means is that font loading does not block startup anymore, but if you
have a lot of fonts and you want to immediately use the <em>Text</em> tool, you might
have to wait.</p>
<p>
<video width="830" height="467" controls>
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-1-fonts-loading-warning.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.99/gimp-2-99-1-fonts-loading-warning.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>The <span class="caps">API</span> is general rather than fonts-specific and can be further used to add
the background loading of brushes, palettes, patterns etc.</p>GIMP 2.10.2 Released2018-05-20T00:00:00+02:002018-05-20T00:00:00+02:00Jehan Pagèstag:www.gimp.org,2018-05-20:/news/2018/05/20/gimp-2-10-2-released/<p><span class="caps">GIMP</span> 2.10.2 released (bug fixes, <span class="caps">HEIF</span> support and new filters)</p><p>It’s barely been a month since we released <span class="caps">GIMP</span> 2.10.0, and the
first bugfix version 2.10.2 is already there!
Its main purpose is fixing the various bugs and issues
which were to be expected after the 2.10.0 release.</p>
<p><strong>Therefore, 44 bugs have been fixed in less than a month!</strong></p>
<p>We have also been relaxing the policy for new
features and this is the first time we will be applying this policy
with features in a stable micro release! How cool is that?</p>
<p><em>For a complete list of changes please see <a href="https://git.gnome.org/browse/gimp/tree/NEWS"><span class="caps">NEWS</span></a>.</em></p>
<h1 id="new-features">New features<a class="headerlink" href="#new-features" title="Permanent link">¶</a></h1>
<h2 id="added-support-for-heif-image-format">Added support for <span class="caps">HEIF</span> image format<a class="headerlink" href="#added-support-for-heif-image-format" title="Permanent link">¶</a></h2>
<p>This release brings <a href="https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format" title="High Efficiency Image File Format"><span class="caps">HEIF</span></a> image support, both for loading and export!</p>
<p>Thanks to Dirk Farin for the <span class="caps">HEIF</span> plug-in.</p>
<h2 id="new-filters">New filters<a class="headerlink" href="#new-filters" title="Permanent link">¶</a></h2>
<p>Two new filters have been added, based off <span class="caps">GEGL</span> operations:</p>
<p><strong>Spherize</strong> filter to wrap an image around a spherical cap, based on the
<code>gegl:spherize</code> operation.</p>
<figure>
<img src="https://www.gimp.org/news/2018/05/20/gimp-2-10-2-released/gimp-2-10-2-spherize.png" alt="Spherize filter">
<figcaption>
Spherize filter in <span class="caps">GIMP</span> 2.10.2.
<br/>
<a href="https://film.zemarmot.net/">Original image <span class="caps">CC</span>-<span class="caps">BY</span>-<span class="caps">SA</span> by Aryeom Han</a>.
</figcaption>
</figure>
<p><strong>Recursive Transform</strong> filter to create a Droste effect, based on the
<code>gegl:recursive-transform</code> operation.</p>
<figure>
<img src="https://www.gimp.org/news/2018/05/20/gimp-2-10-2-released/gimp-2-10-2-recursive-transform.png" alt="Recursive Transform filter">
<figcaption>
Recursive transform filter in <span class="caps">GIMP</span> 2.10.2, with a custom on-canvas interface.
<br/>
<a href="https://www.flickr.com/photos/philipphaegi/39057406754">Original image
<span class="caps">CC</span>-<span class="caps">BY</span> by Philipp Haegi</a>.
</figcaption>
</figure>
<h1 id="noteworthy-improvements">Noteworthy improvements<a class="headerlink" href="#noteworthy-improvements" title="Permanent link">¶</a></h1>
<h2 id="better-single-window-screenshots-on-windows">Better single-window screenshots on Windows<a class="headerlink" href="#better-single-window-screenshots-on-windows" title="Permanent link">¶</a></h2>
<p>While the screenshot plug-in was already better in <span class="caps">GIMP</span> 2.10.0, we
had a few issues with single-window screenshots on Windows
when the target window was hidden behind other windows,
partly off-screen, or when display scaling was activated.</p>
<p>All these issues have been fixed by our new contributor Gil Eliyahu.</p>
<h2 id="histogram-computation-improved">Histogram computation improved<a class="headerlink" href="#histogram-computation-improved" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> now calculates histograms in separate threads which eliminates some
<span class="caps">UI</span> freezes. This has been implemented with some new internal APIs which
may be reused later for other cases.</p>
<h1 id="working-with-third-parties">Working with third-parties<a class="headerlink" href="#working-with-third-parties" title="Permanent link">¶</a></h1>
<h2 id="packagers-set-your-bug-tracker-address">Packagers: set your bug tracker address<a class="headerlink" href="#packagers-set-your-bug-tracker-address" title="Permanent link">¶</a></h2>
<p>As you know, we now have a debug dialog which may pop-up when crashes
occur with debug information. This dialog opens our bug tracker in a browser.</p>
<p>We realized that we get a lot of bugs from third-party builds, and a
significant part of the bugs are package-specific. In order to relieve
that burden a bit (because we are a very small team), we would
appreciate if packagers could make a first triaging of bugs, reporting
to us what looks like actual <span class="caps">GIMP</span> bugs, and taking care of their own
packaging issues themselves.</p>
<p>This is why our <code>configure</code> script now has the <code>--with-bug-report-url</code>
option, allowing you to set your own bug tracker web <span class="caps">URL</span>. This way, when
people click the “<em>Open Bug Tracker</em>” button it will open the
package bug tracker instead.</p>
<h2 id="xcf-reader-developers-format-is-documented"><span class="caps">XCF</span>-reader developers: format is documented<a class="headerlink" href="#xcf-reader-developers-format-is-documented" title="Permanent link">¶</a></h2>
<p>Since 2006, our work format, <span class="caps">XCF</span>, is
<a href="https://git.gnome.org/browse/gimp/tree/devel-docs/xcf.txt">documented</a>
thanks to the initial contribution of Henning Makholm. We have recently
updated this document to integrate all the changes to the format since
the <span class="caps">GIMP</span> 2.10.0 release.</p>
<p>Any third-party applications wishing to read <span class="caps">XCF</span> files can refer to
this updated documentation.
The <a href="https://git.gnome.org/browse/gimp/log/devel-docs/xcf.txt">git log view</a>
may actually be more interesting since you can more easily spot the changes
and new features which have been documented recently.</p>
<p>Keep in mind that <span class="caps">XCF</span> is not meant to be an interchange format
(unlike for instance <a href="https://www.openraster.org/">OpenRaster</a>) and
this document is not a “specification”.
The <span class="caps">XCF</span> reference document is the code itself.
Nevertheless we are happy to help third-party applications,
and if you spot any error or issues within this document feel free to
<a href="https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP">open a bug report</a>
so we can fix it.</p>
<h1 id="gimp-3-is-already-on-its-way"><span class="caps">GIMP</span> 3 is already on its way…<a class="headerlink" href="#gimp-3-is-already-on-its-way" title="Permanent link">¶</a></h1>
<p>While <span class="caps">GIMP</span> 2.10.0 was still hot and barely released, our developers started
working on <span class="caps">GIMP</span> 3.
One of the main tasks is cleaning the code from the many deprecated pieces
of code or data as well as from code made useless by the switch to <span class="caps">GTK</span>+ 3.x.</p>
<p>The deletion is really going full-speed with more than
<a href="https://git.gnome.org/browse/gimp/log/?h=gtk3-port">200 commits</a> made in
less than a month on the gtk3-port git branch and with 5 times more
lines deleted than inserted in the last few weeks.</p>
<p><em>Delete delete delete… exterminate!</em></p>
<figure>
<img src="https://www.gimp.org/news/2018/05/20/gimp-2-10-2-released/gimp-2-10-2-exterminate-bugs.png" alt="Exterminate (GTK+2)!">
<figcaption>
Michael Natterer and Jehan portrayed by Aryeom.
<br/>
It’s actually misses Simon Budig, a long time contributor who made a big
comeback on the <span class="caps">GTK</span>+3 port with dozens of commits!
</figcaption>
</figure>GIMP 2.10.0 Released2018-04-27T00:00:00+02:002018-04-27T00:00:00+02:00Wilbertag:www.gimp.org,2018-04-27:/news/2018/04/27/gimp-2-10-0-released/<p><span class="caps">GIMP</span> 2.10.0 is now out with a boom!</p><p>The long-awaited <span class="caps">GIMP</span> 2.10.0 is finally here! This is a huge release,
which contains the result of 6 long years of work (<a href="https://www.gimp.org/news/2012/05/03/gimp-28-released/"><span class="caps">GIMP</span>
2.8 was released almost exactly 6 years
ago!</a>) by a
small but dedicated <a href="https://www.openhub.net/p/gimp/contributors/summary">core of
contributors</a>.</p>
<h1 id="the-changes-in-short">The Changes in short<a class="headerlink" href="#the-changes-in-short" title="Permanent link">¶</a></h1>
<p>We are not going to list the full changelog here, since you can get a
better idea with our <a href="https://www.gimp.org/release-notes/gimp-2.10.html">official <span class="caps">GIMP</span> 2.10 release
notes</a>. To get an even more
detailed list of changes please see the
<a href="https://git.gnome.org/browse/gimp/tree/NEWS.pre-2-10"><span class="caps">NEWS</span></a> file.</p>
<p>Still, to get you a quick taste of <span class="caps">GIMP</span> 2.10, here are some of the most
notable changes:</p>
<ul>
<li>Image processing nearly fully ported to <a href="https://gegl.org"><span class="caps">GEGL</span></a>,
allowing high bit depth processing, multi-threaded and hardware
accelerated pixel processing, and more.</li>
<li>Color management is a core feature now, most widgets and preview areas
are color-managed.</li>
<li>Many improved tools, and several new and exciting tools, such as the
Warp transform, the Unified transform and the Handle transform tools.</li>
<li>On-canvas preview for all filters ported to <span class="caps">GEGL</span>.</li>
<li>Improved digital painting with canvas rotation and flipping, symmetry
painting, <a href="http://mypaint.org/">MyPaint</a> brush support…</li>
<li>Support for several new image formats added (OpenEXR, <span class="caps">RGBE</span>, WebP, <span class="caps">HGT</span>), as
well as improved support for many existing formats (in particular
more robust <span class="caps">PSD</span> importing).</li>
<li>Metadata viewing and editing for Exif, <span class="caps">XMP</span>, <span class="caps">IPTC</span>, and <span class="caps">DICOM</span>.</li>
<li>Basic HiDPI support: automatic or user-selected icon size.</li>
<li>New themes for <span class="caps">GIMP</span> (Light, Gray, Dark, and System) and new symbolic
icons meant to somewhat dim the environment and shift the focus
towards content (former theme and color icons are still available in Preferences).</li>
<li>And more, better, more, and even more awesome!</li>
</ul>
<p><a class="NewsButton"
href="https://www.gimp.org/release-notes/gimp-2.10.html"
title="GIMP 2.10.0 Release Notes" >
» <span class="caps">READ</span> <span class="caps">COMPLETE</span> <span class="caps">RELEASE</span> <span class="caps">NOTES</span> «
</a></p>
<h1 id="enjoy-gimp">Enjoy <span class="caps">GIMP</span>!<a class="headerlink" href="#enjoy-gimp" title="Permanent link">¶</a></h1>
<figure>
<img src="https://www.gimp.org/news/2018/04/27/gimp-2-10-0-released/gimp-2-10-0-Wilber-pepper.png" alt="Wilber likes it spicy!" width='714' height='602' />
</figure>GIMP 2.10.0 Release Candidate 2 Released2018-04-17T00:00:00+02:002018-04-17T00:00:00+02:00Wilbertag:www.gimp.org,2018-04-17:/news/2018/04/17/gimp-2-10-0-rc2-released/<p><span class="caps">GIMP</span> 2.10.0-rc2: so close…</p><p>Hot on the heels of the first release candidate, we’re happy to have a second
<span class="caps">RC</span> ready! In the last 3 weeks since releasing <span class="caps">GIMP</span> 2.10.0-<span class="caps">RC1</span>, we’ve fixed
<strong>44 bugs</strong> and introduced important performance improvements.</p>
<p>As usual, for a complete list of changes please see <a href="https://git.gnome.org/browse/gimp/tree/NEWS"><span class="caps">NEWS</span></a>.</p>
<h2 id="optimizations-and-multi-threading-for-painting-and-display">Optimizations and multi-threading for painting and display<a class="headerlink" href="#optimizations-and-multi-threading-for-painting-and-display" title="Permanent link">¶</a></h2>
<p>A major regression of <span class="caps">GIMP</span> 2.10, compared to 2.8, was slower painting.
To address this issue, several contributors (Ell, <a href="https://girinstud.io/en/">Jehan</a>, Massimo Valentini,
<a href="https://www.patreon.com/pippin">Øyvind Kolås</a>…) introduced improvements to the <span class="caps">GIMP</span> core, as well as to the
<span class="caps">GEGL</span> and babl libraries. Additionally, <a href="https://ninedegreesbelow.com/">Elle Stone</a> and <a href="http://americogobbo.com.br/">Jose Americo Gobbo</a>
contributed performance testing.</p>
<p>The speed problems pushed Ell to implement multi-threading within <span class="caps">GIMP</span>, so
that painting and display are now run on separate threads, thus greatly
speeding up feedback of the graphical interface.</p>
<p>The new parallelization framework is not painting-specific and could be
used for improving other parts of <span class="caps">GIMP</span>.</p>
<h2 id="themes-rewritten">Themes rewritten<a class="headerlink" href="#themes-rewritten" title="Permanent link">¶</a></h2>
<p>Since the development version 2.9.4, we had <a href="https://www.gimp.org/news/2016/07/13/gimp-2-9-4-released/">new themes shipped with
<span class="caps">GIMP</span></a>, and in
particular dark themes (as is now common for creative applications).
Unfortunately they were unmaintained, bugs kept piling up, and the user
experience wasn’t exactly stellar.</p>
<figure>
<img src="https://www.gimp.org/news/2018/04/17/gimp-2-10-0-rc2-released/gimp-2-10-rc-2-themes.png" alt="GIMP Themes" width="656" height="713">
<figcaption>
Light, Gray, and Dark themes.
</figcaption>
</figure>
<p>Our long-time contributor <a href="http://shadowdrama.net/">Ville Pätsi</a> took up the task of creating
brand new themes without any of the usability issues and glitches of
previous ones. While cleaning up, only the <em>Gray</em> theme has been kept,
whereas <em>Light</em> and <em>Dark</em> were rewritten from scratch. <em>Darker</em> and
<em>Lighter</em> themes have been removed (they won’t likely reappear unless
someone decides to rewrite and contribute them as well, and unless this
person stays around for maintenance).</p>
<h2 id="gradient-tool-improved-to-work-in-linear-color-space">Gradient tool improved to work in linear color space<a class="headerlink" href="#gradient-tool-improved-to-work-in-linear-color-space" title="Permanent link">¶</a></h2>
<p>Thanks to Michael Natterer and Øyvind Kolås, the gradient tool can now work in
either perceptual <span class="caps">RGB</span>, linear <span class="caps">RGB</span>, or <span class="caps">CIE</span> <span class="caps">LAB</span> color space at your preference.</p>
<figure>
<img src="https://www.gimp.org/news/2018/04/17/gimp-2-10-0-rc2-released/gimp-2-10-rc-2-gradient-tool-linear.jpg" alt="Gradient tool in linear space" width="1260" height="788">
<figcaption>
Gradient tool in perceptual and linear spaces
</figcaption>
</figure>
<p>We also used the opportunity to rename the tool, which used to be called
“Blend tool” until now, even though barely anyone uses such name. “Gradient
tool” is a much more understandable naming.</p>
<h2 id="new-on-canvas-control-for-3d-rotation">New on-canvas control for 3D rotation<a class="headerlink" href="#new-on-canvas-control-for-3d-rotation" title="Permanent link">¶</a></h2>
<p>A new widget for on-canvas interaction of 3D rotation (yaw, pitch, roll)
has been implemented by Ell. This new widget is currently only used for
the Panorama Projection filter.</p>
<figure>
<img src="https://www.gimp.org/news/2018/04/17/gimp-2-10-0-rc2-released/gimp-2-10-rc-2-gegl-pano.jpg" alt="GEGL Panorama View" width="1260" height="1018">
<figcaption>
Panorama projection filter
(image: <a href="https://commons.wikimedia.org/wiki/File:Hellbrunn_banqueting_hall_360_panoramic_view.jpg">Hellbrunn Banquet Hall</a> by Matthias Kabel (<span class="cc"><a href="https://creativecommons.org/licenses/by-sa/3.0/deed.en">cba</a></span>))
</figcaption>
</figure>
<h2 id="improvements-in-handling-masks-channels-and-selections">Improvements in handling masks, channels, and selections<a class="headerlink" href="#improvements-in-handling-masks-channels-and-selections" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> doesn’t do any gamma conversion when converting between selection,
channels, and masks anymore. This makes the selection -> channel -> selection
roundtrips correct and predictable.</p>
<p>Additionally, for all >8-bit per channel images, <span class="caps">GIMP</span> now uses linear color
space for channels. This and many other fixes in the new release were done
by Michael Natterer.</p>
<h2 id="translations">Translations<a class="headerlink" href="#translations" title="Permanent link">¶</a></h2>
<p>8 translations have been updated between the two release candidates.
We are very close to releasing the final version of <span class="caps">GIMP</span> 2.10.0. If you
plan to update a translation into your language and be in time for the release,
we recommend starting now.</p>
<h2 id="gegl-changes"><span class="caps">GEGL</span> changes<a class="headerlink" href="#gegl-changes" title="Permanent link">¶</a></h2>
<p>Mosty of the changes in <span class="caps">GEGL</span> since the release in March are performance
improvements and micro-optimizations in display paths. Additionally, avoiding
incorrectly gamma/ungamma correcting alpha in u8 formats provides a tiny
2-3% performance boost.</p>
<p>For further work on mipmaps support, <span class="caps">GEGL</span> now keeps track of valid/invalid
areas on smaller granularity than tiles in mipmap.</p>
<p>The <em>Panorama Projection</em> operation got reverse transform, which permits using
<span class="caps">GIMP</span> for retouching zenith, nadir or other arbitrary gaze directions in
equirectangular, also known as 360×180 panoramas.</p>
<p>Finally, abyss policy support in the base class for scale operations now makes
it possible to achieve hard edges on rescaled buffers.</p>
<h2 id="whats-next">What’s Next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>We are now <strong>7 blocker bugs</strong> away from the final release.</p>
<p>On your marks, get set…</p>Fun at SCaLE 20182018-04-03T00:00:00+02:002018-04-03T00:00:00+02:00Pat Davidtag:www.gimp.org,2018-04-03:/news/2018/04/03/fun-at-scale-2018/<p>On a Libre Graphics track at the Southern California Linux Expo</p><p>I am finally back and have a moment to write a bit about the wonderful time I had out in Pasadena at the <a href="https://www.socallinuxexpo.org/scale/16x" title="Southern California Linux Expo">Southern California Linux Expo</a> (SCaLE 16x)!</p>
<figure>
<img src="https://www.gimp.org/news/2018/2018-01-09_LGM_SCaLE/SCaLE_16x_Logo.png" alt="SCaLE 16x Logo">
</figure>
<p>SCaLE has been held annualy in southern California for many years (the “16x” indicates this is the sixteenth annual meeting - though they’ve been holding meetings for longer as a <span class="caps">LUG</span>).</p>
<h2 id="libre-graphics-track">Libre Graphics Track<a class="headerlink" href="#libre-graphics-track" title="Permanent link">¶</a></h2>
<p>This year, Nate Willis reached out to see if we might be willing to help organize the first ever “Libre Graphics” track at the meeting.
Usually the conference is geared towards enterprise technologies and users, but we thought it might be a nice opportunity to bring to light some of the awesome graphics projects that are out there.</p>
<p>It was an awesome opportunity to share the stage with some really talented folks.
The days track and presentations can all be seen here:</p>
<ul>
<li>
<p><strong>Laidout</strong><br>
by <a href="https://www.tomlechner.com/" title="the art of Tom Lechner">Tom Lechner</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/sR0S4hzExVE" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Extending Inkscape with <span class="caps">SVG</span> Filters</strong><br>
by <a href="https://gould.cx/ted/" title="TedPage">Ted Gould</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/hDPFCb7qZWk" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Busting Things Up with the Fracture Modifier <span class="caps">VFX</span> Branch of Blender</strong><br>
by <span class="caps">JT</span> Nelson
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/TrYBqGZFznk" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Making freely licensed movies with freely licensed tools</strong><br>
by <a href="https://mat.tl/">Matt Lee</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/-gFuGQSM8cM" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Developers, Developers, Developers—How About Creatives</strong><br>
by <a href="https://ryangorley.com/">Ryan Gorley</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/NI6Y3qBtUAA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Why the <span class="caps">GIMP</span> Team Obviously Hates You</strong><br>
by <a href="https://patdavid.net" title="patdavid.net">Pat David</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/AemoQzCFHpc" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
<li>
<p><strong>Git for Photographers</strong><br>
by <a href="https://silentumbrella.com/" title="Mica Semrick">Mica Semrick</a>
<br>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/qDo9bSG8hOg" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</p>
</li>
</ul>
<p>Overall it was a great day filled with some really neat presentations.
More importantly was the opportunity to demonstrate to the attendees that the world of Libre Graphics projects is alive and well!
The talks were well attended (approx 30-40 visitors depending on the talk) and the interest and participation was quite nice.
Each speaker found a receptive audience with interested follow-on questions (my presentation had about 12 minutes of questions at the end).</p>
<p>One of the most ineresting take-aways at the end of my presentation (and in the following weeks through email) was the astonishment people had at the size of the team working on <span class="caps">GIMP</span>.
It seemed that the overall impression was that there was some large team of folks hacking on the project, and many people were amazed that the crew is actually as small as it is.</p>
<p>What was heartening was the number of attendees after my presentation who took the time to offer their help in some way.
These were all offers to help with writing tutorials or other non-development roles.
Possible tasking for various areas of help will be communicated to those offering which should result in some new and/or updated tutorials soon!</p>
<h2 id="gimp-inkscape-expo-booth"><span class="caps">GIMP</span> + Inkscape Expo Booth<a class="headerlink" href="#gimp-inkscape-expo-booth" title="Permanent link">¶</a></h2>
<p>Even better was the opportunity to share a booth at the Expo with the Inkscape team.
Presenting is fantastic fun, and I love it, but it’s ridiculously humbling to get a chance to meet face-to-face with users (in the booth on the expo floor) and to hear their stories, soak in their praise, or deflect their anger to someone else while quietly sneaking away (<em>kidding of course</em>).</p>
<p>Thanks to the great work of Ryan Gorley we even had a pair of fantastic banners to hang in the booth:</p>
<figure>
<img src="https://www.gimp.org/news/2018/04/03/fun-at-scale-2018/gimp-inkscape-banners.jpg" alt="GIMP + Inkscape Banners">
<figcaption>
Ryan Gorley was kind enough to design this pair of banners we hung in the booth.
</figcaption>
</figure>
<p>There was great foot traffic during the expo and we had an opportunity to meet with and chat with quite a few folks making their way through the expo floor.
There were even a few folks who had heard of <span class="caps">GIMP</span> but hadn’t really taken the time to look at it (which was a great opportunity to talk about the project and what they could do with it).
Everyone was extremely kind and gracious.</p>
<figure>
<img src="https://www.gimp.org/news/2018/04/03/fun-at-scale-2018/gimp-inkscape-booth.jpg" alt="GIMP + Inkscape Booth">
<figcaption>
The booth! With yours truly in the bottom left.
</figcaption>
</figure>
<p>Overall the conference was a success, I’d say!
We had an opportunity to help represent the world of Free Software graphics applications and to showcase works using these tools to an audience that might not have otherwise considered them.
There were quite a few attendees who were surprised to see us and very engaged both in the booth and during the Libre Graphics track and we sparked a nice interest in people volunteering to help with non-programming related tasks (whose willingness to help out is <em>greatly</em> appreciated).</p>GIMP 2.10.0 Release Candidate 1 Released2018-03-26T00:00:00+02:002018-03-26T00:00:00+02:00Wilbertag:www.gimp.org,2018-03-26:/news/2018/03/26/gimp-2-10-0-rc1-released/<p><span class="caps">GIMP</span> 2.10.0-rc1: bugfixes, stability and polish</p><p>Newly released <span class="caps">GIMP</span> 2.10.0-<span class="caps">RC1</span> is the first release candidate before the <span class="caps">GIMP</span> 2.10.0 stable release. With 142 bugs fixed and more than 750 commits since the 2.9.8 development version from mid-December, the focus has really been on getting the last details right.</p>
<p>All the new features we added for this release are instrumental in either improving how <span class="caps">GIMP</span> handles system resources, or helping you to report bugs and recover lost data. For a complete list of changes please see <a href="https://git.gnome.org/browse/gimp/tree/NEWS"><span class="caps">NEWS</span></a>.</p>
<p>(Update): Thanks to <em>Ell</em> the windows installer (64-bit) is now available from the <a href="/downloads/devel/">Development Downloads</a> page.</p>
<h2 id="new-features">New features<a class="headerlink" href="#new-features" title="Permanent link">¶</a></h2>
<h3 id="dashboard-dockable">Dashboard dockable<a class="headerlink" href="#dashboard-dockable" title="Permanent link">¶</a></h3>
<p>A new <em>Dashboard</em> dock helps with monitoring <span class="caps">GIMP</span>’s resource usage to keep things in check, allowing you to make more educated decisions about various configuration options.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-dashboard.jpg" alt="Dashboard dock" width='950' height='685' />
</figure>
<p>On the developer side, it also helps us in debugging and profiling various operations or parts of the interface, which is important in our constant quest to improve <span class="caps">GIMP</span> and <span class="caps">GEGL</span>, and detect which parts are the biggest bottlenecks.</p>
<p>The feature was contributed by <em>Ell</em> — one of <span class="caps">GIMP</span>’s most productive
developers of late.</p>
<h3 id="debug-dialog">Debug dialog<a class="headerlink" href="#debug-dialog" title="Permanent link">¶</a></h3>
<p>What we consistently hear from users is that they have had zero <span class="caps">GIMP</span>
crashes in years of using it. Still, as with any software, it is not exempt from bugs, and unfortunately sometimes might even crash.</p>
<p>While we encourage you to report all bugs you encounter, we do admit that producing useful information for a report can be difficult, and there is little we can do about a complaint that says <em>“<span class="caps">GIMP</span> crashed. I don’t know what I was doing and I have no logs”</em>.</p>
<p>So <span class="caps">GIMP</span> now ships with a built-in <a href="https://girinstud.io/news/2018/02/automatic-bug-report-stack-traces-gimp/">debugging system</a> that gathers technical details on errors and crashes.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-bug-reporting.jpg" alt="Debug dialog to simplify bug reporting" width='914' height='662' />
</figure>
<p>On development versions, the dialog will be raised on all kind of errors (even minor ones). On stable releases, it will be raised only during crashes. The default behavior can be customized in <em>Edit > Preferences > Debugging</em>.</p>
<p><em>Note: you are still expected to write down contextual information when you report bugs, i.e.: What were you doing when the bug happened? If possible, step by step reproduction procedures are a must.</em></p>
<p>The feature was contributed by <em>Jehan Pages</em> from <a href="https://film.zemarmot.net/">ZeMarmot</a> project.</p>
<h3 id="image-recovery-after-crash">Image recovery after crash<a class="headerlink" href="#image-recovery-after-crash" title="Permanent link">¶</a></h3>
<p>With the debugging system in place to detect a crash, it was easy enough to add crash recovery. In case of a crash, <span class="caps">GIMP</span> will now attempt to backup all images with unsaved changes, then suggest to reopen them the next time you start the application.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-crash-recovery.jpg" alt="Crash recovery dialog" width='914' height='507' />
</figure>
<p>This is not a 100%-guaranteed procedure, since a program state during a crash is unstable by nature, so backing up images might not always succeed. What matters is that it will succeed sometimes, and this might rescue your unsaved work!</p>
<p>This feature was also contributed by the <em>ZeMarmot</em> project.</p>
<h3 id="shadows-highlights">Shadows-Highlights<a class="headerlink" href="#shadows-highlights" title="Permanent link">¶</a></h3>
<p>This new filter is now available in <span class="caps">GIMP</span> in the <em>Colors</em> menu thanks
to a contribution by <em>Thomas Manni</em> who created a likewise named <span class="caps">GEGL</span> operation.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-shadows-highlights.jpg" alt="Shadows-Highlights" width='950' height='685' />
</figure>
<p>The filter allows adjusting shadows and highlights in an image separately, with some options available. The implementation closely follows its counterpart in the <a href="https://www.darktable.org">darktable</a> digital photography software.</p>
<h2 id="completed-features">Completed features<a class="headerlink" href="#completed-features" title="Permanent link">¶</a></h2>
<h3 id="layer-masks-on-layer-groups">Layer masks on layer groups<a class="headerlink" href="#layer-masks-on-layer-groups" title="Permanent link">¶</a></h3>
<p>Masks on layer groups are finally possible! This work, started years ago, has now been finalized by <em>Ell</em>. Group-layer masks work similarly to ordinary-layer masks, with the following considerations.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-mask-on-layer-group.jpg" alt="Mask on a layer group" width='950' height='685' />
</figure>
<p>The group’s mask size is the same as group’s size (i.e., the
bounding box of its children) at all times. When the group’s size
changes, the mask is cropped to the new size — areas of the mask
that fall outside of the new bounds are discarded, and newly added
areas are filled with black (and hence are transparent by default).</p>
<h3 id="jpeg-2000-support-ported-to-openjpeg"><span class="caps">JPEG</span> 2000 support ported to OpenJPEG<a class="headerlink" href="#jpeg-2000-support-ported-to-openjpeg" title="Permanent link">¶</a></h3>
<p><span class="caps">JPEG</span> 2000 images importing was already supported, using the library called <em>Jasper</em>. Yet this library is now deprecated and slowly disappearing from most distributions. This is why we moved to <a href="http://www.openjpeg.org/">OpenJPEG</a>.</p>
<p>The port was initially started by <em>Mukund Sivaraman</em>. It was later
completed by <em>Darshan Kadu</em>, under the <span class="caps">FSF</span> internship program, and mentored by <em>Jehan</em> who polished it up.</p>
<p>In particular, now <span class="caps">GIMP</span> can properly import <span class="caps">JPEG</span> 2000 images in any bit depth (over 32-bit per channel will be clamped to 32-bit and
non-multiple of 8-bit will be promoted, for instance 12-bit will end up as 16-bit per channel in <span class="caps">GIMP</span>). Images in <code>YCbCr</code> and <code>xvYCC</code> color spaces will be converted to <code>sRGB</code>.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-j2k-importing.jpg" alt="Imported JPEG 2000 file" width='949' height='599' />
</figure>
<p><span class="caps">JPEG</span> 2000 codestream files are also supported. While color space can be detected for <span class="caps">JPEG</span> 2000 images, for codestream files you will be asked to specify the color space.</p>
<h3 id="linear-workflow-updates">Linear workflow updates<a class="headerlink" href="#linear-workflow-updates" title="Permanent link">¶</a></h3>
<p><em>Curves</em> and <em>Levels</em> filters have been updated to have a switch between linear and perceptual (non-linear) modes, depending on which one you need.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-curves-linear.jpg" alt="Curves in linear mode" width='965' height='642' />
</figure>
<p>You can apply <em>Levels</em> in perceptual mode to a linear image, or <em>Curves</em> in linear mode to a perceptual image — whichever suits you best for the task at hand.</p>
<p>The same switch in the <em>Histogram</em> dock has been updated accordingly.</p>
<h3 id="screenshot-and-color-picking">Screenshot and color-picking<a class="headerlink" href="#screenshot-and-color-picking" title="Permanent link">¶</a></h3>
<p><strong>On Linux</strong>, taking screenshots with the Freedesktop <span class="caps">API</span> has been implemented. This should become the preferred <span class="caps">API</span> in the hopefully near future, especially because it is meant to work inside sandboxed applications. Though for the time being, it is still not given priority because it lacks some basic features and
is not color-managed in any implementation we know of, which makes it a regression compared to other implementations.</p>
<p><strong>On Windows</strong>, <em>Simon Mueller</em> has improved the screenshot plug-in to handle hardware-accelerated software and multi-monitor displays.</p>
<p><strong>On macOS</strong>, color picking with the Color dock is now color-managed.</p>
<h3 id="metadata-preferences">Metadata preferences<a class="headerlink" href="#metadata-preferences" title="Permanent link">¶</a></h3>
<p>Settings were added for metadata export handling in the “Image Import <span class="amp">&</span> Export” page of the <em>Preferences</em> dialog. By default, the settings are checked, which means that <span class="caps">GIMP</span> will export all metadata, but you can uncheck them (since metadata can often contain a lot of sensitive private information).</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-metadata-preservation.png" alt="Metadata preservation" width='914' height='380' />
</figure>
<p>Note that these options can also be changed per format (“Load Defaults” and “Save Defaults” button), and of course per file during exporting, just like any other option.</p>
<h3 id="lock-brush-to-view">Lock brush to view<a class="headerlink" href="#lock-brush-to-view" title="Permanent link">¶</a></h3>
<p><span class="caps">GIMP</span> finally gives you a choice whether you want a brush locked to
a certain zoom level and rotation angle of the canvas.</p>
<figure>
<img src="https://www.gimp.org/news/2018/03/26/gimp-2-10-0-rc1-released/gimp-2-10-rc1-lock-brush-to-view.jpg" alt="Lock brush to view demo" width='950' height='568' />
</figure>
<p>The option is available for all painting tools that use a brush except for the MyPaint Brush tool.</p>
<h3 id="missing-icons">Missing icons<a class="headerlink" href="#missing-icons" title="Permanent link">¶</a></h3>
<p>8 new icons were added by <em>Alexandre Prokoudine</em>, <em>Aryeom Han</em>
(<em>ZeMarmot</em> film director), and <em>Ell</em>.</p>
<h3 id="various-gui-refining">Various <span class="caps">GUI</span> refining<a class="headerlink" href="#various-gui-refining" title="Permanent link">¶</a></h3>
<p>Many last-minute details have been handled, such as renaming the
composite modes to be more descriptive, shortened color channel labels with their conventional 1- or 2-letter abbreviations, color models rearranged in the Color dock, and much more!</p>
<h2 id="translations">Translations<a class="headerlink" href="#translations" title="Permanent link">¶</a></h2>
<p>String freeze has started and <span class="caps">GIMP</span> has received updates from:
Basque, Brazilian Portuguese, Catalan, Chinese (Taiwan), Danish,
Esperanto, French, German, Greek, Hungarian, Icelandic, Italian,
Japanese, Latvian, Polish, Russian, Serbian, Slovenian, Spanish,
Swedish, Turkish.</p>
<p>The Windows installer is now also localized with gettext.</p>
<h2 id="gegl-changes"><span class="caps">GEGL</span> changes<a class="headerlink" href="#gegl-changes" title="Permanent link">¶</a></h2>
<p>The <a href="http://gegl.org/"><span class="caps">GEGL</span></a> library now used by <span class="caps">GIMP</span> for all image processing has also received numerous updates.</p>
<p>Most importantly, all scaling for display is now done on linear data. This produces more accurate scaled-down thumbnails and more valid results of mipmap computations. <span class="caps">GIMP</span> 2.10.0-<span class="caps">RC1</span> doesn’t use mipmaps yet, but it will further down the line.</p>
<p>More work has been done to improve performance of <span class="caps">GEGL</span> across many parts of the source code. Improvements to pixel data fetching and setting functions have led to performance boosts across many <span class="caps">GEGL</span> operations (in particular, Gaussian blur), and for some performance-critical display cases, performance should have improved two- to three-fold since the release in December 2017.</p>
<p>There are 5 new operations in the workshop now. Among those, <em>enlarge</em> and <em>inpaint</em> are part of the new experimental inpainting framework by <em>Øyvind Kolås</em>, <em>domain transform</em> by <em>Felipe Einsfeld Kersting</em> is an edge-preserving smoothing filter, and <em>recursive-transform</em> is <em>Ell’s</em> take on the famous <a href="https://en.wikipedia.org/wiki/Droste_effect">Droste effect</a>.</p>
<h2 id="helping-gimp">Helping <span class="caps">GIMP</span><a class="headerlink" href="#helping-gimp" title="Permanent link">¶</a></h2>
<p>We’d like to remind you that <span class="caps">GIMP</span> is free software. Therefore the first way to help is to contribute your time. You can report bugs and send patches, whether they are code patches, icons, brushes, documentation, tutorials, translations, etc.</p>
<p>In this release for instance, about 15% of changes were done by
non-regular contributors.</p>
<p>You can also contribute tutorials or news for our website, as <em>Pat David</em> explained so well in his talk <a href="https://www.youtube.com/watch?v=AemoQzCFHpc"><em>Why the <span class="caps">GIMP</span> Team Obviously Hates You</em></a>.
<em>Pat David</em> is himself one of the important <span class="caps">GIMP</span> contributors on the community side (he also created our current website <a href="https://www.gimp.org/news/2015/11/22/20-years-of-gimp-release-of-gimp-2816/#new-website">back in 2015</a>).</p>
<p>Last but not least, we remind that you can contribute financially in a few ways. You can <a href="https://www.gimp.org/donating/">donate to the project itself</a>, or you can support the core team developers who raise funds individually, in particular <a href="https://www.patreon.com/pippin"><em>Øyvind Kolås</em></a> for his work on <span class="caps">GEGL</span>, <span class="caps">GIMP</span> graphics engine, and <a href="https://film.zemarmot.net/en/donate"><em>ZeMarmot</em> project</a> (<em>Aryeom <span class="amp">&</span> Jehan</em>) for their work on <span class="caps">GIMP</span> itself (about 35% of this release is contributed by their project).</p>
<h2 id="whats-next">What’s Next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>This is the last stretch before the final <span class="caps">GIMP</span> 2.10.0 release. There are a few more changes planned before we wrap it up. For instance, <a href="http://americogobbo.com.br/"><em>Americo Gobbo</em></a> is working (with minor help from <em>ZeMarmot</em>) on improving our default brush set. His work will be available either in another release candidate (if we make another one) or in the final release.</p>
<p>We are currently <strong>12 blocker bugs</strong> away from making the final release. We’ll do our best to make it quick!</p>Libre Graphics Meeting + SCaLE 20182018-01-09T11:51:30-06:002018-01-09T11:51:30-06:00Pat Davidtag:www.gimp.org,2018-01-09:/news/2018/01/09/libre-graphics-meeting-scale-2018/<p>This year is starting off great with not one, but two libre graphics oriented events (one in Europe and the other in North America - for even better coverage)!</p><p>This year is starting off great with not one, but <strong>two</strong> libre graphics oriented events (one in Europe and the other in North America - for even better coverage)! Now you can double your opportunities to visit like-minded <a href="https://www.gnu.org/philosophy/free-sw.en.html" title="Free Software Philosophy">Free Software</a> graphic artists, photographers, and developers.</p>
<h2 id="libre-graphics-meeting-2018-in-seville">Libre Graphics Meeting 2018 in Seville<a class="headerlink" href="#libre-graphics-meeting-2018-in-seville" title="Permanent link">¶</a></h2>
<figure>
<img src="https://www.gimp.org/news/2018/01/09/libre-graphics-meeting-scale-2018/LGM-Logo-Big.svg" alt="LGM Logo">
</figure>
<p>Come and join us for the 13<sup>th</sup> annual <a href="https://libregraphicsmeeting.org/2018/" title="Libre Graphics Meeting 2018">Libre Graphics Meeting</a> (<span class="caps">LGM</span>) being held April 26–30 in <a href="https://libregraphicsmeeting.org/2018/2018-edition/">Seville, Spain</a>! <span class="caps">LGM</span> is a wonderful opportunity for artists, developers, and contributors to meet face-to-face and share/learn from each other. Several <span class="caps">GIMP</span> developers will be holding an annual team meeting there (as usual), so come and say hello!</p>
<p>The main programme this year is focusing on:</p>
<ul>
<li>Technical presentations and workshops for developers.</li>
<li>Showcases of excellent work made using libre graphics tools.</li>
<li>New tools and workflows for graphics and code.</li>
<li>Reflections on the activities of existing Free/Libre and Open Source communities.</li>
<li>Reflections and practical sessions on promoting the philosophy and use of Libre Graphics tools.</li>
</ul>
<h2 id="libre-graphics-at-southern-california-linux-expo">Libre Graphics at Southern California Linux Expo<a class="headerlink" href="#libre-graphics-at-southern-california-linux-expo" title="Permanent link">¶</a></h2>
<figure>
<img src="https://www.gimp.org/news/2018/2018-01-09_LGM_SCaLE/SCaLE_16x_Logo.png" alt="SCaLE 16x Logo">
</figure>
<p>For the first time this year there will be a dedicated <em>Libre Graphics</em> track at the <a href="https://www.socallinuxexpo.org/scale/16x">Southern California Linux Expo</a> (SCaLE) 16x!</p>
<p>SCaLE 16x will be held March 8–11 in Pasadena, California (<span class="caps">USA</span>) at the <a href="https://www.socallinuxexpo.org/scale/16x/venue">Pasadena Convention Center</a>, and the Libre Graphics track in particular will be on Friday, March 9<sup>th</sup>.</p>
<p>Pat David will be presenting on the state of <span class="caps">GIMP</span> (looking forward) and including <span class="caps">GIMP</span> as part of a photography workflow.</p>
<p>There is a Call for Participation out for those that would be interested in talking more about their art or involvement in the Free Software graphics world. If you’d like to participate submit a proposal to <a href="mailto:graphics-cfp@socallinuxexpo.org">graphics-cfp@socallinuxexpo.org</a>!</p>GIMP and GEGL in 20172017-12-31T00:00:00+01:002017-12-31T00:00:00+01:00Wilbertag:www.gimp.org,2017-12-31:/news/2017/12/31/gimp-and-gegl-in-2017/<p>When you say you mostly do bugfixing now, seven kinds of new features will crawl under your bed and bite your silly toes off. If we were to come up with a short summary for 2017, it would be along those very lines.</p><p>When you say you <em>mostly</em> do bugfixing now, seven kinds of new features will crawl under your bed and bite your silly toes off. If we were to come up with a short summary for 2017, it would be along those very lines.</p>
<p>So yes, we ended up with more new features that, however, make <span class="caps">GIMP</span> faster and improve workflows. Here’s just a quick list of the top v2.10 parole violators: multi-threading via <span class="caps">GEGL</span>, linear color space workflow, better support for <span class="caps">CIE</span> <span class="caps">LCH</span> and <span class="caps">CIE</span> <span class="caps">LAB</span> color spaces, much faster on-canvas Warp Transform tool, complete on-canvas gradients editing, better <span class="caps">PSD</span> support, metadata viewing and editing, under- and overexposure warning on the canvas.</p>
<p>All of the above features (and many more) are available in <span class="caps">GIMP</span> 2.9.8 released earlier this month. We are now in the <a href="https://www.gimp.org/news/2017/12/21/gimp-2-10-strings-freeze/">strings freeze mode</a> which means there will be very few changes to the user interface so that translators could safely do their job in time for the v2.10 release.</p>
<p>Everyone is pretty tired of not having <span class="caps">GIMP</span> 2.10 out by now, so we <em>only</em> work on bugs that block the v2.10 release. There are currently <a href="https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gimp%22%20severity%3Ablocker%20target%3A2.10&list_id=276540">25 such bugs</a>. Some are relatively easy to fix, some require more time and effort. Some have patches or there is work in progress, and some need further investigation. We will get there faster, if more people join to hack on <span class="caps">GIMP</span>.</p>
<p>Speaking of which, one thing that has changed in the <span class="caps">GIMP</span> project for the better this year is the workload among top contributors. Michael Natterer is still responsible for 33% of all <span class="caps">GIMP</span> commits in the past 12 months, but that’s a ca. 30% decrease from the last year. Jehan Pagès and Ell now have a 38% share of all contributions, and Øyvind Kolås tops that with his 5% thanks to the work on layers blending/compositing and linear color space workflow in <span class="caps">GIMP</span>.</p>
<p>In particular, Ell committed the most between 2.9.6 and 2.9.8, implemented on-canvas gradients editing, introduced other enhancements, and did a lot of work on tuning performance in both <span class="caps">GIMP</span> and <span class="caps">GEGL</span>. We want to thank him especially for being the most prolific developer of <span class="caps">GIMP</span> for this last development release!</p>
<p>Another increasingly active contributor in the <span class="caps">GEGL</span> project is Debarshi Ray who uses the library for his project, <span class="caps">GNOME</span> Photos. Debarshi focused mostly on <span class="caps">GEGL</span> operations useful for digital photography such as exposure and shadows-highlights, and did quite a lot of bugfixing. We also got a fair share of contributions from Thomas Manni who added some interesting experimental filters like <span class="caps">SLIC</span> (Simple Linear Iterative Clustering) and improved existing filters.</p>
<p>Changes in <span class="caps">GEGL</span> and babl in 2017 included (but are not limited to) 15 new filters, improvements in mipmap processing and multi-threading computations, a video editing engine called <em>gcut</em>, more fast paths to convert pixel data between various color spaces, support for custom <span class="caps">RGB</span> primaries and <span class="caps">TRC</span>, <span class="caps">ICC</span> color profiles parsing and generation, and numerous bugfixes.</p>
<p>At least some of the work done by Øyvind Kolås on both <span class="caps">GEGL</span>, babl, and <span class="caps">GIMP</span> this year was sponsored by you, the <span class="caps">GIMP</span> community, via <a href="https://www.patreon.com/pippin">Patreon</a> and <a href="https://liberapay.com/pippin">Liberapay</a> platforms. Please see his <a href="https://www.patreon.com/posts/first-year-on-15787128">post on 2017 crowdfunding results</a> for details and consider supporting him. Improving <span class="caps">GEGL</span> is crucial for <span class="caps">GIMP</span> to become a state-of-the art professional image editing program. Over the course of 2017, programming activity in <span class="caps">GEGL</span> and babl increased by 120% and 102% respectively in terms of commits, and we’d love to see the dynamics keep up in 2018 and onwards.</p>
<p>Even though the focus of another crowdfunded effort by Jehan Pagès and Aryeom Han is to create an <a href="https://film.zemarmot.net/">animated short movie</a>, Jehan Pagès contributed roughly 1/5 of code changes this year, fixing bugs, improving painting-related features, maintaining <span class="caps">GIMP</span> official Flatpak, and these statistics don’t even count the work on a much more sophisticated animation plug-in currently available in a <a href="https://git.gnome.org/browse/gimp/log/?h=wip/animation">dedicated Git branch</a>. Hence supporting this project results in better user experience for <span class="caps">GIMP</span> users. You can help fund Jehan and Aryeom on <a href="https://liberapay.com/ZeMarmot">Liberapay</a>, <a href="https://www.patreon.com/zemarmot">Patreon</a> or <a href="https://www.tipeee.com/zemarmot">Tipeee</a>. You can also read their <a href="https://girinstud.io/news/2017/12/zemarmot-gimp-2-9-8-end-of-2017-report/">end-of-2017 report</a>.</p>
<p>We also want to thank Julien Hardelin who has been a great help in updating the user manual for upcoming v2.10, as well as all the translators and people who contributed patches. Moreover, we thank Pat David for further work on the new website, and Michael Schumacher for tireless bug triaging. They all don’t get nearly as much praise as they deserve.</p>
<p>Happy 2018!</p>Strings Freeze For GIMP 2.10 Is Now On2017-12-21T00:00:00+01:002017-12-21T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-12-21:/news/2017/12/21/gimp-2-10-strings-freeze/<p><span class="caps">GIMP</span>’s master branch is now entering a tentative strings freeze phase in preparation for 2.10 release.</p><p><span class="caps">GIMP</span>’s user interface is currently available in 80 languages. So far ca. 20 translations have been updated in the unstable branch since the beginning of the work on v2.10, and only 8 translations in the ‘po’ directory (where most translatable messages reside) are at least 90% complete. So clearly we need to give our translators a head start.</p>
<p>This is why <span class="caps">GIMP</span>’s master branch is now entering a tentative strings freeze phase in preparation for 2.10 release. We expect further changes between today and the v2.10 final release to affect no more than 1% of translatable messages. So it’s safe to start updating user interface translations now.</p>
<p>If you are interested, how complete the translation into your language is, check out the <a href="https://l10n.gnome.org/module/gimp/">current stats</a>. To start updating it, please contact your <a href="https://l10n.gnome.org/teams/">local team</a>.</p>
<p>We would also like to remind translators that we are relaxing the release policy for the stable branch. Starting with v2.10, stable releases may have minor new features. This makes changes and the introduction of new strings more likely than in previous stable branches, where the only changes allowed were bug fixes (and which introduced only few string changes).</p>GIMP 2.9.8 Released2017-12-12T00:00:00+01:002017-12-12T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-12-12:/news/2017/12/12/gimp-2-9-8-released/<p><span class="caps">GIMP</span> 2.9.8 introduces on-canvas gradient editing and various enhancements while focusing on bugfixing and stability.</p><p>Newly released <span class="caps">GIMP</span> 2.9.8 introduces on-canvas gradient editing and various
enhancements while focusing on bugfixing and stability. For a complete list of
changes please see <a href="https://git.gnome.org/browse/gimp/tree/NEWS"><span class="caps">NEWS</span></a>.</p>
<h2 id="on-canvas-gradient-editing">On-Canvas Gradient Editing<a class="headerlink" href="#on-canvas-gradient-editing" title="Permanent link">¶</a></h2>
<p>One of the most user-visible changes in 2.9.8 is the updated Blend tool.
Here’s what’s new about it.</p>
<p>First of all, it pretty much eliminates the need for the old Gradient Editor
dialog, as all of the dialog’s features are now available directly on the
canvas. You can create and delete color stops, select and shift them, assign
colors to color stops, change blending and coloring for segments between color
stops, create new color stops from midpoints.</p>
<p>
<video width="830" height="467" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-8-gradient-edit.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-8-gradient-edit.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>Secondly, default gradients are now “editable”. As you probably know, the
reason most resources such as brushes, painting dynamics, and gradients are not
direclty editable is that they are typically installed into a system directory
where non-privileged user can’t make any changes.</p>
<p>Now when you try to change an existing gradient from a system folder, <span class="caps">GIMP</span> will
create a copy of it, call it a <em>Custom Gradient</em> and preserve it across
sessions. Unless, of course, you edit another ‘system’ gradient, in which case
it will become the new custom gradient.</p>
<p>Since this feature is useful for more than just gradients, it was made generic
enough to be used for brushes and other types of resources in the future.
We expect to revisit this in the future releases of <span class="caps">GIMP</span>.</p>
<p>Now that 2.9.8 is out with the updated Blend tool, we are interested in your
feedback, as we still expect some cleanup and enhancements to be done there.</p>
<p>Most of the programming was done by <em>Ell</em>, however we also want to acknowledge
two other people who contributed to that effort one way or another.</p>
<p><em>Michael Henning</em> improved the Blend tool for 2.9.2, making the position of its
endpoints editable before applying the gradient fill.</p>
<p><em>Michael Natterer</em> refactored source code of <span class="caps">GIMP</span>’s tools to make them reuse one
another’s on-canvas handles. That greatly simplified adding on-canvas handles
for color stops. He also added the generic on-canvas dialog with the most
important options for tools.</p>
<h2 id="clip-warning">Clip Warning<a class="headerlink" href="#clip-warning" title="Permanent link">¶</a></h2>
<p><em>Ell</em> also implemented a feature request made in our public mailing list,
where Elle Stone asked for some way to visualize underexposed and overexposed
areas of a photo, which is a common feature in digital photography tools such as
darktable and RawTherapee.</p>
<p>The new <em>Clip Warning</em> display filter targets that use case and fills
underexposed and overexposed areas with user-configurable colors. For now,
it’s mostly geared towards images where colors are stored with floating point
precision. You will mostly benefit from this, if you work on 16/32 bit per
channel float images such as <span class="caps">EXR</span> and <span class="caps">TIFF</span>.</p>
<p>
<video width="830" height="467" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-8-clipped-colors-warning.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-8-clipped-colors-warning.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>Implementing this feature as a display filter has certain disadvantages such
as having to go through the whole routine of adding a display filter for every
image. We are thinking of better ways to do this.</p>
<h2 id="color-management">Color Management<a class="headerlink" href="#color-management" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> now uses the babl library for doing conversion of images between color
spaces when matrix-based <span class="caps">ICC</span> profiles are used. This leads to completing
transforms ca. 5 times faster in comparison to LittleCMS v2 on a few test
images we tried this on. We expect to make further use of babl for doing color
transforms once the library supports <span class="caps">ICC</span> profiles based on lookup tables.</p>
<h2 id="wayland-support">Wayland support<a class="headerlink" href="#wayland-support" title="Permanent link">¶</a></h2>
<p>While we already had the screenshot plug-in working under <span class="caps">GNOME</span>/Wayland,
we now implemented screenshots for <span class="caps">KDE</span>/Wayland (though it misses <a href="https://bugs.kde.org/show_bug.cgi?id=387721">rectangular
area selection</a>).</p>
<p>The Color Picker widget will now also work in <span class="caps">KDE</span>/Wayland.
Note that there is still <a href="https://bugzilla.gnome.org/show_bug.cgi?id=789756">no color-picking interface in <span class="caps">GNOME</span> for
Wayland</a>, so as a workaround,
color picking will only work inside <span class="caps">GIMP</span> windows for this platform.</p>
<p>Color-picked and screenshot pixels are not color-managed yet in Wayland.</p>
<h2 id="paste-in-place">Paste in Place<a class="headerlink" href="#paste-in-place" title="Permanent link">¶</a></h2>
<p>Michael Natterer implemented another small feature request from a user who
asked for an Inkscape-like <em>Paste in Place</em> command. The idea is that <span class="caps">GIMP</span>
should be able to paste contents of the clipboard at exact coordinates the
contents was originally copied from. This feature is available for both the
regular clipboard and named buffers.</p>
<p><em>Paste in Place</em> complements the usual <em>Paste</em> command which places contents
of the clipboard into the center of the viewport.</p>
<h2 id="gui-and-usability"><span class="caps">GUI</span> and Usability<a class="headerlink" href="#gui-and-usability" title="Permanent link">¶</a></h2>
<p>The spinscale widget now highlights vertical parts of the slider section
differently to hint that position of cursor above the widget matters.
When changing values in the lower step section, the pointer will be wrapped
around the screen so that you could continue adjusting the value without interruptions.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-12-12 GIMP 2.9.8 Released/spinscale.png" alt="spinscale widget highlighting lower area" width='308' height='52' />
</figure>
<p>When using transform tools, you can now press a modifier key before or after
pressing/releasing a mouse button.</p>
<p>The <em>Info</em> window for the color picker now remembers the modes across session.
So if you prefer seeing <span class="caps">LAB</span> values, that’s what you will see every time until
you choose something else.</p>
<p>Canvas rotation and flip information is now visible in the status bar, as angle
value and flip icon. Clicking on these canvas statuses will respectively raise
the <em>Select Rotation Angle</em> dialog or unflip the canvas.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-12-12 GIMP 2.9.8 Released/gimp-2-9-8-canvas-rotation-flip-status.png" alt="Status about canvas rotation and flip" width='528' height='36' />
</figure>
<h2 id="help-manuals">Help Manuals<a class="headerlink" href="#help-manuals" title="Permanent link">¶</a></h2>
<p>Upon detection of locally installed manuals in several languages, <span class="caps">GIMP</span> will now
allow selection of the preferred manual language in the <em>Preferences</em> dialog
(<em>Interface > Help System</em>).</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-12-12 GIMP 2.9.8 Released/gimp-2-9-8-help-localization.png" alt='manual localization in preferences' width='831' height='420'>
<figcaption>
Manual localization settings in <span class="caps">GIMP</span>’s preferences
</figcaption>
</figure>
<p>This is especially useful since <span class="caps">GIMP</span>’s interface is available in 80 languages,
while its <a href="https://www.gimp.org/docs/">manual</a> is translated to <em>only</em> 17
languages. You may therefore not have a choice of viewing the manual in your
preferred language.</p>
<p>Moreover, some people choose English over their native language for user
interfaces, while sticking to their native language for reading documentation.
This is another case where choosing preferred language for the user manual
might come in handy.</p>
<h2 id="improved-wavelet-decompose-filter">Improved Wavelet Decompose Filter<a class="headerlink" href="#improved-wavelet-decompose-filter" title="Permanent link">¶</a></h2>
<p>The much demanded <em>Wavelet Decompose</em> filter got a small round of updates
and gained a couple of new options: placing decomposition stack into its own
layer group and adding a layer mask to each scales layers. It also produces
more expected results now.</p>
<h2 id="file-formats">File Formats<a class="headerlink" href="#file-formats" title="Permanent link">¶</a></h2>
<p>The <span class="caps">PSD</span> plug-in was fixed to properly handle Photoshop files with deeply
nested layer groups and preserve expanded state of groups for both importing
and exporting. Additional changes fix mask position and improve layer opacity
for importing/exporting.</p>
<p>The <span class="caps">PDF</span> plug-in now supports loading password-protected files by promting
the user for password.</p>
<p><span class="caps">HGT</span> files can now be imported. <span class="caps">HGT</span> is the format for <a href="https://dds.cr.usgs.gov/srtm/version2_1/Documentation/SRTM_Topo.pdf">Digital Elevation Model
data by the <span class="caps">NASA</span> and other space agencies</a>.
<span class="caps">GIMP</span> now supports both the <span class="caps">SRTM</span>-1 and <span class="caps">SRTM</span>-3 types (as far as we know, the
only two variants) which will be imported as grayscale <span class="caps">RGB</span> images.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-12-12 GIMP 2.9.8 Released/gimp-2-9-8-import-hgt.jpg" alt='Importing HGT files in GIMP' width='830' height='538'>
<figcaption>
<span class="caps">NASA</span> <span class="caps">HGT</span> file import followed by appropriate “Gradient Map” filtering
</figcaption>
</figure>
<p>In order to obtain more visible relief information, you will want to map
altitudes to colors, for instance with the “Gradient Map” filter as we did
in the example image above (see also this <a href="https://girinstud.io/news/2017/12/new-format-in-gimp-hgt/">explicative post on the
process</a>).</p>
<h2 id="translations">Translations<a class="headerlink" href="#translations" title="Permanent link">¶</a></h2>
<p>Translation of <span class="caps">GIMP</span> was updated for 13 languages: Catalan, Croatian, Galician,
German, Greek, Hungarian, Icelandic, Indonesian, Italian, Polish, Russian,
Spanish, and Swedish.</p>
<h2 id="whats-next">What’s Next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>We’ll enter strings freeze soon so that translators could safely finalize their
work for 2.10. Following that we expect to start making release candidates
of <span class="caps">GIMP</span> 2.10.</p>GIMP 2.9.6 Released2017-08-24T00:00:00+02:002017-08-24T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2017-08-24:/news/2017/08/24/gimp-2-9-6-released/<p>After more than a year of hard work we are excited to release <span class="caps">GIMP</span> 2.9.6 featuring many improvements, some new features, translation updates for 23 languages, and 204 bug fixes.</p><p>After more than a year of hard work we are excited to release <span class="caps">GIMP</span> 2.9.6
featuring many improvements, some new features, translation updates for 23
languages, and 204 bug fixes.</p>
<p>As usual, for a complete list of changes please see
<a href="https://git.gnome.org/browse/gimp/tree/NEWS"><span class="caps">NEWS</span></a>. Here we’d like to focus
on the most important changes.</p>
<h2 id="performance">Performance<a class="headerlink" href="#performance" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> now has support for experimental multi-threading in <span class="caps">GEGL</span> and will try to
use as many cores as are available on your computer.</p>
<p>We know <span class="caps">GIMP</span> can explode when using more than one core, but we keep it that way
so that we get as many bug reports as possible for this officially unstable
development version. This is because we really, really want to ship <span class="caps">GIMP</span> 2.10
with usable parallel processing.</p>
<p>On the other hand, you can always set the amount of cores to 1 if you couldn’t
be bothered to report bugs. For that, please tweak the amount of threads on the
<em>System Resources</em> page of the <em>Preferences</em> dialog.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-system-resources.png" alt="Setting amount of threads in GIMP 2.9.6" width='772' height='660' />
</figure>
<h2 id="gui-usability-and-configurability"><span class="caps">GUI</span>, Usability, and Configurability<a class="headerlink" href="#gui-usability-and-configurability" title="Permanent link">¶</a></h2>
<p>Benoit Touchette improved mask creation workflow for users who use a ton of
masks in their projects. Now <span class="caps">GIMP</span> remembers the last type of mask
initialization, and you can use key modifiers + mouse click on layer previews
to create, apply, or remove masks. There’s a new button in the <em>Layers</em>
dockable dialog for that as well.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-create-mask.png" alt="Easily create new mask with GIMP 2.9.6" width='418' height='431' />
</figure>
<p>To make that feature possible, Michael Natterer introduced saving of last
dialogs’ settings across sessions and made these defaults configurable via the
new <em>Interface / Dialog Defaults</em> page in the <em>Preferences</em> dialog.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-dialog-defaults.png" alt="Configurable Dialog Defaults in GIMP 2.9.6" width='772' height='660' />
</figure>
<p>Additionally, the <em>Preferences</em> dialog got a vertical scrollbar where
applicable to keep its height more sensible, and settings on individual pages
of the dialog can be reset separately now.</p>
<p>The <em>Quit</em> dialog got a few updates: automatically exiting when all the images
in the list have been saved, and a <em>Save As</em> button for every opened image
(clicking an image in the list will raise it easy checks).</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-fill-with.png" alt="Configurable Fill With option in GIMP 2.9.6" width='361' height='597' />
</figure>
<p>Yet another new feature is an option (on the screenshot above) to choose fill
color or pattern for empty spaces after resizing the canvas.</p>
<h2 id="better-hi-dpi-support">Better Hi-<span class="caps">DPI</span> Support<a class="headerlink" href="#better-hi-dpi-support" title="Permanent link">¶</a></h2>
<p>While most changes for better Hi-<span class="caps">DPI</span> displays support are planned for v3.0, when
<span class="caps">GIMP</span> is expected to be based on either <span class="caps">GTK</span>+3 or <span class="caps">GTK</span>+4, we were able to remove at
least some of the friction by introducing icon sizes at different resolutions
and a switch for icon sizes on the <em>Icon Theme</em> page of the <em>Preferences</em> dialog.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-icon-themes.png" alt="Configurable icon size in GIMP 2.9.6" width='772' height='660' />
</figure>
<h2 id="on-canvas-interaction-changes">On-canvas Interaction Changes<a class="headerlink" href="#on-canvas-interaction-changes" title="Permanent link">¶</a></h2>
<p>Michael Natterer did a huge under-the-hood work that is likely to affect user
interaction with <span class="caps">GIMP</span> bigly. Simply put, he moved a lot of on-canvas code
from tools like <em>Rectangle Select</em>, <em>Measure</em> and <em>Path</em> into reusable code.</p>
<p>The effect of that is multifold:</p>
<ul>
<li>New tools can reuse on-canvas elements of other tools (adding shape drawing
tools should be easier now, although we are not planning that for 2.10,
unless someone sends a clean patch).</li>
<li><span class="caps">GEGL</span>-based filters can be interacted with directly on the canvas
(<em>Spiral</em> and <em>Supernova</em> so far as test case).</li>
</ul>
<p>
<video width="880" height="528" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-spiral-filter.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-spiral-filter.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>So far one still needs to write C code to make a <span class="caps">GEGL</span>-based filter use
on-canvas interaction. We expect to spend some time figuring out a way to
simplify this, possibly using the <span class="caps">GUM</span> language (see below).</p>
<h2 id="layers-linear-and-perceptual-workflows">Layers, Linear and Perceptual Workflows<a class="headerlink" href="#layers-linear-and-perceptual-workflows" title="Permanent link">¶</a></h2>
<p>Since we want to make workflows in linear color spaces more prominent in <span class="caps">GIMP</span>,
it was time to update the blend modes code. You can now switch between two
sets of layer modes: legacy (perceptual) and default (linear). The user
interface for switching was a quick design, we’d like to come up with something
better, so we are interested in your input.</p>
<p>Moreover, we made both compositing of layers and blending color space
configurable, should you have the need to use that for advanced image manipulation.</p>
<p>We also added a new <em>Colors -> Linear Invert</em> command to provide
radiometrically correct color inversion. And the histogram dialog now features
a toggle between gamma and linear modes—again, it’s a design we’d like to improve.</p>
<p>Thanks to Øyvind Kolås and his
<a href="https://www.patreon.com/pippin">Patreon supporters</a>, <span class="caps">GIMP</span> now also has a
simple ‘blendfun’ framework that greatly simplifies implementing new color
modes. Ell made use of that by adding Linear Burn, Vivid Light, Linear Light,
Pin Light, Hard Mix, Exclusion, Merge, Split, and Luminance (<span class="caps">RGB</span>) blending modes
(most of them now also supported in the <span class="caps">PSD</span> plug-in).</p>
<p>Another prominent change is the introduction of the Pass Through mode for layer
groups. When this mode is used instead of any other one, <span class="caps">GIMP</span> mixes layers
inside that group directly to the layers below, skipping creation of the group
projection. The feature was implemented by Ell. The screenshot below features a
user-submitted <span class="caps">PSD</span> file that has <span class="caps">TEXTURES</span> layer group in the Pass Through mode,
as opened in <span class="caps">GIMP</span> 2.9.4 (left) and <span class="caps">GIMP</span> 2.9.6 (right).</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-pass-through.jpg" alt="Pass Through mode vs no Pass Through mode" width='960' height='586' />
</figure>
<p>Newly added color tags simplify managing large projects with a lot of layers
and layer groups. The screenshot below is a real-life <span class="caps">PSD</span> file opened in <span class="caps">GIMP</span> 2.9.6.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-color-tags-psd-xcf.png" alt="New User Interface Themes" width='468' height='674' />
</figure>
<p>To make more use of that feature, we need someone to step up and implement
multiple layers selection. For an initial research, see
<a href="https://gui.gimp.org/index.php?title=Multi-layer_selection_workgroup">this wiki page</a>.</p>
<p>For full access to all the new features, we updated the <em>Layer Attributes</em>
dialog to provide the single <span class="caps">UI</span> for setting layer’s name, blending mode,
opacity, and offset, toggling visibility, link status, various locks,
color tags.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-layer-attributes-dialog.png" alt="Updated Layer Attributes dialog" width='608' height='579' />
</figure>
<h2 id="cie-lch-and-cie-lab"><span class="caps">CIE</span> <span class="caps">LCH</span> and <span class="caps">CIE</span> <span class="caps">LAB</span><a class="headerlink" href="#cie-lch-and-cie-lab" title="Permanent link">¶</a></h2>
<p>Under the influence of Elle Stone (and with her code contributions), <span class="caps">CIE</span> <span class="caps">LCH</span>
and <span class="caps">CIE</span> <span class="caps">LAB</span> color spaces are finding more use in <span class="caps">GIMP</span> now.</p>
<p>Color dialogs now have an <span class="caps">LCH</span> color selector that, in due time, will most
likely replace outdated <span class="caps">HSV</span> selector for reasons outlined by Elle in
<a href="https://ninedegreesbelow.com/photography/determine-image-tonality-and-palette-part-1.html">this article</a>.
The <span class="caps">LCH</span> selector also supports gamut checking.</p>
<p>A new <em>Hue-Chroma</em> filter in the <em>Colors</em> menu works much like <em>Hue-Saturation</em>,
but operates in <span class="caps">CIE</span> <span class="caps">LCH</span> color space. Moreover, the <em>Fuzzy Select</em> and the
<em>Bucket Fill</em> tool now can select colors by <span class="caps">CIE</span> L, C, and H.</p>
<p>Finally, both the <em>Color Picker</em> and the <em>Sample Points</em> dialog now display
pixel values in <span class="caps">CIE</span> <span class="caps">LAB</span> and <span class="caps">CIE</span> <span class="caps">LCH</span>.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-sample-points-lch-lab.jpg" alt="Sample points in LCH and LAB, GIMP 2.9.6" width='767' height='355' />
</figure>
<h2 id="tools">Tools<a class="headerlink" href="#tools" title="Permanent link">¶</a></h2>
<p>New <em>Handle Transform</em> tool contributed by Johannes Matschke in 2015 has
been finally cleaned up by Michael Natterer and available by default. It’s
a little tricky to get used to, but we hear reports that once you get the
hang of it, you love it.</p>
<p>Thanks to Ell, the <em>Warp Transform</em> tool is now a lot faster, partially thanks
to a switch that toggles high-quality preview that isn’t always necessary.</p>
<p>
<video width="856" height="566" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-warp-transform.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-warp-transform.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<p>All transformation tools don’t display grid by default anymore, and during
an interactive transformation the original layer gets hidden now. The latter
greatly simplifies transforming upper layer in relation to a lower layer.
Before that, the original layer used to block the view.</p>
<p><em>Free Select</em> tool now waits for Enter being pressed to confirm selection, which
enables you to tweak positions of polygonal selection.</p>
<h2 id="painting">Painting<a class="headerlink" href="#painting" title="Permanent link">¶</a></h2>
<p>An important new feature that is somewhat easy to overlook is being able to
paint on transparent layers with modes other than normal.</p>
<p>Thanks to shark0r, the <em>Smudge</em> tool now has a <em>Flow</em> control that allows mixing
in both constant and gradient color while smudging. There’s another new option
to never decrease alpha of existing pixels while smudging in the tools options
now as well. For more on this, please read
<a href="https://www.gimp-forum.net/Thread-Customized-smudge-tool-Smudge-with-painting">this forum thread</a>.</p>
<p>Canvas rotation has been improved: it got snappier in certain cases, and
rulers, scrollbars, as well as the Navigation dialog follow the rotation now.</p>
<p>Alexia introduced some improvements to the brush engine. For bitmap brushes,
<span class="caps">GIMP</span> now caches hardness and disables dynamic change of hardness to improve
painting performance. Bitmap brushes also don’t get clipped anymore, when
hardness is less than 100. Plus there’s a specialized convolution algorithm
for the hardness blur to make it faster now.</p>
<h2 id="processing-raw-images">Processing Raw Images<a class="headerlink" href="#processing-raw-images" title="Permanent link">¶</a></h2>
<p>Since 2.9.4, <span class="caps">GIMP</span> is capable of opening raw (digital camera) images via
<a href="https://www.darktable.org">darktable</a>, and the plan was to open it up to more
plug-in developers, because nothing sparks a thoughtful, civil conversation
like a raw processor of choice.</p>
<p>This is now possible: 2.9.6 ships with a RawTherapee plug-in (v5.2 or newer
should be installed) and a new file-raw-placeholder plug-in that registers
itself for loading all raw formats, but does nothing except returning an error
message pointing to darktable and RawTherapee, if neither is installed.</p>
<p>Moreover, you can now choose preferred raw plug-in, when multiple options are
available on your computer. For this, open the <em>Preferences</em> dialog and go to
the <em>Image Import</em> page, then click on the plug-in you prefer and click <span class="caps">OK</span> to
confirm your choice. You will need to restart <span class="caps">GIMP</span>.</p>
<h2 id="better-psd-support">Better <span class="caps">PSD</span> Support<a class="headerlink" href="#better-psd-support" title="Permanent link">¶</a></h2>
<p>The <span class="caps">PSD</span> plug-in now supports a wider range of blending modes for layers,
at both importing and exporting: Linear Burn, Linear Light, Vivid Light,
Pin Light, and Hard Mix blending modes. It also finally supports exporting
layer groups and reads/writes the Pass Through mode in those. Additionally,
<span class="caps">GIMP</span> now imports and exports color tags from/to <span class="caps">PSD</span> files.</p>
<h2 id="webp-support">WebP support<a class="headerlink" href="#webp-support" title="Permanent link">¶</a></h2>
<p>We already shipped <span class="caps">GIMP</span> 2.9.2 with initial support for opening and exporting
WebP files, however the plug-in was missing a number of essential features.
Last year, we replaced it with a pre-existing plug-in initially written by
<a href="https://github.com/nathan-osman">Nathan Osman</a> back in 2011 and maintained
through the years. We now ship it by default as part of <span class="caps">GIMP</span>.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-webp-exporting.jpg" alt="WebP exporting in GIMP 2.9.6" width='772' height='561' />
</figure>
<p>The new plug-in received additional contributions from Benoit Touchette and
Pascal Massimino and supports both <span class="caps">ICC</span> profiles, metadata loading/exporting,
and animation.</p>
<h2 id="metadata-viewing-and-editing">Metadata Viewing and Editing<a class="headerlink" href="#metadata-viewing-and-editing" title="Permanent link">¶</a></h2>
<p>Thanks to Benoit Touchette, <span class="caps">GIMP</span> now ships a new metadata viewer that
uses Exiv2 to display Exif, <span class="caps">XMP</span>, <span class="caps">IPTC</span>, and <span class="caps">DICOM</span> metadata (the latter
is displayed on the <span class="caps">XMP</span> tab).</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-metadata-viewer.jpg" alt="Metadata viewer in GIMP 2.9.6" width='772' height='601' />
</figure>
<p>Moreover, Benoit implemented a much anticipated metadata editor that
supports adding/editing writing <span class="caps">XMP</span>, <span class="caps">IPTC</span>, <span class="caps">DICOM</span>, and <span class="caps">GPS</span>/Exif metadata,
as well as loading/exporting metadata from/to <span class="caps">XMP</span> files.</p>
<figure>
<img src="https://www.gimp.org/news/2017/2017-08-24 GIMP 2.9.6 Released/gimp-2-9-6-metadata-editor.jpg" alt="Metadata editor in GIMP 2.9.6" width='772' height='608' />
</figure>
<h2 id="filters">Filters<a class="headerlink" href="#filters" title="Permanent link">¶</a></h2>
<p>Thanks to contributions from Thomas Manni and Ell, <span class="caps">GIMP</span> now has 9 more
<span class="caps">GEGL</span>-based filters, including much anticipated <em>Wavelet Decompose</em>, as well
as an <em>Extract Component</em> plug-in that simplifies fetching e.g. <span class="caps">CMYK</span>’s K
channel or <span class="caps">LAB</span>’s L* channel from an image.</p>
<p>Another new feature that we expect to develop further is <span class="caps">GUM</span>—a simple
metadata language that helps automatically building more sensible <span class="caps">UI</span> for
<span class="caps">GEGL</span> filters. Here’s a quick video:</p>
<p>
<video width="384" height="544" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-gegl-dynamic-op-ui.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-2-9-6-gegl-dynamic-op-ui.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
<h2 id="resources-and-presets">Resources and Presets<a class="headerlink" href="#resources-and-presets" title="Permanent link">¶</a></h2>
<p>To make <span class="caps">GIMP</span> more useful by default, we now ship it with some basic presets
for the <em>Crop</em> tool: 2×3, 3×4, 16:10, 16:9, and Square.</p>
<p>Documents templates have been updated and now feature popular, contemporary
presets for both print and digital media.</p>
<h2 id="whats-next">What’s Next<a class="headerlink" href="#whats-next" title="Permanent link">¶</a></h2>
<p>We still have a bunch of bugs to fix before we can release 2.10 and we
appreciate all the huge and tiny useful patches contributors send us to that effect.</p>
<p><span class="caps">GIMP</span> 2.9.8 is expected to ship with more bug fixes and an updated <em>Blend</em>
(<em>Gradient Fill</em>) tool that works completely on canvas, including adding and
removing color stops and assigning colors.</p>An Interview with Michael Schumacher, GIMP administrator2017-05-15T00:00:00+02:002017-05-15T00:00:00+02:00Jehantag:www.gimp.org,2017-05-15:/news/2017/05/15/an-interview-with-michael-schumacher-gimp-administrator/<p>Michael Schumacher gets interviewed by other <span class="caps">GIMP</span> developers</p><p><em>This is the second of a series of interviews of various people surrounding <span class="caps">GIMP</span> development and community. See also the <a href="https://www.gimp.org/news/2017/03/01/an-interview-with-michael-natterer-gimp-maintainer/">interview of Mitch, <span class="caps">GIMP</span> maintainer</a></em></p>
<p><span class="caps">GIMP</span> is made not only by hard-core developers but also through the hard work of many less technically-inclined contributors.
Michael Schumacher, <em>aka</em> Schumaml, is a great example of an important core contributor who has been with the project for over 10 years. Mostly known as the project administrator, nowadays he takes care of everything but programming: administrative tasks, management, <span class="caps">PR</span>, support…</p>
<p>Schumaml was recently named the maintainer of the 2.8 branch, the stable version of <span class="caps">GIMP</span> which only receives bugfixes, showing that it does not require a developer to manage important roles successfully.</p>
<p>This interview was held on Saturday, February 4, 2017, at about 12:27 <span class="caps">AM</span> in front of a fireplace and after a day of hacking at <a href="/news/2017/01/18/wilberweek-2017-announced/">Wilber Week</a>. With us were several team members, including Debarshi Ray (Rishi (R)), Øyvind Kolås (pippin (P)) and Simon Budig who also asked questions.</p>
<figure>
<img src="https://www.gimp.org/news/images/schumaml-interview/schumaml-interview-950w.jpg" alt='Schumaml, the tie-bearing GIMP office manager' width='950' height='566'>
<figcaption>
Schumaml, <span class="caps">GIMP</span> administrator (<small>photo by antenne used by permission (<a class='cc' href='https://creativecommons.org/licenses/by-sa/4.0/' title='Creative Commons Attribution-ShareAlike 4.0 International'>cba</a>)</small>)
</figcaption>
</figure>
<p><em>Jehan: Hello Michael. You are the <span class="caps">GIMP</span> administrator, at least that’s what everybody says.</em></p>
<p><strong>Schumaml:</strong> That’s what everybody says, yes.</p>
<p><em>J: How would you describe your contribution to the <span class="caps">GIMP</span> project?</em></p>
<p><strong>S:</strong> I don’t do much coding. It’s just that so many people — from my perspective — do coding on <span class="caps">GIMP</span> already and have a better grasp of the source code and how it is made up. So I don’t think I can contribute much in that regard. I try to do administrative stuff like handling the monetary aspect of the project such as telling <a href="https://www.gnome.org/"><span class="caps">GNOME</span></a> that we need money for events like Wilber Week or for <span class="caps">LGM</span> reimbursements…
I also care about the <a href="https://bugzilla.gnome.org/page.cgi?id=browse.html&product=GIMP">bug reports</a> we have. I try to have them categorized, have a proper status, make sure that they get replies, and that we don’t leave a bug report unattended for a long time.
Also, I have administrative privileges on the <span class="caps">GIMP</span> web server, on mailing lists, and… what else. Do I forget anything? That’s about it, yeah.</p>
<p>I’ve been called the tie-wearing <span class="caps">GIMP</span> office manager and I even got a t-shirt with a printed tie and a “<span class="caps">TWOM</span>” label, because I’ve actually been wearing a proper shirt (made to measure) at one <span class="caps">GIMP</span> meeting during the <a href="https://libregraphicsmeeting.org/2012/">Libre Graphics Meeting 2012</a> in Vienna.</p>
<figure>
<img src="https://www.gimp.org/news/images/schumaml-interview/schumaml-twom-480x702.jpg" alt='Schumaml, the tie-wearing GIMP office manager' width='480' height='702'>
<figcaption>
Schumaml, the tie-wearing <span class="caps">GIMP</span> office manager (<small><a href='https://www.flickr.com/photos/the_houz/8663090451/in/album-72157633284677024/' title='Photo of Schumaml by houz'>photo by houz</a> (<a class='cc' href='https://creativecommons.org/licenses/by-sa/2.0/' title='Creative Commons Attribution-ShareAlike 4.0 International'>cba</a>)</small>).
</figcaption>
</figure>
<p><em>J: How long have you been contributing?</em></p>
<p><strong>S:</strong> I think I started <a href="https://git.gnome.org/browse/gimp/commit/?id=f7d599851c7fce5d289410cb568d515bcf737466">somewhere between 2001 and 2004</a>. The first contributions were probably getting <span class="caps">GIMP</span> buildable on <span class="caps">MSYS</span>, the minimal <span class="caps">GNU</span> build system on the Windows platform. Because I was annoyed that there were only <span class="caps">GIMP</span> builds for releases and not for every commit in between.</p>
<p><em>J: Was it like nightly builds?</em></p>
<p><strong>S:</strong> No it was not like nightly builds. I just wanted to be able to have a current build <strong>for</strong> the <span class="caps">MS</span> Windows platform and also made <strong>on</strong> the <span class="caps">MS</span> Windows platform, so that I could build on my Windows system I was using at the time. Just to be able to follow <span class="caps">GIMP</span> development more closely than using a build someone made for a development release.</p>
<p><br>
<em>J: So you mostly use <span class="caps">GIMP</span> on Windows?</em></p>
<p><strong>S:</strong> Back more than 10 years ago, I did use Windows exclusively. So basically, back then I had done the porting of <span class="caps">GIMP</span> to the Windows platform.</p>
<p><br>
<em>J: Do you use <span class="caps">GIMP</span>?</em></p>
<p><strong>S:</strong> I use <span class="caps">GIMP</span>. Not as much as many other people but I use it to test many things of <span class="caps">GIMP</span> itself. I use it to edit photos I make. I don’t publish many of the images because when I’m editing them, I print them or I use them for some documentation work, so it goes to a customer. I even still use it on <span class="caps">MS</span> Windows, but now my main platform is Linux.</p>
<p><br>
<em>J: What kind of job do you do?</em></p>
<p><strong>S:</strong> I’m working for a company that used to be a part of Siemens, which had been carved out by now. We are selling communication systems - in the past, you would have called these telephony systems. Nowadays this stuff is called “Communication Enabled Business Processes”, like everything which has to do with communication: calling someone or texting someone or exchanging chats or whatever. We are providing the software, the service, and the consulting.</p>
<p><br>
<em>J: Why do you contribute to <span class="caps">GIMP</span>?</em></p>
<p><strong>S:</strong> It started due to pure selfishness: being able to have the most current <span class="caps">GIMP</span> available to me.</p>
<p>Since then, a lot has changed: I believe in <a href="https://www.gnu.org/philosophy/free-sw.en.html">Free Software</a>. I believe software should be available for everyone for every purpose. <span class="caps">GIMP</span> is a Free Software project. Around the time I got hooked up with <span class="caps">GIMP</span>, I also got hooked up with Wikipedia, which follows the same approach towards knowledge. I feel like — yeah well — I’m contributing to something that helps a lot of people all over the world. I think that’s a good thing. <span class="caps">GIMP</span> happens to be the the first major project I contributed to, and I like it. It’s also in-line with the topics I specialized in at university: image synthesis, image manipulation. It kind of seemed like a logical extension.</p>
<p><br></p>
<figure>
<img src="https://www.gimp.org/news/images/schumaml-interview/schumaml-lgm2014-800w.jpg" alt='Schumaml, the tie-bearing GIMP office manager' width='800' height='459'>
<figcaption>
<em>Not</em> the Formula One driver. (<small>Photo by Pat David (<a class='cc' href='https://creativecommons.org/licenses/by-sa/4.0/' title='Creative Commons Attribution-ShareAlike 4.0 International'>cba</a>)</small>)
</figcaption>
</figure>
<p><br>
<em>Rishi: What do you think of Michael Schumacher?</em></p>
<p><strong>S:</strong> (laughs) The <a href="https://en.wikipedia.org/wiki/Michael_Schumacher">formula one driver</a>?</p>
<p><em>R: Yeah.</em></p>
<p><strong>S:</strong> First thing, you know about his current condition, like probably still in the coma. I hope that he will get better. He probably won’t make it to his former self but at least to a state allowing him to live in a somewhat decent way.
He got famous when I was in the so-called German “Gymnasium” (part of secondary education). It was a bit of an annoyance then - I got the same nickname - “Schumi” - as he had. I didn’t follow his career too closely, but knew about every race he won because I would be congratulated at school.</p>
<p><em>pippin: Have you ever made use of sharing the name?</em></p>
<p><strong>S:</strong> No I haven’t. It got me an interview opportunity with a locale radio station because they were calling all people who had the name “Michael Schumacher” and they were asking them “<em>How hard does this affect your personal life? Has it ever affected you?</em>“. Once, I almost had an appointment canceled because someone thought I was mocking them, but that was the only incident ever.</p>
<p>I’ve never used it. I’ve never abused it. Nowadays, after the end of his professional racing career, it basically didn’t matter anymore.</p>
<p><br>
<em>P: Any controversial theme you wish to be asked?</em></p>
<p><strong>S:</strong> Like the fact that I would like to kill spammers? (Maintain several mailing lists, one forum, be a recipient for “<em>can we haz ads on gimp.org, plz?</em>“, and you’ll know what I mean)</p>
<p><em>Simon: Not very controversial.</em></p>
<p><br>
<em>J: What do you want to see in <span class="caps">GIMP</span>?</em></p>
<p><strong>S:</strong> Feature-wise, I’m quite <span class="caps">OK</span> with what <span class="caps">GIMP</span> is right now. I have to admit that some of the current stuff in the <span class="caps">GIMP</span> development version is still above my head - for example, I have no real concept yet of the difference between compositing and blending. Learning that it was 2 different things was quite useful. I hope that we can get the documentation of <span class="caps">GIMP</span> up-to-speed in time.</p>
<p>I’m more concerned about the project management. As in: how do we decide what new features go into <span class="caps">GIMP</span>, how they get into <span class="caps">GIMP</span>, and what <span class="caps">GIMP</span> development will look like. Particularly post-2.10. You can see it yourself: Right now, our release cycles are much too long. Even the fact that we <em>have</em> actual release cycles is probably bad. If you have a look at services like Twitter or similar, they are constantly releasing. They just push new features out to the people and there is a constant review “<em>this is working, this is not working</em>“. With our long release cycles, users get surprised by “<em>Oh this does not work as it used to. Why have they changed it?</em>“.</p>
<p>The project is still a bit old-fashioned in regard to releases. We are trailing current development models. “Development models” is the term I use because I’m not sure how to refer to this. I’m intrigued by the idea of having stable branches with continuously added new features, but I’m not quite sure if I want 2.10 to be constantly evolving. I would prefer to have 2.12. That’s details.</p>
<p><br>
<em>J: How do you see <span class="caps">GIMP</span> in 20 years?</em></p>
<p><strong>S:</strong> First thing: in 20 years, I’ll be 60 (laughs). So I’m not even sure how I see <em>myself</em> at that point. I very much would like to still be part of the project in 20 years. I would still like to be able to see it as an image manipulation program. One of the major Free Software ones. I have no idea at all what it will look like (laughs) because there is so much that can change. Especially in the user interaction. How people interact with software might be the defining factor for how applications will look in 20 years.</p>
<p><br>
<em>J: What’s <strong>the</strong> feature you are really waiting for?</em></p>
<p><strong>S:</strong> The feature I’m really waiting for… It’s not a feature of painting or image manipulation. It’s about organization. This thing we want to do, Plug-in or Resource Registry 2.0. Properly built and really managed. The thing we talked so much about, have so many great ideas, but always seem to lack the time to do. This is the feature I would like to see.</p>
<p><br>
<em>J: Do you contribute under influence?</em></p>
<p><strong>S:</strong> Yeah, have a look at the 2.8.20 <span class="caps">NEWS</span> file. At the typos, which I totally didn’t notice. So now I prefer to not contribute under influence.</p>
<p><em>J: Indeed you are now the maintainer of the 2.8 branch, or at least the releaser. If not mistaken, you took care of 2.8.18 and 2.8.20 releases. What can you say about this?</em></p>
<p><strong>S:</strong> I guess I should start at why I am doing more 2.8 releases. As I explained before, I’m not interested in coding that much but more engaged in user support and maintenance. Approximately one month before the release of 2.8.18, we had received <a href="https://bugzilla.gnome.org/show_bug.cgi?id=767873">a report about a security issue in the <span class="caps">XCF</span> loading code</a>. It was fixed quickly, for both the development and 2.8 branches, but there was no plan to do a 2.8 release. We have instructions for this, and mitch replied “<em>Just do it!</em>” when I asked about it.</p>
<p>It still felt like flying blind. Had I done the version changes - to 2.8.18, and afterwards advancing to 2.8.19 - correctly? Was the tarball made correctly? Would it build on any other system than mine? It did, but I had still missed two action: the release tag is supposed to be signed (i.e. <code>git tag -s</code>) and the <span class="caps">GNOME</span> translations teams should be notified about planned releases with a string freeze be put in place until the release to make it easy for them to complete translations. 2.8.20 was much better prepared and even had an extra long string freeze. I had planned to do it in October 2016, but had to delay it to February 2017, during Wilber Week.</p>
<p>Releasing is definitely something you want to do right, and this means taking a moment of uninterrupted time to do it. My approach towards bug handling has changed a bit, too. I pay much more attention to bugs with attached patches, and try to apply and test those (we really neglected to do this) in order to get them into a stable release.</p>
<p><br>
<em>J: This was a good interview.</em></p>
<p><strong>S:</strong> Thank you for doing it.</p>GIMP 2.8.22 Released2017-05-11T00:00:00+02:002017-05-11T00:00:00+02:00Wilbertag:www.gimp.org,2017-05-11:/news/2017/05/11/gimp-2-8-22-released/<p>We are releasing <span class="caps">GIMP</span> 2.8.22 with various bug fixes.</p><p>We are releasing <span class="caps">GIMP</span> 2.8.22 with various bug fixes. </p>
<p>All platforms will benefit from a change to the image window hierarchy in single window mode, which improves painting performance when certain <span class="caps">GTK</span>+ themes are used.</p>
<p>This version fixes an ancient <span class="caps">CVE</span> bug, <a href="https://nvd.nist.gov/vuln/detail/CVE-2007-3126"><span class="caps">CVE</span>-2007-3126</a>. Due to this bug, the <span class="caps">ICO</span> file import plug-in could be crashed by specially crafted image files. Our attempts to reproduce the bug failed with 2.8 and thus the impact had likely been minimal for years, but now it is gone for good.</p>
<p>Users on the Apple macOS platforms will benefit from fixes for crashes during drag&drop and copy&paste operations. On the Microsoft Windows platforms, crashes encountered when using the color picker with special multi-screen setups are gone, and picking the actual color instead of black from anywhere on the screen should finally be possible.</p>
<p>Check out the full list of <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=GIMP_2_8_22">fixed issues since 2.8.20</a>.</p>
<p>The source code, the Microsoft Windows installer and the Apple Disk Image for <span class="caps">GIMP</span> 2.8.22 are available from our <a href="/downloads/">downloads page</a>; so yes, this time we made an effort to publish everything in one go :)</p>An Interview with Michael Natterer, GIMP maintainer2017-03-01T00:00:00+01:002017-03-01T00:00:00+01:00Jehantag:www.gimp.org,2017-03-01:/news/2017/03/01/an-interview-with-michael-natterer-gimp-maintainer/<p>Michael Natterer gets interviewed by other <span class="caps">GIMP</span> developers</p><p><span class="caps">GIMP</span> is <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software</a>, but even before this, it is people: the ones who create it, the ones who create <em>with</em> it… We don’t have accurate statistics and we take pride on not gathering your data. Yet we know (through other websites that have logged partial statistics over the years) that this is a widely used piece of software, by millions of people around the world. So wouldn’t it be neat to meet some of the individuals who make this project come alive?</p>
<p>Some people think there’s a huge company behind <span class="caps">GIMP</span>. This is not the case.
<span class="caps">GIMP</span> has always been developed by a handful of random people scattered around the world.
Most of them are volunteers and none of them work on it full-time.
As an insider myself, I’ve wanted to launch a series of interviews with the many awesome people I’ve met since I started contributing. So who better to start with than our own benevolent dictator, <span class="caps">GIMP</span> maintainer, and the biggest code contributor: <strong>Michael Natterer</strong>, aka “mitch”.</p>
<p>This interview was held on Friday, February 3, 2017 at around <span class="caps">3AM</span> in front of a fireplace and after a day of hacking at <a href="https://www.gimp.org/news/2017/01/18/wilberweek-2017-announced/">Wilber Week</a>.
With us were several team members, including Michael Schumacher (schumaml (S)) and Øyvind Kolås (pippin (P)), who also asked questions.</p>
<figure>
<img src="https://www.gimp.org/news/images/mitch-interview/mitch-interview-950w.jpg" alt='Mitch, the man, the myth, the legend' width='950' height='566'>
<figcaption>
Mitch. The man. The myth. The legend.<br>
The reason your commit probably got reverted.
</figcaption>
</figure>
<p><em>Jehan: Hello Mitch! In a few words, what’s the close future of <span class="caps">GIMP</span>?</em></p>
<p><strong>Mitch:</strong> In 2.10, there is the <span class="caps">GEGL</span> port.
Then the <span class="caps">GTK</span>+3 port immediately after, which will go as fast as possible.
We don’t plan many features during the <span class="caps">GTK</span>+3 port.</p>
<p><br>
<em>J: What are your preferred features of 2.10?</em></p>
<p><strong>M:</strong> High bit depth, on-canvas filter previews… I don’t actually remember the features of 2.8 [to compare] because I never use it.</p>
<p><em>J: You use 2.10 instead?</em></p>
<p><strong>M:</strong> Yes.</p>
<p><em>J: Do you use <span class="caps">GIMP</span> often?</em></p>
<p><strong>M:</strong> Mostly for testing what I implement, and also for making postcards I sell in my family business. That’s the only thing I use it for.</p>
<h2 id="a-maintainer">A maintainer<a class="headerlink" href="#a-maintainer" title="Permanent link">¶</a></h2>
<p><em>J: How did you start hacking <span class="caps">GIMP</span>?</em></p>
<p><strong>M:</strong> There was this code that saved the user-assigned keyboard shortcuts for menu actions. The code had an escaping bug where you couldn’t have a hyphen as an accelerator. So I wrote code for escaping the string. That was <a href="https://git.gnome.org/browse/gimp/commit/?id=2d442d4842e21c45959ed73a5d9ee3896a2ada08">my first <span class="caps">GIMP</span>
patch</a> in 1997 or 1998.</p>
<p><br>
<em>J: How did you become the maintainer?</em></p>
<p><strong>M:</strong> I killed the previous maintainer.
He is now in my cave in boxes.</p>
<p><br>
<em>Schumaml: Have you ever met the <a href="/about/prehistory.html">original authors</a> (Spencer Kimball and Peter Mattis)?</em></p>
<p><strong>M:</strong> No. Has anyone?</p>
<p><em>S: Have they ever contacted you?</em></p>
<p><strong>M:</strong> Yes, they sent me a few plugins which I pushed. Neon, photocopy and cartoon. It was around 10 years after they left the project, one of them comes to me and says <em>“Hey Mitch, I coded 3 plugins, here they are”</em>. Everything looked perfect so I just pushed them as-is, and they still exist.</p>
<p>These days, they’ve been reimplemented in <span class="caps">GEGL</span>, but the new versions give different results, so the old plugins are still in the menu.</p>
<p><br>
<em>J: Why do you continue working on <span class="caps">GIMP</span>?</em></p>
<p><strong>M:</strong> That’s a good question. <em>(laughs)</em>
I don’t know. You guys, perhaps?
It can be really annoying sometimes.
Why do you guys continue?</p>
<p><em>J: Me? It’s fun.</em></p>
<p><strong>M:</strong> It’s fun yes but sometimes it’s not fun and you do it anyway.</p>
<figure>
<img src="https://www.gimp.org/news/images/mitch-interview/Montserrat_Pano_Gimpheros_Wilberheads.jpg" alt='GIMPers at Montserrat, España' width='950' height='343'>
<figcaption>
GIMPers at Montserrat.
</figcaption>
</figure>
<p><br>
<em>J: Where do you see <span class="caps">GIMP</span> 20 years from now?</em></p>
<p><strong>M:</strong> It will probably end up in a pile of bits rotting in some corner. I may have been thinking the same thing twenty years ago, though, so you never know.</p>
<h2 id="a-hacker">A hacker<a class="headerlink" href="#a-hacker" title="Permanent link">¶</a></h2>
<p><em>J: What do you think of Free Software?</em></p>
<p><strong>M:</strong> It’s the way to go, but you need to use the software which is available for a task, so for some tasks you have no choice but to use something that’s not exactly free.</p>
<p>For example: <em>[pointing to nomis trying to make a label printer work on a <span class="caps">GNU</span>/Linux
distribution]</em> if you were using the closed-source driver for that, it would work.</p>
<p><em>*: (laughs)</em></p>
<p><br>
<em>J: What’s your operating system, distribution, desktop…?</em></p>
<p><strong>M:</strong> Debian Unstable, <span class="caps">GNOME</span> 3.</p>
<p><em>J: You often complain about all these though.</em></p>
<p><strong>M:</strong> Because it’s all shit.
Just because you have the least shitty [software] doesn’t mean it’s not all shit.
Like autotools. They are shit, but it’s the best shit we have.
There is no software that isn’t shit, except perhaps the most simple of software which does one task.</p>
<p><br>
<em>J: What’s your development environment or text editor of choice?</em></p>
<p><strong>M:</strong> Terminal <span class="amp">&</span> emacs.</p>
<p><br>
<em>J: How do you like to hack?</em></p>
<p><strong>M:</strong> It depends. Sometimes I need silence and sometimes a crowded room.</p>
<p><br>
<em>J: You are your own boss in a shop. But we see commits from you all the time. Are you hacking in your bookstore when you get free time and don’t have to take care of your employees or customers?</em></p>
<p><strong>M:</strong> Sometimes, but very rarely. I’m mostly hacking in the evenings, or I commit something during the daytime that I worked on the night before until <span class="caps">2AM</span>.
If I think <em>“I better go to sleep before I push this”</em>, then I’ll wait until the next day when I’m awake to check it once more before I do.</p>
<p>But I don’t have time to do 5-hour long patches during working hours.</p>
<p><em>J: You don’t sleep?</em></p>
<p><strong>M:</strong> I don’t really sleep, no.</p>
<p><br>
<em>S: What channels do you use to communicate on behalf or in the project?</em></p>
<p><strong>M:</strong> <a href="https://xkcd.com/1782/"><span class="caps">IRC</span>, and <span class="caps">IRC</span>.</a></p>
<p><br>
<em>pippin: What was the first computer you programmed?</em></p>
<p><strong>M:</strong> It was a Schneider <span class="caps">CPC</span>, a variation of the Amstrad. At 15 or 16?</p>
<p><br>
<em>S: How did you write your first hello world?</em></p>
<p><strong>M:</strong> In <span class="caps">BASIC</span> of course. My programming languages were <span class="caps">BASIC</span>, Assembly, Pascal, Modula-2, C, in that weird order. :) Plus some others at university nobody cares about. :)</p>
<p><br>
<em>J: Do you code under the influence?</em></p>
<p><strong>M:</strong> Always! That’s the only way to code.</p>
<figure>
<a href='https://xkcd.com/323/' title='Apple uses automated schnapps IVs.'>
<img src='https://www.gimp.org/news/images/ballmer_peak.png' alt='XKCD Ballmer Peak' width='652' height='592'>
</a>
<figcaption>
Obligatory <a href='https://xkcd.com/323/' title='Apple uses automated schnapps IVs.'><span class="caps">XKCD</span></a>, by Randall Munroe (<a href='https://creativecommons.org/licenses/by-nc/2.5/' title='Creative Commons Attribution-NonCommercial 2.5 License'>Creative Commons By-<span class="caps">NC</span> 2.5</a>).
</figcaption>
</figure>
<h2 id="gimp-present"><span class="caps">GIMP</span>: present<a class="headerlink" href="#gimp-present" title="Permanent link">¶</a></h2>
<p><em>J: So all software is shit, but in the list of shitty software, is <span class="caps">GIMP</span> not so bad?</em></p>
<p><strong>M:</strong> I hope so, but of course it’s shitty.
We’re just a handful of volunteers doing what companies with hundreds of (paid) people do.</p>
<p><em>J: But sometimes we do things not so bad, right?</em></p>
<p><strong>M:</strong> Yes, but there is nobody to make sure of it.
It’s not often that someone spends the time and effort to make a plugin perfect.
Sometimes it happens, but usually it gets dumped on us and that’s it.
Ten years later, we look at the code again and say <em>“oh my god, this is complete garbage”</em>.
Very rarely do people maintain their code long term and we cannot seriously expect that to happen with everyone being a volunteer here.</p>
<p><br>
<em>S: Is there something you’d like to do much more in the project, apart from coding?</em></p>
<p><strong>M:</strong> In the project? No, coding is fun. I’m happy that I don’t have to do that much administrative work.</p>
<p><br>
<em>S: When will 2.10 be released?</em></p>
<p><strong>M:</strong> Oh go away! The answer is <em>“go away!”</em>. Read my lips: <strong>“go away”</strong>. When it’s ready.</p>
<p><em>S: Do you expect it to be this year?</em></p>
<p><strong>M:</strong> Yes of course.</p>
<p><em>J: So we have a promise!</em></p>
<p><em>*: (laughs)</em></p>
<h2 id="gimp-future"><span class="caps">GIMP</span>: future<a class="headerlink" href="#gimp-future" title="Permanent link">¶</a></h2>
<p><em>S: There was this thing that the <span class="caps">UI</span> should use Python and the core should use C.</em></p>
<p><strong>M:</strong> Python for the user interface. Horrible! Why?</p>
<p><em>S: This is something we had discussed.</em></p>
<p><strong>M:</strong> Yes but in the past people wanted to use JavaScript. The year before they wanted to use Java, the year before they wanted to use this, and the year after they want to use that. Now they’re all gone.</p>
<p>Everyone who ever said <em>“I want to use this or that”</em>, and <em>“It’s all shit, let’s use JavaScript”</em>, none of them are still in the project, so…</p>
<p><em>S: So you don’t see any big changes regarding <span class="caps">GIMP</span> in the near future?</em></p>
<p><strong>M:</strong> In the near future definitely not because we need to get some releases out.
Unless, of course, there is a well-done patch that doesn’t need weeks of discussion and back-and-forth negotiations on how things <em>should</em> be done.</p>
<p>About using other languages: why not? There is Rust. There is maybe simpler stuff for doing user interfaces, but making such decisions for a codebase the size of <span class="caps">GIMP</span> is not something we can decide based on <em>“the latest hot stuff”</em>.</p>
<p>I mean, look at this javascript mess.
Is that really better? Just because it’s easier?
Easier just means that more clueless people can write code, and they are clueless enough already.
So making it easier doesn’t make it better.
Arrogant but true.</p>
<p><br>
<em>S: Anything else you want to change?</em></p>
<p><strong>M:</strong> Yes a lot of stuff as long as <em><strong>I</strong></em> don’t have to do all the changes, because I really have enough things to do already <em>(laughs)</em>.</p>
<p>You can be the maintainer of whatever subpart, please.
<strong>Please.</strong> Take away the work from me.
All contributors need to realize that if they do something really well, they will be in charge of that part.</p>
<p><em>J: That’s a very good point.</em></p>
<p><strong>M:</strong> If you do it right, then you’ll be in charge of the part you are doing right.
It always works like that.</p>
<p><em>S: They don’t need a blessing from you, right?</em></p>
<p><strong>M:</strong> I don’t do blessings. <em>(laughs)</em></p>
<p><br>
<em>J: <span class="caps">GTK</span>+ comes from <span class="caps">GIMP</span>. What do you think of <span class="caps">GTK</span>+ now?</em></p>
<p><strong>M:</strong> They lost their minds, but they are also doing really good work. I don’t really understand some of their decisions.</p>
<p>On the other hand, look at the mails we get. People say exactly the same about <span class="caps">GIMP</span>: <em>“Have the <span class="caps">GIMP</span> devs lost their minds?!?”</em>. I was involved with <span class="caps">GTK</span>+ for a long time and people thought that I had lost my mind, which was (and is) probably true. Bottom line is that <strong>all is fine between <span class="caps">GTK</span>+ and <span class="caps">GIMP</span></strong>, I just reserve the right to complain for myself.</p>
<p><br>
<em>S: So we will release <span class="caps">GIMP</span> 3 with <span class="caps">GTK</span>+3 or 4?</em></p>
<p><strong>M:</strong> They just branched for <span class="caps">GTK</span>+ 4.x, so that’s not going to happen overnight.</p>
<p><em>P: It won’t hurt to suddenly have <span class="caps">GIMP</span> 4 instead of 3.</em></p>
<p><strong>M:</strong> No it wouldn’t. If they are done in a few weeks, we’d go for <span class="caps">GIMP</span> 4 right away. So why not. That would be cool. <em>(laughs)</em> Or <span class="caps">GIMP</span> 5!</p>
<p><em>J: <span class="caps">GIMP</span> 10?</em></p>
<p><strong>M:</strong> <span class="caps">GIMP</span> X!</p>
<h2 id="various-rants">Various rants<a class="headerlink" href="#various-rants" title="Permanent link">¶</a></h2>
<p><em>S: If you happen to be in a conversation with people talking about <span class="caps">GIMP</span>, but they don’t know that you are involved, do you come out as the <span class="caps">GIMP</span> principal developer?</em></p>
<p><strong>M:</strong> Only if they start talking utter bullshit, or if things simply need clarification. It has happened, of course. A guy wanted to convert me to <span class="caps">GIMP</span> once and I had to tell him: yeah you don’t need to. It was in a non-hacker situation.</p>
<p><br>
<em>J: Who is Wilber?</em></p>
<p><strong>M:</strong> Nobody knows. Wilber is a <span class="caps">GIMP</span>.</p>
<p><br>
<em>S: What special device would you like to see <span class="caps">GIMP</span> on?</em></p>
<p><strong>M:</strong> This cool Microsoft thing (<a href="https://youtu.be/BzMLA8YIgG0">Surface Studio <span class="caps">PC</span></a>) where they have this hyped video online, and it looks super slick with touch and everything.
It’s an ad like Apple used to do in the past and now Microsoft does it, which is a bit weird.
The official Microsoft YouTube video makes you want to have one of these things.</p>
<p><br>
<em>S: What advice you would like to give to someone who would want to contribute?
What to do and what not to do?</em></p>
<p><strong>M:</strong> Listen to advice and be persistent.</p>
<p>Don’t give up because somebody says <em>“this patch isn’t quite right”</em>, most of the time it won’t be. My first commit to <span class="caps">GIMP</span> was reverted immediately.</p>
<p><em>S: I think you also reverted my first.</em></p>
<p><strong>M:</strong> Yes, that’s kind of a tradition. Everybody fucks up on their first commit and it gets reverted. That’s a good standard.</p>
<p><em>S: So do not be afraid of errors?</em></p>
<p><strong>M:</strong> Yes exactly. Unless they jeopardize the fate of humanity or something. That’s unlikely.</p>
<p><br>
<em>*: Thanks for the interview.</em></p>
<p><strong>M:</strong> You are welcome!</p>
<figure>
<img src="https://www.gimp.org/news/images/mitch-interview/mitch-coding.jpg" alt='Mitch at work' width='650' height='650'>
</figure>
<p><small>Images in this post are courtesy of antenne and used by permission (<a class='cc' href='https://creativecommons.org/licenses/by-sa/4.0/' title='Creative Commons Attribution-ShareAlike 4.0 International'>cba</a>).</small></p>GIMP 2.8.20 Packages for macOS and Microsoft Windows are available2017-02-07T00:00:00+01:002017-02-07T00:00:00+01:00Wilbertag:www.gimp.org,2017-02-07:/news/2017/02/07/gimp-2-8-20-packages-macos-and-microsoft-windows/<p><span class="caps">GIMP</span> 2.8.20 packages for macOS and Microsoft Windows are available now.</p><p>Thanks to Kristian Rietveld’s and Jernej Simončič’s effort, we can now offer <a href="/news/2017/02/01/gimp-2-8-20-released/"><span class="caps">GIMP</span> 2.8.20</a> packages for macOS and Microsoft Windows from our <a href="/downloads/">downloads page</a>. There is a number of interesting bug fixes, and we are eager to hear about your experiences with this release.</p>GIMP 2.10 blockers and the road to 3.02017-02-02T00:00:00+01:002017-02-02T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-02-02:/news/2017/02/02/gimp-2-10-blockers/<p>During Wilber Week 2017 in Barcelona, the <span class="caps">GEGL</span>/<span class="caps">GIMP</span> team discussed further development plans.</p><p>During WilberWeek 2017 in Barcelona, the <span class="caps">GEGL</span>/<span class="caps">GIMP</span> team discussed further development plans.</p>
<h2 id="whats-blocking-the-210-release">What’s Blocking The 2.10 Release<a class="headerlink" href="#whats-blocking-the-210-release" title="Permanent link">¶</a></h2>
<p><strong>Deprecation of libgimp <span class="caps">API</span>.</strong> Some functions in libgimp need to be deprecated, and capable replacements need to be introduced. We started this shortly before WilberWeek, a lot more work needs to be done.</p>
<p><strong>Introduction of the linear workflow.</strong> Currently <span class="caps">GIMP</span> has a few loose ends with regards to linear pixel data workflow introduced by Michael Natterer and Øyvind Kolås. The <em>Linear</em> switch in the histogram dialog is more of a prototype and needs a better implementation. Both the <em>Curve</em> and the <em>Levels</em> tools have to be adjusted to work on linear data and need a simple way to switch between linear/gamma-corrected modes. And there’s more work to be done here.</p>
<p><strong>Rework of the layer modes.</strong> Michael and Øyvind introduced significant changes to how layer modes are stored in <span class="caps">XCF</span>. We now have legacy modes (from <span class="caps">GIMP</span> 2.8 and earlier), gamma-corrected modes and linear modes. We have a prototype <span class="caps">UI</span> to switch between these sets, but we need a more solid implementation that we’d be happy to ship in 2.10. And there’s more internal work to do.</p>
<p><strong>Icon and <span class="caps">UI</span> themes.</strong> With dark themes, insensitive menu items are brighter than sensitive menu items. The problem may lie with the <span class="caps">GTK</span>+ pixbuf engine. We need to investigate that further. The new symbolic icon theme has design issues and is incomplete. Our current stance is that we may likely revert to color icons and a light theme as a default one (though we will still release symbolic icons and dark themes as alternatives settable in <em>Preferences</em>), unless dedicated designers step up to complete themes and icons.</p>
<p><strong>Color management.</strong> While most of <span class="caps">GIMP</span> is now color-managed, the big missing bit is complete implementation of color management for <span class="caps">GEGL</span>-based filters. Currently it’s slow and clutters the <span class="caps">UI</span>. We need to fix that.</p>
<p><strong>Warp Transform tool.</strong> The tool works well enough for small images, but lags on larger ones. We need to make it faster.</p>
<p><strong>The usual bugfix routine.</strong> Currently, we have ca. <a href="https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&classification=Other&list_id=187696&order=Importance&product=GIMP&query_format=advanced&target_milestone=2.10">60 bug reports</a> with the 2.10 milestone. Some of them are not essential and can be safely reassigned to the next milestone, but some definitey need our attention.</p>
<h2 id="gtk3-port-may-prove-to-be-a-bigger-change-than-expected"><span class="caps">GTK</span>+3 Port May Prove to Be A Bigger Change Than Expected<a class="headerlink" href="#gtk3-port-may-prove-to-be-a-bigger-change-than-expected" title="Permanent link">¶</a></h2>
<p>We have barely touched the <a href="https://git.gnome.org/browse/gimp/log/?h=gtk3-port">‘gtk3-port’</a> branch since 2012, while most of <span class="caps">GIMP</span>’s source code is actually related to <span class="caps">UI</span>.</p>
<p>The <span class="caps">GTK</span>+3 port compiles and appears to work at least for some users. However we need to sit down and do a complete code audit to figure out, how much work needs to be done to finish the port. We can’t provide any completion estimations at this time.</p>
<p>Depending on how much time this takes, we may end up switching to <span class="caps">GTK</span>+4 (we do like some aspects of the <span class="caps">GTK</span>+ Scene Graph Kit). This will be decided upon in due time.</p>
<h2 id="relaxing-the-no-new-features-policy">Relaxing The No-New-Features Policy<a class="headerlink" href="#relaxing-the-no-new-features-policy" title="Permanent link">¶</a></h2>
<p>We pride ourselves at releasing software that is very stable, although not state-of-the-art fast. This is because for stable releases, we have a policy of not introducing new features to keep the releases as bug-free as possible. Yet this policy proved a blocker for 2.10 since we have too many incomplete features, started by contributors, promising, yet not in release-shape.</p>
<p>We decided that these features should be disabled in 2.10, but can be added later in the stable branch, if they reach the stable state. This way, we don’t block exciting new features arrival for years, while still being able to ship regular releases. This would make our blocker list much smaller, and we could work in smaller steps.</p>
<p>Therefore if the <span class="caps">GTK</span>+3 port proves to be too long of a journey, we will start adding new features to 2.10 or launch a 2.11.x/2.12 series. This is too early to talk about it, but we think we need to be transparent about it.</p>
<h2 id="how-you-can-contribute">How You Can Contribute<a class="headerlink" href="#how-you-can-contribute" title="Permanent link">¶</a></h2>
<p>One of the reasons development of <span class="caps">GIMP</span> isn’t moving as fast as we’d like to is that we are stuck with completing v2.10, and we have a mostly featureless v3.0 ahead of us. We realize that it doesn’t motivate new developers to join and work on new features, but there is no easy solution. 2.10 has to be released, and the <span class="caps">GTK</span>+3 port has to be done.</p>
<p>However we see some ways to help contributors making <span class="caps">GIMP</span> better without waiting for the opening of the 3.1/3.2 series. One of the most common questions we hear is how to find bugs that are easy to fix to get started with hacking on <span class="caps">GIMP</span>. To amend that, we are tagging such bug reports as ‘<a href="https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&columnlist=component%2Cchangeddate%2Cbug_severity%2Cpriority%2Cshort_desc&keywords=newcomers&list_id=187629&order=changeddate%20DESC%2Ccomponent&product=GIMP&resolution=---">newcomers</a>‘, following recommendations of the <a href="https://wiki.gnome.org/Newcomers/"><span class="caps">GNOME</span> Newcomers Initiative</a>. You are welcome to come on <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a> to discuss patches directly with the <span class="caps">GIMP</span> team. Jehan is also available for questions as the <a href="https://wiki.gnome.org/JehanPages">mentor for newcomers</a>, if you feel lost.</p>
<p>If you do not write code, we shall soon be releasing <a href="https://flatpak.org/">Flatpak</a> builds of <span class="caps">GIMP</span>, so you can help testing and providing feedback. This is currently in works by Jehan Pagès.</p>
<p>We shall post a complete report on WilberWeek 2017 once the event is over.</p>GIMP 2.8.20 Released2017-02-01T00:00:00+01:002017-02-01T00:00:00+01:00Wilbertag:www.gimp.org,2017-02-01:/news/2017/02/01/gimp-2-8-20-released/<p>We are releasing <span class="caps">GIMP</span> 2.8.20 with various bug fixes.</p><p>We are releasing <span class="caps">GIMP</span> 2.8.20 with various bug fixes—the most noticeable one being changes to the weird initial user interface language selection on macOS to make it use the user’s preferred language.</p>
<p>Also, for users on the Microsoft Windows platforms, an annoying oscillating switching between different input devices has been fixed, this should make using a tablet more reliable.</p>
<p>Check out the full list of <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=GIMP_2_8_20">fixed issues since 2.8.18</a>.</p>
<p>The source code for <span class="caps">GIMP</span> 2.8.20 is available from our <a href="/downloads/">downloads page</a>; pre-built packages for Microsoft Windows and macOS will follow shortly.</p>WilberWeek 20172017-01-18T00:00:00+01:002017-01-18T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-01-18:/news/2017/01/18/wilberweek-2017-announced/<p>On January 27 - February 5, the team is meeting in Barcelona for WilberWeek—a week of project planning and vicious hacking.</p><p>On January 27 - February 5, the team is meeting in Barcelona for WilberWeek—a week of project planning and vicious hacking.</p>
<p>This meeting is possible thanks to continuos donations from our community.</p>
<p>So far the agenda includes, but is not limited to:</p>
<ul>
<li>preparing the 2.10 release;</li>
<li>working on the new <span class="caps">GIMP</span> plugins/asset interface + architecture;</li>
<li>reviewing all current patches in bugzilla and giving them a proper status;</li>
<li>doing interviews with developers/project members;</li>
<li>performing all kinds of project administrativa;</li>
<li>discussing how post-2.10 <span class="caps">GIMP</span> development is going to be done;</li>
<li>updating docs.gimp.org.</li>
</ul>
<p>Expected participants are:</p>
<ul>
<li>Michael Natterer, principal developer of <span class="caps">GIMP</span></li>
<li>Øyvind Kolås, principal developer of <span class="caps">GEGL</span></li>
<li>Michael Schumacher, project administrator</li>
<li>Ville Pätsi, <span class="caps">GIMP</span> contributor</li>
<li>Simon Budig, <span class="caps">GIMP</span> contributor</li>
<li>Jehan Pagès, <span class="caps">GIMP</span> and <span class="caps">GEGL</span> contributor</li>
<li>Thomas Manni, <span class="caps">GIMP</span> and <span class="caps">GEGL</span> contributor</li>
<li>Mukund Sivaraman, <span class="caps">GIMP</span> and <span class="caps">GEGL</span> contributor</li>
<li>Debarshi Ray, <span class="caps">GNOME</span> Photos lead developer, <span class="caps">GEGL</span> contributor</li>
<li>Jon Nordby, <span class="caps">GIMP</span>, <span class="caps">GEGL</span>, MyPaint contributor, imgflo / Flowhub developer</li>
<li>Aryeom Han, artist, animator</li>
<li>Antenne Springborn, media artist</li>
</ul>
<p>The event is taking place in Can Serrat art centre in El Bruc, near Barcelona.</p>
<p>We invite local <span class="caps">GIMP</span> users to drop by for a chat and mutual insights.</p>Community-supported development of GEGL now live2017-01-16T00:00:00+01:002017-01-16T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-01-16:/news/2017/01/16/pippin-patreon-fundraising-started/<p>Almost every new major feature people have been asking us for, be it high bit depth support, or full <span class="caps">CMYK</span> support, or layer effects, would be impossible without having a robust, capable image processing core. You can help us fund further development of <span class="caps">GEGL</span> now.</p><p>Almost every new major feature people have been asking us for, be it high bit depth support, or full <span class="caps">CMYK</span> support, or layer effects, would be impossible without having a robust, capable image processing core.</p>
<p>Øyvind Kolås picked up <a href="http://gegl.org/"><span class="caps">GEGL</span></a> in mid-2000s and has been working on it in his spare time ever since. He is the author of 42% of commits in <span class="caps">GEGL</span> and 50% of commits in <a href="http://gegl.org/babl/">babl</a> (pixel data conversion library).</p>
<div class='fluid-video'>
<iframe width="979" height="551" src="https://www.youtube.com/embed/GJJPgLGrSgc?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<p>Thanks to his work, we shall be shipping <span class="caps">GIMP</span> 2.10 with 16/32-bit per color channel precision, linear pixel data workflow, and filters that have an on-canvas preview.</p>
<p>But we always need more from both <span class="caps">GEGL</span> and babl:</p>
<ul>
<li>better performance (always);</li>
<li>more sophisticated use of <span class="caps">GPU</span>;</li>
<li>support for arbitrary <span class="caps">RGB</span> primaries and <span class="caps">TRC</span> (think using wide-gamut <span class="caps">RGB</span>, like rec2020);</li>
<li>support for <span class="caps">CMYK</span> and spot colors;</li>
<li>more <span class="caps">GIMP</span> filters available as <span class="caps">GEGL</span> operations.</li>
</ul>
<p>And the list go on.</p>
<p>Which is why we ask you to support Øyvind via his <a href="https://www.patreon.com/pippin">Patreon page</a>, so that the development of new features requested by you, our community, could go faster.</p>2016 in review2017-01-15T00:00:00+01:002017-01-15T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2017-01-15:/news/2017/01/15/2016-in-review/<p>When we released <span class="caps">GIMP</span> 2.9.2 in late 2015 and stepped over into 2016, we already knew that we’d be doing mostly polishing. This turned out to be true to a larger extent, but quite a few new features slipped in. So, what are the big changes for <span class="caps">GIMP</span> in 2016?</p><p>When we released <span class="caps">GIMP</span> 2.9.2 in late 2015 and stepped over into 2016, we already knew that we’d be doing mostly polishing. This turned out to be true to a larger extent, and most of the work we did was under-the-hood changes.</p>
<p>But quite a few new features slipped in. So, what are the big user-visible changes for <span class="caps">GIMP</span> in 2016?</p>
<h3 id="better-handling-of-layers-channels-masks-and-paths">Better Handling of Layers, Channels, Masks, and Paths<a class="headerlink" href="#better-handling-of-layers-channels-masks-and-paths" title="Permanent link">¶</a></h3>
<p>Michael Natterer eliminated one of the big issues with the clipboard: not having an easy way to copy/paste layers and layer groups from one project to another. Now you can just select a layer or a layer group in the ”Layers” dialog, press ”’Ctrl+C”’, switch to a different project and press ”’Ctrl+V”’.</p>
<p>The ”Layer Attributes” dialog, which hasn’t been very useful, now provides the single <span class="caps">UI</span> for setting layer’s name, changing blending mode and opacity setting offset in X/Y, toggling visibility, link status, various locks.</p>
<p>Newly added color tags improve layers management and can be set via ”Layers” menu, ”Layer Attributes” dialog. They are also accessible via shortcuts and available for channels and paths (we don’t expect people to use it a lot, but it was too easy to implement).</p>
<p>The color tags feature is currently not very useful without multiple layers selection. This is something we’ve been meaning to do for quite a while. Last year we did a <a href="https://gui.gimp.org/index.php/Multi-layer_selection_workgroup">basic research</a> on that, but we don’t expect to accomplish this task in time for <span class="caps">GIMP</span> 2.10, unless someone contributes a very good patch. If you are interested in helping out, please talk to us.</p>
<p>Moreover, for people who use a lot of masks, the workflow has been streamlined. Now <span class="caps">GIMP</span> remembers the last type of mask initialization, and you can use key modifiers + mouse click on layer previews to create, apply, or remove masks. Additionally, there’s a new button for that as well.</p>
<h3 id="remembering-defaults-across-sessions-improved-configurability">Remembering Defaults Across Sessions, Improved Configurability<a class="headerlink" href="#remembering-defaults-across-sessions-improved-configurability" title="Permanent link">¶</a></h3>
<p>We had to figure out a sane way for <span class="caps">GIMP</span> to remember last mask initialization settings, so we devised a whole new infrastructure to remember settings of various dialogs. The user interface to adjust those settings is now live on the new ”Interface -> Dialog Defaults” page in the ”Preferences” dialog. See the <a href="https://www.gimp.org/news/2016/10/06/making-settings-persistent/">Making settings persistent in <span class="caps">GIMP</span></a> post for more details.</p>
<p>We also made various <span class="caps">GIMP</span> settings resettable in the ”Preferences” dialog. And since <span class="caps">GIMP</span> is a huge app, where settings tend to accumulate over the years, we added a vertical scrollbar to keep the height of the dialog sensible. Additionally, we reorganized some of the settings, e.g. on the ”Color Management” page.</p>
<h3 id="color-management">Color Management<a class="headerlink" href="#color-management" title="Permanent link">¶</a></h3>
<p>We already introduced a handful of changes to the color management implementation in 2015, when the code was rewritten by Michael Natterer pretty much from scratch become a core feature rather than a plug-in. But there was more to follow.</p>
<p>Now everything is color-managed in <span class="caps">GIMP</span>: all sorts of previews, the Color Picker tool, the painting tools etc. The only missing bit is the on-canvas preview for <span class="caps">GEGL</span>-based filters. Color transforms are extremely slow with LittleCMS, so we shall need more time to figure this out.</p>
<p>On a related matter, the Color Management section of the Preferences dialog now features new options to toggle color transforms optimization, so that you could choose between performance and color fidelity.</p>
<p>Additionally, toggling soft-proofing is just a few clicks away in the ‘View -> Color Management’ submenu now, along with rendering intent settings.</p>
<h3 id="better-tools">Better Tools<a class="headerlink" href="#better-tools" title="Permanent link">¶</a></h3>
<p>While we didn’t intend to work on tools a lot, there have been several interesting updates:</p>
<ul>
<li>The ”Align” tool now has vertical offset setting (contributed by Jonathan Tait).</li>
<li>The ”Move” tool shows relative coordinates when moving guides and sample points (bug <a href="https://bugzilla.gnome.org/show_bug.cgi?id=770911">#770911</a>).</li>
<li>The ”Text” tool got improved support for languages using Input Method Engines (contributed by Jehan Pages).</li>
<li>Both the ”Bucket Fill” and the ”Fuzzy Select” tool have a new ”Diagonal neighbors” option to select diagonally neighboring pixels (contributed by Ell).</li>
<li>The ”Intelligent Scissors” tool now allows to remove the last added segment with the ”’Backspace”’ key.</li>
</ul>
<h3 id="split-preview-for-gegl-based-filters">Split preview for <span class="caps">GEGL</span>-based filters<a class="headerlink" href="#split-preview-for-gegl-based-filters" title="Permanent link">¶</a></h3>
<p>Michael Natterer added a new on-canvas preview feature for <span class="caps">GEGL</span>-based filters: splitting the view to compare the image before and after applying the filter. You can drag the ‘curtain’ to adjust the view and use key modifiers to swap before/after sides and the direction of the split (horizontal/vertical).</p>
<h3 id="darktable">darktable<a class="headerlink" href="#darktable" title="Permanent link">¶</a></h3>
<p>Tobias Ellinghaus of the <a href="https://www.darktable.org">darktable</a> project contributed a new plug-in to load raw files into <span class="caps">GIMP</span> by having them developed in darktable. This is only available on platforms supported by darktable, i.e. Linux and macOS.</p>
<p>Since there is more than one raw processing plug-in out there, we intend to eventually add a way to set preferred raw plug-in. You can contribute a patch for that.</p>
<h3 id="webp-support">WebP support<a class="headerlink" href="#webp-support" title="Permanent link">¶</a></h3>
<p>Pascal Massimino and Benoit Touchette contributed a new WebP plug-in that supports loading/exporting of WebP files, along with <span class="caps">ICC</span> profiles, Exif and <span class="caps">XMP</span> metadata. The plug-in also supports animation.</p>
<h3 id="painting">Painting<a class="headerlink" href="#painting" title="Permanent link">¶</a></h3>
<p>In early 2016, we finally merged the branch by Jehan Pagès that introduces symmetric painting to all painting tools (Paintbrush, MyPaint Brush, Eraser etc.). The feature is available via a dedicated dockable dialog on per-image basis. Modes: Mirror, Tiling, Mandala (Kaleidoscope). The work on this feature was directly sponsored by the part of the community that uses <span class="caps">GIMP</span> for digital painting.</p>
<p>For bitmap brushes, <span class="caps">GIMP</span> now caches hardness and disables dynamic change of hardness to improve painting performance. Bitmap brushes also don’t get clipped anymore, when hardness is less than 100.</p>
<h2 id="user-interfaces-changes">User Interfaces Changes<a class="headerlink" href="#user-interfaces-changes" title="Permanent link">¶</a></h2>
<p>One of the most visible changes in <span class="caps">GIMP</span> is the new user interface themes along with new icon themes, available since v2.9.4 released last summer. We now ship <span class="caps">GIMP</span> with “Dark” theme and “Symbolic” icon theme enabled by default.</p>
<p><span class="caps">GIMP</span> ships with 5 new themes (lighter, light, gray, dark, darker) overall. For users who prefer the old <span class="caps">UI</span>, we still ship the old default <span class="caps">UI</span> theme along with old colorful icons. There’s also some ongoing work on vector-based icons for better Hi-<span class="caps">DPI</span> displays compatibility.</p>
<p>We also fixed a number of usability issues. E.g. toolbox buttons do not grab focus anymore, which used to break the use of the ”’Tab”’ key and other canvas-related shortcuts after changing tools with a pointing device click.</p>
<h3 id="gegl-and-babl"><span class="caps">GEGL</span> and babl<a class="headerlink" href="#gegl-and-babl" title="Permanent link">¶</a></h3>
<p><span class="caps">GEGL</span> and babl got their fair share of development focus. We only added a handful of new operations (”Saturation”, ”Gaussian Selective Blur” etc.), because most work on <span class="caps">GEGL</span> was performance improvements, house cleaning etc.</p>
<p>One interesting change, though, is the new ”gegl_operation_progress” function to report processing progress. It’s useful for reporting processing progress to a <span class="caps">GEGL</span>-based editor such as <span class="caps">GIMP</span>. For now, we use it in ”cartoon” and ”distance-transform” operations, but expect to use it in many more ops.</p>
<p>For babl, most changes were about improving performance (creating fast pixel data conversion paths and caching them) and fixing bugs.</p>
<h2 id="whats-next-for-gimp">What’s Next for <span class="caps">GIMP</span><a class="headerlink" href="#whats-next-for-gimp" title="Permanent link">¶</a></h2>
<p>There are still many bugs to fix before we can release 2.10. In the mean time, we are planning to hold a week long developers meet-up in Barcelona at end of January. One of the topics will be cleaning up libgimp to get it into the releasable state for 2.10. We shall soon announce the full agenda for the Wilberweek.</p>
<p>Another upcoming major change is how linear/gamma-corrected workflows are implemented in <span class="caps">GIMP</span>. Since early January, Michael Natterer and Øyvind Kolås have been hacking on <span class="caps">GIMP</span> to make layer modes work on both linear and gamma-corrected image data correctly. This involved a lot of source code reorganization, and a major part of that work is already done.</p>
<p>Additional changes currently live in the ‘pippin/linear-is-the-new-black’ Git branch soon to be merged, and we hear <a href="https://ninedegreesbelow.com/files/linear-is-the-new-black.html">good reports</a> about it from some of our most sceptical users already.</p>
<p>Some other exciting news deserve a separate announcement.</p>
<p>We expect to ship <span class="caps">GIMP</span> 2.10 with 16/32-bit per color channel support, new color management implementation, and a great many improvements overall later this year. Our next focus will be completing the <span class="caps">GTK</span>+3 port to make the graphic tablets support fully functional on all supported platforms again and prepare <span class="caps">GIMP</span> for even more long overdue changes such as non-destructive image editing.</p>Making settings persistent in GIMP2016-10-06T00:00:00+02:002016-10-06T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2016-10-06:/news/2016/10/06/making-settings-persistent/<p>Until fairly recently <span class="caps">GIMP</span> didn’t do a very good job of remembering all the types of possible customizations. Upcoming v2.10 has some major improvements in that department.</p><p>Until fairly recently <span class="caps">GIMP</span> didn’t do a very good job of remembering all the types of customizations. If you applied a filter to an image and liked the combination of options that you used, there was no way you could save that combination for a later use. If you carefully chose selection stroking options, the next time you had to stroke a selection, you had to define settings all over again.</p>
<p>Upcoming v2.10 has some major improvements in that department.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-10-06 Dialog Defaults/gimp-2-9-5-filter-named-presets.jpg" alt="Adding a named preset for the Unsharp Mask filter in GIMP" width='975' height='442' />
</figure>
<p>Early in the current development cycle we started porting existing <span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> operations and using the <span class="caps">GEGL</span> tool skeleton to wrap their GUIs into. This made it possible to automatically save each used combination as preset with a timestamp for a name, or manually—as a named preset. If you’ve been using v2.9.2 or v2.9.4, you most likely benefit from that already.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-10-06 Dialog Defaults/gimp-2-9-5-masks-in-xcf.jpg" alt="Using masks for digital photrography in GIMP" width='975' height='596' />
</figure>
<p>The second part of improvements started with reviewing a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=759601">patch</a> submitted by Benoit Touchette. As a professional photographer, he regularly works on hundreds of photos daily and has an extensive use of masks, so he needs to get from A to B extremely fast. Benoit came up with a clever idea to simplify adding new masks: clicking on layers’ previews. Various modifier keys would additionally define whether you apply and remove the mask or just drop the mask entirely.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-10-06 Dialog Defaults/gimp-2-9-5-easy-mask-create-tooltip.jpg" alt="Tooltips for handling masks quickly in GIMP" width='975' height='536' />
</figure>
<p>The difficult part was to come up with a way to remember the last used mask initiation setting not just within one session, but across sessions. So instead of creating a special case for just the <em>Add Layer Mask</em> dialog, Michael Natterer added a whole new infrastructure to automatically save and load the settings of dialogs.</p>
<p>All the dialog defaults are stored in the <em>gimprc</em> configuration file. To give you an idea, this is how stroking options are saved in <em>gimprc</em>:</p>
<div class="highlight"><pre><span></span><code>(stroke-options
(style solid)
(antialias yes)
(method line)
(width 6.000000)
(unit pixels)
(cap-style butt)
(join-style miter)
(miter-limit 10.000000)
(dash-offset 0.000000)
(dash-info 0)
(emulate-brush-dynamics no))
</code></pre></div>
<p>The options are preserved for dialogs like <em>New Channel</em>, <em>Feather Selection</em>, <em>Stroke Path</em> and others. To give you visual control over the settings, Michael created a new page in the <em>Preferences</em> dialog called <em>Dialog Defaults</em>.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-10-06 Dialog Defaults/gimp-2-9-5-prefs-dialog-defaults.png" alt="Dialog Defaults preferences page in GIMP 2.9.5" width='805' height='638' />
</figure>
<p>You may have noticed a few more new things about the <em>Preferences</em> dialog. There is now a scrollbar on large pages to make the dialog fit small screens like the still popular 1366x768 on lower-end laptops (quite a few <span class="caps">GIMP</span> users reported that <em>Preferences</em> was getting too big). Additionally, some pages now feature a reset button that restores default settings.</p>
<p>The dialog defaults feature will be available in <span class="caps">GIMP</span> 2.9.6 and, eventually, in <span class="caps">GIMP</span> 2.10.</p>
<p>The introduction of filter presets and dialog defaults gets us closer to resolving <a href="https://bugzilla.gnome.org/show_bug.cgi?id=63610">#63610</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=120829">#120829</a>, and <a href="https://bugzilla.gnome.org/show_bug.cgi?id=599573">#599573</a>, filed in 2001, 2003, and 2009 respectively. If you think that more dialogs could benefit from either saving their settings as defaults or getting named presets, please drop by on <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a> or the <a href="https://www.gimp.org/mail_lists.html">mailing list</a> for developers and tell us.</p>
<p>If you are interested in helping out with getting <span class="caps">GIMP</span> 2.10 released, please check out the <a href="https://wiki.gimp.org/wiki/Hacking:TODO#2.10"><span class="caps">TODO</span></a> page.</p>GIMP 2.8.18 Released2016-07-14T00:00:00+02:002016-07-14T00:00:00+02:00Wilbertag:www.gimp.org,2016-07-14:/news/2016/07/14/gimp-2-8-18-released/<p>We are releasing <span class="caps">GIMP</span> 2.8.18 to fix a vulnerability in the <span class="caps">XCF</span> loading code (<span class="caps">CVE</span>-2016-4994).</p><p>We are releasing <span class="caps">GIMP</span> 2.8.18 to fix a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=767873">vulnerability in the <span class="caps">XCF</span> loading code</a> (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4994"><span class="caps">CVE</span>-2016-4994</a>). With special <span class="caps">XCF</span> files, <span class="caps">GIMP</span> can be caused to crash, and possibly be made to execute arbitrary code provided by the attacker.</p>
<p>This release includes <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=GIMP_2_8_18">additional bug fixes since 2.8.16</a>. An important change has happened to the initial startup experience on Microsoft Windows and <span class="caps">OS</span> X platforms - any “<span class="caps">GIMP</span> is not responding” errors encountered there should be gone.</p>
<p>The source code for <span class="caps">GIMP</span> 2.8.18 is available from our <a href="/downloads/">downloads page</a>; pre-built packages for Microsoft Windows and <span class="caps">OS</span> X will follow shortly.</p>GIMP 2.9.4 Released2016-07-13T00:00:00+02:002016-07-13T00:00:00+02:00Wilbertag:www.gimp.org,2016-07-13:/news/2016/07/13/gimp-2-9-4-released/<p>We have just released the second development version of <span class="caps">GIMP</span> in the 2.9.x series. <span class="caps">GIMP</span> 2.9.4 features revamped look and feel, major improvements in color management, as well as production-ready MyPaint Brush tool, symmetric painting, and split preview for <span class="caps">GEGL</span>-based filters.</p><p>We have just released the second development version of <span class="caps">GIMP</span> in the 2.9.x series. After half a year in the works, <span class="caps">GIMP</span> 2.9.4 delivers a massive update: revamped look and feel, major improvements in color management, as well as production-ready MyPaint Brush tool, symmetric painting, and split preview for <span class="caps">GEGL</span>-based filters. Additionally, dozens of bugs have been fixed, and numerous small improvements have been applied.</p>
<p><span class="caps">GIMP</span> 2.9.4 is quite reliable for production work, but there are still loose ends to tie, which is why releasing stable v2.10 will take a while. Please refer to the <a href="https://wiki.gimp.org/wiki/Roadmap#GIMP_2.10">Roadmap</a> for the list of major pending changes.</p>
<h2 id="revamped-user-interface-and-usability-changes">Revamped User Interface and Usability Changes<a class="headerlink" href="#revamped-user-interface-and-usability-changes" title="Permanent link">¶</a></h2>
<p>The new version features several new themes by Benoit Touchette in various shades of gray: Lighter, Light, Gray, Dark, Darker. The system theme has been preserved for users who prefer a completely consistent look of user interfaces across all desktop applications.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-themes.jpg" alt="New User Interface Themes" width='975' height='390' />
</figure>
<p>Note that we still consider this feature a work in progress, as dark themes still need some fine-tuning (especially regarding the color of inactive menu items).</p>
<p>The new <span class="caps">UI</span> themes are accompanied by symbolic icons originally created by Barbara Muraus and Jakub Steiner, and heavily updated and completed by Klaus Staedtler. The existing icon theme from past releases of <span class="caps">GIMP</span> has also been preserved, and users can freely switch between available icon themes and easily add their own ones.</p>
<p>Note that themes and icon themes are now separate: you can easily mix your favorite <span class="caps">UI</span> with various icon sets. Also since most 2.8 themes would end up broken in 2.9.x, themes are not migrated from <span class="caps">GIMP</span> < 2.9. Users who want custom themes will have to install ones specifically made for <span class="caps">GIMP</span> 2.9/2.10.</p>
<p>All work on icons by Klaus Staedtler is made on vector (<span class="caps">SVG</span>) images, which should allow better support for HiDPI displays (also commonly known as Retina) soon. Vector icons are an experimental feature, available after using the <code>--enable-vector-icons</code> build configure option. Note that this option does not allow HiDPI support at this time.</p>
<p>We cleaned the Preferences dialog a little and reordered options in a more logical manner. The Color Management page was redesigned following both internal and user-visible changes in relevant parts of <span class="caps">GIMP</span> (see below), and the <em>Snap Distance</em> options have been moved to a dedicated <em>Snapping</em> page.</p>
<p>Additionally, it is now possible to configure the size of undo step previews in the Undo dialog via the <em>Preferences</em> dialog, which was previously only possible by manually editing <span class="caps">GIMP</span>’s configuration file <span class="caps">GIMP</span>’s configuration file, by a complete oversight on our part.</p>
<p>The startup splash screen now features a pulsing progress bar to indicate that <span class="caps">GIMP</span> is not frozen. This, as well as initializing fontconfig in the background (also a new feature in 2.9.4), is meant to address a common issue where rebuilding the fonts cache (or building it for the first time) can take a lot of time hence making an impression that <span class="caps">GIMP</span> freezes at startup. We acknowledge that this is a workaround. Fixing the actual reason involves hacking on fontconfig. If you are interested, there is a <a href="https://bugs.freedesktop.org/show_bug.cgi?id=64766">bug report</a> on that.</p>
<h2 id="color-management-improvements">Color Management Improvements<a class="headerlink" href="#color-management-improvements" title="Permanent link">¶</a></h2>
<p>The color management implementation got a complete overhaul in this version of <span class="caps">GIMP</span>. Instead of being a pluggable module, it is now a core feature. Moreover, we added an abstraction layer that makes <span class="caps">GIMP</span> less dependent on <a href="http://www.littlecms.com/">LittleCMS</a>. This means that in the future <span class="caps">GIMP</span> could use native APIs on Windows and <span class="caps">OS</span> X, and/or use <a href="http://opencolorio.org/"><span class="caps">OCIO</span></a>.</p>
<p>For now, it has helped us to clean up the code a lot and introduce a clean implementation of color management to various bits of <span class="caps">GIMP</span> such as: previews for color swatches and gradients, patterns, various color widgets (including the drag-and-drop color widget), the Color Picker tool, layer and image preview etc. The only unmanaged bit for now is the color widget in the Script-Fu and Python-Fu plug-ins. Moreover, <span class="caps">GIMP</span> will track which monitor the widget is currently on (different monitors would have different <span class="caps">ICC</span> profiles assigned to them) and color-correct it accordingly.</p>
<p>Grayscale images are first class citizens in <span class="caps">GIMP</span> once again: since v2.9.4, <span class="caps">GIMP</span> can color-manage them as well.</p>
<p>Since <span class="caps">GIMP</span> currently relies on sRGB (this is bound to change in future versions of <span class="caps">GIMP</span>), we decided to expose that in the user interface. So currently <span class="caps">GIMP</span> has an option called ‘Color-manage this image’ in two places: the <em>New Image</em> dialog and the <code>Image > Color Management</code> submenu. What it means is that instead of taking into consideration the <span class="caps">ICC</span> profile embedded into an image (whichever profile it is) it will just treat everything as sRGB. Please note that we are likely to reword the option to make it even more explicit about what it does.</p>
<p>Additionally, there’s now a <code>View > Color Management</code> submenu where you can enable and control softproofing.</p>
<p>The <em>Color Management</em> section of the <em>Preferences</em> dialog has been reorganized to reflect recent changes and provide more consistent wording of options.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-preferences-cms.png" alt="Color Management Preferences" width='975' height='920' />
</figure>
<p>Since color management comes with a speed penalty (at least with LittleCMS), there’s a new option that enables you to choose either better color fidelity of faster processing depending on the kind of work you usually do.</p>
<p>Among smaller changes there’s a new <code>Image > Color Management > Save Color Profile to File...</code> command that does exactly what it says: it dumps an embedded <span class="caps">ICC</span> profile to disk as a file. Note that copyright restrictions on <span class="caps">ICC</span> profiles may apply, so please be careful.</p>
<h2 id="gegl"><span class="caps">GEGL</span><a class="headerlink" href="#gegl" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> now keeps track of all <a href="http://gegl.org/"><span class="caps">GEGL</span></a>-based filters that you used within one session and allows re-running them via the <code>Filters > Recently Used</code> submenu, just like old <span class="caps">GIMP</span> plug-ins.</p>
<p>The <em>Posterize</em> and <em>Desaturate</em> color tools have been converted to regular <span class="caps">GEGL</span>-based filters, and both the <em>Tile</em> and <em>Pagecurl</em> filters have been converted to use <span class="caps">GEGL</span> buffers. A quite popular “photographic” <em>Highpass</em> filter commonly used for enhancing details was added to the <code>Filters > Enhance</code> submenu.</p>
<p>A way more noticeable new feature, however, is split preview for <span class="caps">GEGL</span>-based filters. You can compare before/after versions right on canvas and move a “curtain” around to see more of “before” or “after”, and swap their positions (<code>Shift + click</code> on the guide). You can also switch between vertical and horizontal division (<code>Ctrl + click</code>).</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-gegl-curtain.jpg" alt="GEGL preview curtain - original image by Aryeom Han" width='975' height='548' />
</figure>
<h2 id="darktable-as-raw-processing-plug-in">darktable as Raw Processing Plug-in<a class="headerlink" href="#darktable-as-raw-processing-plug-in" title="Permanent link">¶</a></h2>
<p>On <strong>Linux</strong>, <span class="caps">GIMP</span> is now capable of using <a href="https://www.darktable.org">darktable</a> for pre-processing raw images from DSLRs (Canon <span class="caps">CR2</span>, Nikon <span class="caps">NEF</span> etc.). darktable is an amazing project whose developers stick around at our <span class="caps">IRC</span> channel and even contribute to <span class="caps">GIMP</span> (most recently, they added reading various metadata from <span class="caps">EXR</span> files).</p>
<p>Note that the <code>file-darktable</code> plug-in is activated only when darktable is built with <a href="https://www.lua.org">Lua</a> support. Make sure your build of darktable for Linux is feature-complete.</p>
<p>It is still possible to use other raw development plug-ins like <code>UFRaw</code>. For cases when multiple plug-ins are installed in your system, we intend to add a preference option.</p>
<h2 id="screenshots">Screenshots<a class="headerlink" href="#screenshots" title="Permanent link">¶</a></h2>
<p>The code for capturing screenshots has undergone a major reorganization. It’s now split into a front-end and several back-ends specific for Windows, <span class="caps">OS</span> X, Wayland and X.org (Linux and <span class="caps">UNIX</span> systems).</p>
<p>While there are no immediate user-visible changes, this reorganization will greatly simplify further improvements, hence improving user experience on different operating systems.</p>
<h2 id="painting">Painting<a class="headerlink" href="#painting" title="Permanent link">¶</a></h2>
<h3 id="mypaint-brush-tool">MyPaint Brush Tool<a class="headerlink" href="#mypaint-brush-tool" title="Permanent link">¶</a></h3>
<p>The new <a href="http://mypaint.org/">MyPaint</a> Brush tool is now enabled by default. Daniel Sabo and Michael Natterer improved its performance and made MyPaint brushes available via an already familiar dockable dialog interface, with previews and tagging.</p>
<p>Jehan Pagès collaborated with the MyPaint team: he <a href="http://mypaint.org/blog/2016/05/20/libmypaint-now-uses-autotools/">ported libmypaint to autotools</a>, allowing, in particular, standard builds on all platforms, and work is being done to turn the default brushes into a separately shipped package.</p>
<h3 id="symmetry-painting">Symmetry Painting<a class="headerlink" href="#symmetry-painting" title="Permanent link">¶</a></h3>
<p>Another major new feature is symmetric painting mode, also developed by Jehan Pagès with financial support from the <span class="caps">GIMP</span> community. It can be activated through the new <em>Symmetry Painting</em> dockable dialog and allows to use all paint tools with various symmetries (mirror, mandala, tiling…).</p>
<ul>
<li><span class="dquo">“</span>Mirror” allows to paint with <strong>horizontal, vertical (axial), and/or central symmetry</strong>. The symmetry guides can be placed anywhere on canvas.</li>
<li><span class="dquo">“</span>Mandala” is a <strong>rotational symmetry</strong> of any order. The center can be placed anywhere on canvas.</li>
<li><span class="dquo">“</span>Tiling” is a <strong>translational symmetry</strong>, which can be finite (with a maximum of strokes) or infinite. In the latter case, it is the perfect tool to create patterns or seamless tiles, with instant rendering of what it will look like, at painting time.</li>
</ul>
<p>Quick <em>1-minute</em> test by Aryeom Han:</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-symmetry.png" alt="Symmetry painting" width='975' height='1440' />
</figure>
<h3 id="tool-options">Tool Options<a class="headerlink" href="#tool-options" title="Permanent link">¶</a></h3>
<p>The mouse scroll-wheel action mappings have been improved, allowing, in combination with various modifiers, to do useful things on the currently selected tool’s options:</p>
<ul>
<li><code>Alt + Mousewheel</code>: opacity increase/decrease;</li>
<li><code>Shift + Primary + Mousewheel</code>: aspect increase/decrease;</li>
<li><code>Shift + Alt + Mousewheel</code>: angle increase/decrease;</li>
<li><code>Primary + Alt + Mousewheel</code>: size increase/decrease;</li>
<li><code>Shift + Primary + Alt + Mousewheel</code>: spacing increase/decrease.</li>
</ul>
<p><em>Note</em>: the <code>Primary</code> modifier is usually <code>Ctrl</code> or <code>Cmd</code>, depending on your platform.</p>
<h2 id="selections">Selections<a class="headerlink" href="#selections" title="Permanent link">¶</a></h2>
<p>For cases when your selection has a lot of small unselected regions, you can now use the <code>Select > Remove Holes</code> command.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-remove-holes.jpg" alt="Removing holes in selection" width='975' height='1110' />
</figure>
<p>The <code>Select > Border...</code> dialog now provides several border style options: hard, smooth, and feathered. <em>Feathered</em> creates a selection which goes gradually from 1 to 0 the farther you get from the middle of the border. <em>Smooth</em> preserves partial selection (antialiasing) along the edges of the selection.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-border-style.png" alt="Border styles selection" width='975' height='648' />
</figure>
<h2 id="better-tools">Better Tools<a class="headerlink" href="#better-tools" title="Permanent link">¶</a></h2>
<p>The <em>Fuzzy Select</em> and <em>Bucket Fill</em> tools got a new feature for selecting/filling diagonally neighboring pixels.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-diagonal-neighbors.png" alt="Diagonal neighbors selection" width='975' height='648' />
</figure>
<p>The <em>Blend</em> tool got shapeburst fills resurrected, and allows the placement of their handles on the canvas, outside of the image area. Additionally, the Blend tool now displays its progress thanks to a new <span class="caps">GEGL</span> feature available in several <span class="caps">GEGL</span> operations including <code>gegl:distance-transform</code>.</p>
<p>The <em>Text</em> tool now fully supports advanced input methods for <span class="caps">CJK</span> and other non-western languages. Minimal support already existed, but the pre-edit text was displayed in a floating pop-up instead of inline, within the text tool box, and without any preview styling. It is now displayed just as expected, depending on your platform and Input Method Engine. Several input method-related bugs and crashes have also been fixed.</p>
<figure>
<img src="https://www.gimp.org/news/2016/2016-07-13 GIMP 2.9.4 Released/gimp-2-9-4-ime.png" alt="Input Method Engine support in text tool" width='417' height='240' />
</figure>
<h2 id="batch-processing-on-command-line">Batch Processing on Command Line<a class="headerlink" href="#batch-processing-on-command-line" title="Permanent link">¶</a></h2>
<p>A new macro <code>with-files</code> is now available in order to easily process multiple files through <span class="caps">GIMP</span> from the command line, which was a much awaited feature.</p>
<p>For instance, if you want to invert the colors of all <span class="caps">PNG</span> images in the current folder, then save them as <span class="caps">JPEG</span>, you could run the following from the command line:</p>
<div class="highlight"><pre><span></span><code>gimp<span class="w"> </span>-i<span class="w"> </span>-b<span class="w"> </span><span class="s1">'(with-files "*.png"</span>
<span class="s1"> (gimp-invert layer)</span>
<span class="s1"> (gimp-file-save 1 image layer</span>
<span class="s1"> (string-append basename ".jpg")</span>
<span class="s1"> (string-append basename ".jpg")</span>
<span class="s1"> )</span>
<span class="s1"> )</span>
<span class="s1"> (gimp-quit 0)'</span>
</code></pre></div>
<p>Note: the name of the macro <a href="https://bugzilla.gnome.org/show_bug.cgi?id=726947#c12">may change</a> before the release of v2.10.</p>
<h2 id="email-plug-in-resurrected">Email Plug-in Resurrected<a class="headerlink" href="#email-plug-in-resurrected" title="Permanent link">¶</a></h2>
<p>The <code>File > Send by email…</code> dialog will open your default email client with an attached copy of the current image, to share your work-in-progress with a single click. This is available only on operating systems with <code>xdg-email</code> (likely <strong><span class="caps">GNU</span>/Linux, <span class="caps">BSD</span> only</strong>).</p>
<p>The original implementation using <code>sendmail</code> is also available. Yet since it requires a properly configured sendmail, which is not common on desktop machines, the explicit <code>--with-sendmail</code> option has to be set at build time to replace the <code>xdg-email</code> implementation.</p>
<h2 id="debugging-facilities-for-windows">Debugging Facilities for Windows<a class="headerlink" href="#debugging-facilities-for-windows" title="Permanent link">¶</a></h2>
<p>In the unlikely event that <span class="caps">GIMP</span> crashes, we need as much information as possible to find out the actual bug. The raw crash log is one such source of information. <strong>Windows</strong> builds can now generate backtrace logs upon a crash with <a href="https://github.com/jrfonseca/drmingw">Dr.MinGW’s ExcHndl</a> library, which must be available at build time. The logs will be stored in <code>%APPDATA%\GIMP\2.9\CrashLog\</code>.</p>
<h2 id="whats-left-to-do-for-gimp-210">What’s Left To Do for <span class="caps">GIMP</span> 2.10<a class="headerlink" href="#whats-left-to-do-for-gimp-210" title="Permanent link">¶</a></h2>
<p>Since the release of v2.9.2 we have been mostly fixing bugs and completing the work we had started earlier. We are not planning to add any major new features in v2.10. If you are interested in helping us release v2.10 earlier, you can find the list of bug reports in our <a href="https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&classification=Other&list_id=137406&order=Importance&product=GIMP&query_format=advanced&target_milestone=2.10">bugtracker</a>.</p>
<h2 id="some-statistics-on-our-awesome-contributors">Some Statistics on Our Awesome Contributors<a class="headerlink" href="#some-statistics-on-our-awesome-contributors" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> <a href="https://www.gimp.org/news/2015/11/27/gimp-2-9-2-released/">2.9.2 was released on November 27, 2015</a>. Since then, the work to reach <span class="caps">GIMP</span> 2.9.4 was done in <strong>1348 commits</strong>, making an average of <strong>5.9 commits a day</strong>, of which 894 are (mostly) code-related, 241 are icon-related, and 213 are translation updates.</p>
<p>As usual, the <span class="caps">GIMP</span> team is small yet as dedicated as ever: more than a third of the commits have been done by Michael Natterer (514), the next biggest contributors being Jehan Pagès (192) and Klaus Staedtler (187). The three of them represent 66% of all commits.</p>
<p><em>Note</em>: contributions by Jehan Pagès were made on behalf of <a href="https://film.zemarmot.net">ZeMarmot</a> Open Movie project: symmetry painting, MyPaint library integration, email plugin, Input Methods, management of the new themes and icons contributions, and more…</p>
<p>We have prolific newcomers among developers:</p>
<ul>
<li>Ell joined us with significant code contributions (32 commits), such as the diagonal neighbours, the “Remove Hole” command, and many other fixes;</li>
<li>Tobias Ellinghaus, a darktable developer, contributed 14 commits on darktable integration and improving <span class="caps">EXR</span> and <span class="caps">PNM</span> support.</li>
</ul>
<p>Of course, we also have our usual suspects with 10+ code commits: Alexandre Prokoudine, Daniel Sabo, Kristian Rietveld, Massimo Valentini, and Michael Henning.</p>
<p>And since no patch is too small, it would be completely unfair to forget all other code contributors: Adrian Likins, A S Alam, Carol Spears, Eugene Kuligin, Jasper Krijgsman, João <span class="caps">S. O.</span> Bueno, nmat, Richard Kreckel, saul, Shmuel H, Jonathan Tait, Michael Schumacher, Pedro Gimeno, Richard Hughes, Benoit Touchette, Hartmut Kuhse, Kevin Cozens, Elle Stone, Mukund Sivaraman, Øyvind Kolås, Sven Claussner, Thomas Manni, Alexia Death, Andrew Worsley, Simon Budig, and Piotr Drąg.</p>
<p>New icons are a big work in progress, with 241 commits, mostly by Klaus Staedtler, with additional contributions from Aryeom Han, Benoit Touchette, Jehan, Kevin Payne, Michael Natterer and Øyvind Kolås.
We should not forget Benoit Touchette for his work in progress on themes, as well as some code contribution.</p>
<p>We would like to thank as well every 30 translators: Alexandre Prokoudine, Ask Hjorth Larsen, Balázs Meskó, Balázs Úr, Christian Kirbach, Cédric Valmary, Daniel Korostil, Daniel Mustieles, Dimitris Spingos, Dušan Kazik, Gábor Kelemen, Hartmut Kuhse, <span class="caps">J.M.</span> Ruetter, Jordi Mas, Khaled Hosny, Marco Ciampa, Mario Blättermann, Martin Srebotnjak, Mónica Canizo, Necdet Yücel, Pedro Albuquerque, Piotr Drąg, Rūdolfs Mazurs, Sebastian Rasmussen, Sveinn í Felli, Tiago Santos, Yolanda Álvarez Pérez, Klaus Staedtler, kolbjoern, and Милош Поповић.</p>
<p><em>Note</em>: Statistics based on the number of commits provide valuable information regarding the activity of a project, yet they are not always a perfect indicator of contribution, so the goal of this section is not to have any kind of contributor rank. For instance, one commit could be a one-liner, whereas another could contain several hundreds of lines (and even this may not always be a good indicator of the time spent on and the difficulty of the fix).</p>
<p>Moreover we should not forget all the “shadow contributors”, whose contributions cannot be counted as easily, working on things such as code review (which Massimo Valentini should be especially commended for), bug triaging and follow-up (Michael Schumacher here would get a prize!), community, website, and communication (Akkana Peck, Patrick David, and others)…</p>
<p>We sincerely hope we did not forget anyone, and we want to say: thank you.</p>
<h2 id="downloads">Downloads<a class="headerlink" href="#downloads" title="Permanent link">¶</a></h2>
<p>The source code is available from the <a href="https://www.gimp.org/downloads/">Downloads</a> page. An installer for Windows will be available shortly. A build for Mac <span class="caps">OS</span> X is not available at this time.</p>GIMPers at Texas Linux Fest 20162016-07-04T08:00:00-05:002016-07-04T08:00:00-05:00Pat Davidtag:www.gimp.org,2016-07-04:/news/2016/07/04/gimpers-at-texas-linux-fest-2016/<p>If you happen to be anywhere near Austin, <span class="caps">TX</span> next weekend (July 8-9) then mosey on down to [Texas Linux Fest 2016][txlf] and meet some of your friendly neighborhood <span class="caps">GIMP</span> crew!</p><p>If you happen to be anywhere near Austin, <span class="caps">TX</span> next weekend (July 8-9) then mosey on down to <a href="http://2016.texaslinuxfest.org">Texas Linux Fest 2016</a> and meet some of your friendly neighborhood <span class="caps">GIMP</span> crew!</p>
<figure>
<img src='https://www.gimp.org/news/images/2016-TXLF/TXLF-header-fs8.png' alt='Texas Linux Fest'>
</figure>
<p><a href="http://www.shallowsky.com">Akkana Peck</a> and <a href="https://pixls.us">Pat David</a> will be hosting a photowalk from 0900-1100 on Friday, July 8<sup>th</sup> (first day of the meeting) to socialize, talk photography, and capture some images for their workshop sessions later that same day. Pat will be talking about various Free Software photography tools and using them to create high quality results. Akkana will focus on using <span class="caps">GIMP</span> as a primary photo editing tool.</p>
<p>Both sessions will be immediately following the photowalk, before and after lunch. They will also be in attendance for the “Graphics Hackathon” at the end of the first day.</p>
<p>They are part of a full “open graphics” track on the first day that includes <a href="https://gould.cx/ted/">Ted Gould</a> creating technical diagrams using <a href="https://inkscape.org/">Inkscape</a>, <a href="http://2016.texaslinuxfest.org/node/103">Brian Beck</a> doing a <a href="https://www.blender.org">Blender</a> tutorial, and <a href="http://2016.texaslinuxfest.org/node/55">Jonathon Thomas</a> showing off <a href="https://www.openshot.org/">OpenShot 2.0</a>!</p>
<p>More information can be found on the <a href="http://2016.texaslinuxfest.org">2016 Texas Linux Fest website</a>. We look forward to seeing you there!</p>GEGL 0.3.8 and babl 0.1.18 Released2016-06-14T00:00:00+02:002016-06-14T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2016-06-14:/news/2016/06/14/gegl-0-3-8-babl-0-1-18-released/<p>New version of <span class="caps">GEGL</span> and babl are out with new features, minor improvements, and fixes to accomodate upcoming <span class="caps">GIMP</span> 2.9.4.</p><p>New version of <a href="http://gegl.org/"><span class="caps">GEGL</span></a> and <a href="http://gegl.org/babl/">babl</a> are out with new features, minor improvements, and fixes. These releases in particular are intended to accomodate upcoming <span class="caps">GIMP</span> 2.9.4 that depends on several important bugfixes from both babl and <span class="caps">GEGL</span>. However there have been some interesting new features.</p>
<p>First of all, now <span class="caps">GEGL</span> operations can report processing progress so that <span class="caps">GIMP</span> or e.g. <span class="caps">GNOME</span> Photos could correctly render progress indication. So far this is only used in two operations, gegl:cartoon and gegl:distance-transform. We expect to propagate this new feature to more operations in the coming releases.</p>
<p>Secondly, linear and cubic resamplers provide better default image quality at downscaling now. In terms of quality, the output is comparable to that of NoHalo and LoHalo samplers, but processing time is shorter.</p>
<p>Additionally, file handlers finally register <span class="caps">MIME</span> types for loaders and try to guess file types by analyzing file content before falling back to file extension detection. This makes the file loading routine a little smarter.</p>
<p>Finally, the ‘gegl’ binary keeps getting more features like simple video filtering and encoding audio alongside video.</p>
<p>For the first time in quite a while a new <span class="caps">GEGL</span> release contains no new ports of existing <span class="caps">GIMP</span> filters. This is because there have been no related contributions for the last few months. There is still a lot of work to do, and we greatly appreciate your help with getting more filters ready for non-destructive workflows.</p>
<p>The complete list of changes is available in the <a href="https://git.gnome.org/browse/gegl/tree/NEWS"><span class="caps">NEWS</span></a> file. Tarballs are up at <a href="https://download.gimp.org/">download.gimp.org/</a>.</p>Updated 2.8.16 Installer with a Major Bugfix Released2016-06-05T00:00:00+02:002016-06-05T00:00:00+02:00Michael Schumachertag:www.gimp.org,2016-06-05:/news/2016/06/05/updated-windows-installer-libpixman-crash/<p>With the past few releases, users on the 32-bit versions of Microsoft Windows platforms were plagued by an annoying bug — resizing a window crashed <span class="caps">GIMP</span>. We believe this to be fixed, and have released an updated installer.</p><p>With the past few releases, users on the 32-bit versions of Microsoft Windows platforms were plagued by an annoying bug — <a href="https://bugzilla.gnome.org/show_bug.cgi?id=759602">resizing a window crashed <span class="caps">GIMP</span></a>. We believe this to be fixed, and have released an updated installer.</p>
<p>The crash was caused by a problem in <a href="http://www.pixman.org">libpixman</a>, and is fixed in current version of this library. This has been packaged, so if you were suffering from this issue, you can get an updated installer from our <a href="https://www.gimp.org/downloads/">downloads page</a>.</p>Call for GIMP 2.10 Documentation Update2016-05-23T00:00:00+02:002016-05-23T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2016-05-23:/news/2016/05/23/gimp-2-10-docs-update-call/<p>For the past several months we’ve been working on <span class="caps">GIMP</span> mostly in the bugfix mode. It’s time to start updating the user manual for the upcoming release.</p><p>With the upcoming <span class="caps">GIMP</span> 2.10 release we intend to finally close the time gap between releases of source code, installers, and the user manual. This means that we need a more coordinated effort between the <span class="caps">GIMP</span> developers team and the <span class="caps">GIMP</span> User Manual team.</p>
<p>For the past several months we’ve already been working on <span class="caps">GIMP</span> mostly in bugfix mode. It’s time to start updating the user manual to match all the changes in <span class="caps">GIMP</span> 2.10, and we would appreciate your help with that.</p>
<h2 id="what-needs-doing">What Needs Doing<a class="headerlink" href="#what-needs-doing" title="Permanent link">¶</a></h2>
<ul>
<li><strong>Updating the content.</strong> There have been a lot of changes since 2.8. For quite a while, we’ve been maintaining a structured <a href="https://wiki.gimp.org/wiki/Release:2.10_changelog">list of changes in 2.10</a> specifically to assist technical writers in updating the user manual.</li>
<li><strong>Translating the content.</strong> At some point we’d like to “freeze” the documentation so that translators could start updating localized versions of the user manual. Since <span class="caps">GIMP</span> is <a href="https://git.gnome.org/browse/gimp-help-2/">hosted at <span class="caps">GNOME</span></a>, you would have to contact your local <a href="https://wiki.gnome.org/TranslationProject"><span class="caps">GNOME</span> translation</a> team to get involved.</li>
<li><strong>Resurrecting <span class="caps">PDF</span> builds.</strong> Years ago we chose DocBook/<span class="caps">XML</span> as a way to build both web (<span class="caps">HTML</span>) and printable (<span class="caps">PDF</span>) copies of the user manual from a single source. Unfortunately, there appear to be some issues with building <span class="caps">PDF</span> files presently. Someone would have to investigate, what’s causing this, and act accordingly.</li>
<li><strong>Adding Search to the Online Docs.</strong> We’ve heard a number of requests to add basic search to the online docs. If you have an idea how to do that, please contact us.</li>
</ul>
<h2 id="how-to-contribute">How To Contribute<a class="headerlink" href="#how-to-contribute" title="Permanent link">¶</a></h2>
<p>Technical documentation on hacking on the user manual is <a href="https://git.gnome.org/browse/gimp-help-2/tree/HACKING">available</a> in the respective Git repository.</p>
<p>The primary communication environment for all things documentation in the project is the <a href="https://mail.gnome.org/mailman/listinfo/gimp-docs-list">gimp-docs@</a> mailing list. We encourage you to talk to fellow team members publicly about which part of the documentation you are hacking on. This is because efficient collaborative effort requires full transparence.</p>
<p>If you have technical questions about features in <span class="caps">GIMP</span> 2.10, you can use either gimp-docs@ mailing list or join the <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span> channel</a>, ask your question, and stick around for the answer.</p>
<p>We do not yet have an estimated time of arrival for <span class="caps">GIMP</span> 2.10, but there’s only so much time we can spend on completing this release before we can move to the next development cycle.</p>Revamping Tutorials2016-05-05T00:00:00+02:002016-05-05T00:00:00+02:00Pat Davidtag:www.gimp.org,2016-05-05:/news/2016/05/05/revamping-tutorials/<p>As part of building a new <span class="caps">GIMP</span> website we had to sort through all of the legacy pages in order to migrate content properly. A nice side effect of this sorting included addressing <a href="//www.gimp.org/tutorials/">tutorials</a> that were out of date (or in some cases, <em>really</em> out of date). This gave us …</p><p>As part of building a new <span class="caps">GIMP</span> website we had to sort through all of the legacy pages in order to migrate content properly. A nice side effect of this sorting included addressing <a href="//www.gimp.org/tutorials/">tutorials</a> that were out of date (or in some cases, <em>really</em> out of date). This gave us an opportunity to re-build the tutorials index to focus on (<em>more</em>) current content as well as ensure that everything is being licensed in a permissive manner.</p>
<h2 id="cool-uris-dont-change">Cool URIs don’t change<a class="headerlink" href="#cool-uris-dont-change" title="Permanent link">¶</a></h2>
<p>It was <a href="https://www.w3.org/Provider/Style/URI.html">true in 1998</a> and is still just as true today. Possibly more so. Great care was taken to make sure that we didn’t break all of the inbound links to the old tutorials during the site update.</p>
<p>This means that if there were any links to the previous tutorials they will still work. They are still at the same <span class="caps">URL</span> they had always been. What we <em>did</em> change was the listing of <a href="//www.gimp.org/tutorials/">tutorials on the index page</a>:</p>
<p><a href="//www.gimp.org/tutorials/">www.gimp.org/tutorials/</a></p>
<p>That list now includes only more current content that has been permissively licensed for use. If you need the deprecated tutorials for some reason, see <a href="/tutorials/list-all.html">the complete list</a>.</p>
<p>An unfortunate side-effect of pruning old material is that we are now a little light on good tutorials…</p>
<h2 id="help-write-more-tutorials">Help Write More Tutorials<a class="headerlink" href="#help-write-more-tutorials" title="Permanent link">¶</a></h2>
<p>Which is where you, the community, comes in! If you were looking for a way to contribute to the project, and you don’t feel up to coding<sup>*</sup>, this is a great way to share and help others learn <span class="caps">GIMP</span>. We encourage you to come tell us about your tutorial on <a href="https://mail.gnome.org/mailman/listinfo/gimp-user-list">the gimp-user mailing list</a> or, even better, drop by the <a href="/irc.html"><span class="caps">IRC</span> channel</a> and let us know what you’re thinking (this is strongly encouraged to make sure there’s not something already being worked on)!</p>
<p><small><sup>*</sup>Of course, if you <em>do</em> feel up to coding we’d <a href="https://testing.gimp.org/develop/">love to hear from you too</a>!</small></p>
<p>There’s usually helpful team members around who can guide you with both ideas and content if needed.
We have a tutorial <a href="/tutorials/template/">template</a>, and you can find the markdown file used to generate it <a href="https://git.gnome.org/browse/gimp-web/plain/content/tutorials/template/index.md">in git</a>.</p>
<p>We can use tutorials of all types and skill levels, so don’t feel intimidated by what you might see on the current tutorials page. Indeed many common questions we see might have solutions that are not obvious to others - the perfect opportunity to write a tutorial about it! We’ll absolutely consider all proposed tutorials.</p>
<h2 id="new-tutorial-tone-mapping-with-levels">New Tutorial - Tone Mapping with Levels<a class="headerlink" href="#new-tutorial-tone-mapping-with-levels" title="Permanent link">¶</a></h2>
<p>Speaking of tutorials, <a href="https://ninedegreesbelow.com/">Elle Stone</a> has just <a href="/tutorials/Tone_Mapping_Using_GIMP_Levels/">published a new tutorial</a> on doing some simple tone mapping and shadow recovery of images using high bit depth <span class="caps">GIMP</span> and the <span class="caps">GEGL</span> <em>Exposure</em> operation.</p>
<figure>
<img src='https://www.gimp.org/tutorials/Tone_Mapping_Using_GIMP_Levels/gegl-exposure-add-one-stop-positive-exposure-compensation.jpg' alt='GEGL Exposure'>
<figcaption>
The <span class="caps">GEGL</span> <i>Exposure</i> dialog.
</figcaption>
</figure>
<p>The tutorial covers a method for adding exposure compensation to an image’s shadows and midtones while retaining highlight details. She does this using <em>Exposure</em> and combining the results with a mask based on a grayscale version of the working image (similar to using a <a href="/tutorials/Luminosity_Masks/">luminosity mask</a>).
This is also one of the first tutorials using the high bit depth version of <span class="caps">GIMP</span>. Head over to the <a href="//www.gimp.org/tutorials/">tutorials</a> page and have a look:</p>
<p><a href="/tutorials/Tone_Mapping_Using_GIMP_Levels/">Tone Mapping and Shadow Recovery Using <span class="caps">GIMP</span>’s ‘Colors/Exposure’</a></p>Updated Windows Installer Signature2016-03-27T00:00:00+01:002016-03-27T00:00:00+01:00Michael Schumachertag:www.gimp.org,2016-03-27:/news/2016/03/27/updated-windows-installer-signature/<p>The Windows installer packages for <span class="caps">GIMP</span> 2.8.16 were reported as corrupt when downloaded with the Microsoft Edge or Internet Explorer 11 browsers. The current installer package fixes this.</p><p>We have published an updated installer package for the Microsoft Windows platforms. If you have experienced problems in the past few weeks due to <a href="/news/2016/03/17/corrupt-windows-installer-warnings/">corrupt installer warnings</a>, please go to our <a href="/downloads/">downloads</a> and try again.</p>Corrupt Windows Installer Warnings2016-03-17T00:00:00+01:002016-03-17T00:00:00+01:00Michael Schumachertag:www.gimp.org,2016-03-17:/news/2016/03/17/corrupt-windows-installer-warnings/<p>The Windows installer packages for <span class="caps">GIMP</span> 2.8.16 are reported as corrupt when downloaded with the Microsoft Edge or Internet Explorer 11 browsers. This is due to a policy by Microsoft.</p><p>For the past few weeks, we have been receiving reports that some users can’t download our <a href="https://www.gimp.org/downloads/">installer packages</a> for the Microsoft Windows platforms. Microsoft Edge and Internet Explorer 11 <a href="https://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx#Signature_Verification_Failure_Experience">mark them as corrupt</a> and discourage users from running them.</p>
<p>Turns out this is a policy change by Microsoft, gone into effect on January 1, 2016. The new policy affects all kinds of security certificates as of specific deadlines, and this includes code signing certificates. Jernej Simončič, who creates the Windows installer packages, signs them to make their authenticity verifiable. But the way this signature is done is no longer considered safe by Microsoft, and there are justified technical reasons for that.</p>
<p>Administrators and users of Microsoft Windows systems are well advised to make themselves familiar with the implications of this policy; the TechNet article on the subject is available at <a href="https://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx">Windows Enforcement of Authenticode Code Signing and Timestamping</a>.</p>
<p>We are working to resolve the issue — this requires a more recent code-signing certificate and signing the installer packages with it. Stay tuned for updates.</p>
<p>As a temporary workaround, you can use other web browsers to download the installer packages.</p>GEGL 0.3.6 Released2016-03-15T00:00:00+01:002016-03-15T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2016-03-15:/news/2016/03/15/gegl-0-3-6-released/<p>Last weekend, we released a new version of <span class="caps">GEGL</span>, graph based image processing framework used by <span class="caps">GIMP</span> and other free/libre graphics applications.</p><p>Last weekend, we released a new version of <a href="http://gegl.org/"><span class="caps">GEGL</span></a>, graph based image processing framework used by <span class="caps">GIMP</span> and other free/libre graphics applications. Here are some of the most important changes.</p>
<p>There are two new operations: Saturation (works in both <span class="caps">CIE</span> <span class="caps">LAB</span> and <span class="caps">CIE</span> <span class="caps">LCH</span> color spaces) and the port of <span class="caps">GIMP</span>’s Selective Gaussian Blur filter. The operations for loading and saving video frames have been updated to work with FFmpeg 3.0. We also disabled the dcraw-based operation for loading raw images by default: the <a href="https://www.libraw.org/">LibRaw</a>-based operation does the job just as well and provides a better <span class="caps">API</span>.</p>
<p>Additionally, there have been some improvements in the ‘gegl’ binary: now you can change graph composition (namely, connect buffers to aux and other input pads) via the command line, and when a project is loaded for viewing, you can zoom in/out at cursor position on scroll wheel events. Moreover, you can now specify properties of operations on the command line, e.g.:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>gegl<span class="w"> </span>input.png<span class="w"> </span>-o<span class="w"> </span>output.png<span class="w"> </span>--<span class="w"> </span>threshold<span class="w"> </span><span class="nv">value</span><span class="o">=</span><span class="m">0</span>.23
</code></pre></div>
<p>Among general improvements, copy-on-write handling for the gegl_buffer_clear function is now available. This should make clearing of buffers an initially cheaper and faster operation, with the actual allocation of tile memory (copying) amortised over subsequent pixel data writes to the buffer.</p>
<p><span class="caps">GEGL</span> 0.3.6 is available at <a href="https://download.gimp.org/gegl/0.3/">download.gimp.org</a>.</p>
<p>There are still many <span class="caps">GIMP</span> filters to be <a href="https://wiki.gimp.org/wiki/Hacking:Porting_filters_to_GEGL">rewritten as <span class="caps">GEGL</span> operations</a>. Contributions are welcome!</p>StreamComputing launches GEGL-OpenCL project2016-01-28T00:00:00+01:002016-01-28T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2016-01-28:/news/2016/01/28/gegl-opencl-streamcomputing/<p>This week, StreamComputing launches an educational initiative that aims to get more developers to study and use OpenCL in their projects. Within this project, up to 20 collaborators will port as many <span class="caps">GEGL</span> operations to OpenCL as possible.</p><p>This week, StreamComputing launches an <a href="http://opencl.org">educational initiative</a> that aims to get more developers to study and use OpenCL in their projects. Within this project, up to 20 collaborators will <a href="https://wiki.gimp.org/wiki/Hacking:Porting_filters_to_GEGL">port as many <span class="caps">GEGL</span> operations to OpenCL</a> as possible.</p>
<p>Vincent Hindriksen and Adel Johar who organize this project seek a way for the group to educate themselves. One of the ways is to gamify the porting by benchmarking the kernels and defining winners, and another way is to optimize kernels within StreamComputing to push the limits. Victor Oliveira, who wrote most of the OpenCL code in <span class="caps">GEGL</span>, joined the <span class="caps">GEGL</span>-OpenCL project to advise.</p>
<p>So far 7 participants have joined the project, so if you are interested in learning OpenCL and helping <span class="caps">GEGL</span> and <span class="caps">GIMP</span> get hardware acceleration for more of their features, <a href="mailto:vincent@streamcomputing.eu?subject=OpenCL%2B%20GEGL%20training&body=Hi%20Vincent%2C%0A%0AI'm%20a%20perfect%20candidate%20for%20the%20group-of-20%2C%20because%20...">email Vincent</a>.</p>
<p>All work is being done on <a href="https://github.com/OpenCL/GEGL-OpenCL">GitHub</a> (check out the project’s description there for information on porting and benchmarking). The communication between participants is taking place in a <a href="https://gegl-opencl.slack.com">dedicated Slack channel</a> (request an invite from Vincent or <a href="mailto:adeljo@hotmail.com">Adel</a>).</p>
<p><a href="https://streamcomputing.eu">StreamComputing</a> is a Dutch software development company that provides training and consulting services in the area of <span class="caps">GPU</span> programming and parallel processing.</p>
<p><a href="http://gegl.org"><span class="caps">GEGL</span></a> is a free/libre graph based image processing framework used by <span class="caps">GIMP</span>, <span class="caps">GNOME</span> Photos, and other free software projects.</p>Libre Graphics Meeting 20162016-01-12T00:00:00+01:002016-01-12T00:00:00+01:00Pat Davidtag:www.gimp.org,2016-01-12:/news/2016/01/12/libre-graphics-meeting-2016/<p>Join us April 15-18 at the 11th annual Libre Graphics Meeting being hosted by Westminster School of Media Arts and Design in London, <span class="caps">UK</span>! Come and meet developers of free graphics software, participate in a workshop, and collaborate with other visual artists who choose to work in free software.</p><p><a class='pledgieRight' href='https://pledgie.com/campaigns/30935'><img alt='Click here to lend your support to: Libre Graphics Meeting 2016 - London and make a donation at pledgie.com !' src='https://pledgie.com/campaigns/30935.png?skin_name=chrome' border='0' ></a>
<em>Join us</em> <strong>April 15-18</strong> at the 11th annual <a href="https://libregraphicsmeeting.org/2016/" title="Libre Graphics Meeting"><strong>Libre Graphics Meeting</strong></a> (<span class="caps">LGM</span>) hosted by the <a href="https://www.westminster.ac.uk/" title="University of Westminster">Westminster School of Media Arts and Design</a>, University of Westminster, in London, <span class="caps">UK</span>.
Come and meet developers of free graphics software, participate in a workshop, or collaborate with other visual artists who choose to work in <a href="https://www.gnu.org/philosophy/free-sw.en.html" title="Free Software Definition">free software</a>.</p>
<figure>
<a href='https://www.westminster.ac.uk/'>
<img src="https://www.gimp.org/news/2016/2016-01-12 LGM/banner_glitch_1.png" alt="LGM2016 glitch banner" width='500' height='400' />
</a>
</figure>
<p><a href="https://libregraphicsmeeting.org/2016/" title="Libre Graphics Meeting"><span class="caps">LGM</span></a> is an amazing opportunity for developers, contributors, visual artists, and supporters of free software projects to come together to work, discuss, and learn from each other.
The meeting will have multiple days of presentations, <a href="https://en.wikipedia.org/wiki/Birds_of_a_feather_%28computing%29"><em>birds of a feather</em></a> meetings, and many types of wonderful workshops.
There’s also an opportunity to meet some of the <span class="caps">GIMP</span> team as well!</p>
<p>This year the host is the <a href="https://www.westminster.ac.uk/" title="University of Westminster">Westminster School of Media Arts and Design</a>, University of Westminster at their Harrow Campus:</p>
<p><a href='https://www.westminster.ac.uk/' title='University of Westminster'>
<img src='https://www.gimp.org/news/2016/2016-01-12 LGM/UoW-logo.jpg' alt='University of Westminster Logo' width='326' height='78' />
</a></p>
<p>Harrow Campus
Watford Road
Northwick Park
Middlesex
<span class="caps">HA1</span> <span class="caps">3TP</span></p>
<div class="fluid-video">
<iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="https://www.openstreetmap.org/export/embed.html?bbox=-0.3714752197265625%2C51.550444854394286%2C-0.27611732482910156%2C51.60506465084748&layer=mapnik&marker=51.57776295788465%2C-0.32379627227783203" width="425"></iframe>
<p><br/><small><a href="https://www.openstreetmap.org/?mlat=51.5778&mlon=-0.3238#map=14/51.5778/-0.3238">View Larger Map</a></small></p>
</div>
<p>If you are unable to join us at the meeting, please <a href="https://pledgie.com/campaigns/30935" title="LGM Pledgie Campaign">consider donating something</a> to help offset the costs of project participants to make the trip out to collaborate with so many other awesome projects!
<span class="caps">LGM</span> has a <a href="https://pledgie.com/campaigns/30935" title="LGM Pledgie Campaign">Pledgie campaign</a> running to assist with travel costs for participants:</p>
<p><a href='https://pledgie.com/campaigns/30935'><img alt='Click here to lend your support to: Libre Graphics Meeting 2016 - London and make a donation at pledgie.com !' src='https://pledgie.com/campaigns/30935.png?skin_name=chrome' border='0' ></a></p>
<p>Funds from their Pledgie go towards helping contributors from all around the world converge at the meeting to share and present their work with others.</p>
<h3 id="special-focus-other-dimensions">Special Focus: Other Dimensions<a class="headerlink" href="#special-focus-other-dimensions" title="Permanent link">¶</a></h3>
<p>For the 2016 edition of <span class="caps">LGM</span>, they are looking at a different aspect of Libre Graphics, <a href="https://libregraphicsmeeting.org/2016/call-for-participation/"><em>Other Dimensions</em></a>:</p>
<blockquote>
<p>For the 2016 edition of <span class="caps">LGM</span> we continue speculating and will expand Libre Graphics into Other Dimensions.
We are looking for presentations and workshops that explore the dimensions of space and material: 3D modelling and animation, Libre architecture, Open Source product design and other fields of digital making and manufacture.
We are also seeking contributions that offer reflections on the ‘other dimensions’ of open source communities and that engage with <span class="caps">FLOSS</span> tools in various contexts including but not limited to teaching, learning, practice and co-production.
This represents a desire to address the future sustainability of the Libre Graphics movement, through a growth of the core projects and topics that will, we hope, allow us to welcome more and more <span class="caps">FLOSS</span> projects and participants to our community.</p>
</blockquote>
<h3 id="a-history-of-gimp-lgm">A History of <span class="caps">GIMP</span> + <span class="caps">LGM</span><a class="headerlink" href="#a-history-of-gimp-lgm" title="Permanent link">¶</a></h3>
<p>Over 10 years ago the annual meetings of <span class="caps">GIMP</span> developers branched out to <span class="caps">LGM</span>, and we have been attending the event every year since.
It’s an opportunity to hold project meetings, talk to fellow contributors to other libre projects, and to get inspired by the work that you, our users, create.</p>
<p>At the 2014 <span class="caps">LGM</span> in Leipzig, Germany, members of the <span class="caps">GIMP</span> team were cornered for a few moments to capture some portraits.
Here are just <em>some</em> of the faces you might get to see at <span class="caps">LGM</span> 2016!</p>
<figure>
<img src='https://www.gimp.org/news/2016/2016-01-12 LGM/GIMP-team.jpg' alt='GIMP team montage image by Pat David'/>
<figcaption>
Bring this image along as a reference when you want to buy a round of drinks!<br/>
For complaints, see <a href='https://www.flickr.com/photos/patdavid/17387973489'>this guy</a>.
</figcaption>
</figure>
<p>If you’d like an opportunity to show off your work, come check out others awesome results, or are just curious what’s new and interesting in the world of free software, graphics, and visual art - then we encourage you to come attend <span class="caps">LGM2016</span>.</p>
<p>We’ll be excited to meet you in person!</p>GIMP and GEGL in 20152015-12-31T00:00:00+01:002015-12-31T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2015-12-31:/news/2015/12/31/2015-report/<p>We hope you are having great holidays. Here is our annual report about project activities in 2015.</p><p>We hope you are having great holidays. Here is our annual report about project activities in 2015.</p>
<p>It’s been an interesting year for <span class="caps">GIMP</span>. For the most part, we focused on completing the <a href="http://gegl.org/"><span class="caps">GEGL</span></a> port which involved rewriting all the source code related to color management. The vast majority of this work was done by Michael Natterer between April and November. The new implementation is much cleaner and is built right into the core of <span class="caps">GIMP</span>. Here are some of the new features:</p>
<ul>
<li>pasting an image into another image that has a different color space just works now;</li>
<li><span class="caps">GIMP</span> detects color space defined in Exif 2.21/<span class="caps">DCF</span> 2.0 option files;</li>
<li>greyscale images are finally color-managed;</li>
<li>layer and image previews are color managed too now.</li>
</ul>
<p>The few missing features are color management for the color picker tool and color selection dialogs. This will be completed before the final v2.10 release.</p>
<p>Michael Natterer also resurrected Intelligent Scissors selection tool—the last one that wasn’t ported to <span class="caps">GEGL</span>—and added undo support for selections in progress.</p>
<p>Elle Stone added decomposition and composition of images to/from <a href="https://en.wikipedia.org/wiki/Lab_color_space#Cylindrical_representation:_CIELCh_or_CIEHLC"><span class="caps">CIE</span> <span class="caps">LCH</span></a>, a perceptually uniform color space that includes all perceivable colors and thus has a gamut larger than color spaces based on <span class="caps">RGB</span> and <span class="caps">CMYK</span> color models.</p>
<p>Rupert Weber, Jörn Meier, Massimo Valentini, Elle Stone, Thomas Manni, and Michael Natterer introduced a few improvements to the blending modes:</p>
<ul>
<li>The <em>Overlay</em> mode is not identical to <em>Soft Light</em> mode anymore and relies on a widely used formula from both <span class="caps">PDF</span> <span class="caps">AND</span> <span class="caps">W3C</span>’s “Compositing and Blending Level 1” specification now.</li>
<li>There are <em><span class="caps">CIE</span> <span class="caps">LCH</span></em> based version of <em>Hue</em>, <em>Chroma</em>, <em>Color</em>, and <em>Lightness</em> blending modes available now in addition to their <em><span class="caps">HSV</span></em> based versions. See an <a href="https://ninedegreesbelow.com/photography/gimp-lch-blend-modes.html">explanation by Elle Stone</a> for details.</li>
</ul>
<p>Another development focus was on painting features. As requested by people using <span class="caps">GIMP</span> for digital painting, Jehan Pagès and Michael Natterer added the automatic saving of used colors into a new <em>Color History</em> palette. The palette is also part of the color selection dialog and the <span class="caps">FG</span>/<span class="caps">BG</span> dockable dialog.</p>
<p>In early 2015, Michael Natterer added a quick first version of <em>MyPaint Brush</em> tool that used <a href="http://mypaint.org/">MyPaint’s</a> brush engine available separately. Daniel Sabo, Alexia, and Jehan Pagès revisited this mini-project in December and vastly improved it by making its performance comparable to <span class="caps">GIMP</span>’s own brush engine and adding support for smoothing brush strokes. Michael also made it possible to tag and filter MyPaint brushes. The tool is now very stable enough and will be enabled by default in future releases of <span class="caps">GIMP</span>.</p>
<figure>
<img src='https://www.gimp.org/news/images/2015-report/2015-12-31-mypaint-brush.jpg' alt='MyPaint Brush tool in action' />
<figcaption>MyPaint Brush tool in action. Painting courtesy by Alexia</figcaption>
</figure>
<p>Additionally, Michael Natterer added canvas flipping that nicely complements canvas rotation and is intended to help painters evaluate their work mirrored horizontally or vertically without having to undo the transformation. Thanks to Simon Budig you can map shortcuts to various commands related to both canvas rotation and flipping to speed up your workflow.</p>
<figure>
<img src='https://www.gimp.org/news/images/2015-report/2015-12-31-rotate-flip.jpg' alt='Rotating and flipping the canvas' />
<figcaption>Rotating and flipping the canvas. Painting courtesy by Evelyne Schulz</figcaption>
</figure>
<p>We also improved support for various file formats:</p>
<ul>
<li>Tobias Ellinghaus from the <a href="https://www.darktable.org/">darktable</a> team made the <span class="caps">EXR</span> loading color-managed by generating an <span class="caps">ICC</span> profile from the embedded white point and chromaticities on the fly, assuming linear gamma images.</li>
<li>ShadowKyogre, Massimo Valentini, and Michael Natterer fixed several existing bugs in the <span class="caps">PSD</span> plugin and improved support for <span class="caps">PSD</span> files with greater than 8-bit depth precision.</li>
<li>Mukund Sivaraman and Tobias Ellinghaus added the reading and writing of <a href="http://www.pauldebevec.com/Research/HDR/PFM/"><span class="caps">PFM</span></a> (portable floatmap) files commonly used in <span class="caps">HDR</span> imaging.</li>
<li>Joao <span class="caps">S. O.</span> Bueno implemented exporting and loading group layers in OpenRaster files—a new feature in upcoming MyPaint 1.2.0.</li>
</ul>
<figure>
<img src='https://www.gimp.org/news/images/2015-report/2015-12-31-pfm-processing.jpg' alt='Adjusting exposure of a 32-bit float PFM file' />
<figcaption>Adjusting exposure of a 32-bit float <span class="caps">PFM</span> file</figcaption>
</figure>
<p>The next development focus was on <span class="caps">GIMP</span>’s visual identity.</p>
<p>Benoit Touchette, Michael Natterer, and Jehan Pagès added the ability to switch between icon themes. <span class="caps">GIMP</span> now ships with an optional symbolic icon theme originally created by Barbara Muraus with contributions from Jakub Steiner, and Klaus Staedtler.</p>
<p>Benoit Touchette also added an experimental dark theme that should work better for people who work on hi-color images. <span class="caps">GIMP</span> also ships a negative version of the symbolic icon theme to go with the dark theme.</p>
<figure>
<img src='https://www.gimp.org/news/images/2015-report/2015-12-31-dark-theme.jpg' alt='Editing a photo in GIMP with a dark theme enabled' />
<figcaption>Editing a photo in <span class="caps">GIMP</span> with a dark theme enabled. Photo courtesy by Pat David</figcaption>
</figure>
<p>Michael Natterer revisited the screenshot plug-in’s source code. It is now easier to add support for new screenshooting backends (Windows, Wayland etc.).</p>
<p>Michael Henning and Massimo Valentini fixed several bugs in the image ruler code that affected performance during painting. This vastly improved painting experience on Linux, but we hear that Windows users still experience issues, so we’d appreciate a wider testing and code contributions. For now, you can temporarily disable the ruler for your painting sessions.</p>
<p>Johannes Matschke contributed an experimental <em>Handle Transform</em> tool that allows scaling, rotation, shearing, and adjusting perspective with handles placed by a user on the canvas. Michael Natterer further improved the tool’s usability.</p>
<p>Michael also merged, improved, and marked as experimental another new tool, <em>N-Point Deformation</em>, contributed by Marek Dvoroznak a few years ago as the main objective of his Google Summer of Code project. The tool makes it possible to apply rubber-like transformation to objects.</p>
<div class='fluid-video'>
<iframe width="979" height="734" src="https://www.youtube.com/embed/OmOyQyuiO_E?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<p><a href="http://gegl.org"><span class="caps">GEGL</span></a> 0.3.0, released in June, featured over 70 new filters/operations, as well as experimental multithreading and mipmaps support. We do not extensively use mipmaps in <span class="caps">GIMP</span> yet, but this will change in the coming releases. Further <span class="caps">GEGL</span> updates released this year reintroduced the loading and saving of video frames via <a href="https://ffmpeg.org">FFmpeg</a>, various optimizations, and more new operations, such as <a href="https://www.libraw.org">libraw</a> based operation for loading <span class="caps">RAW</span> images (not yet exposed in <span class="caps">GIMP</span>).</p>
<p>Most of the work we did this year is available in v2.9.2, the first development release in 2.9.x series made in late November. Improved MyPaint Brush tool and visual changes (icon themes, dark theme) will be available in upcoming v2.9.4 release.</p>
<p>We expect to continue finalizing the <span class="caps">GEGL</span> port and the existing feature set in 2016. There are two branches with new features to review, but other than that we do not expect any major changes in the 2.9.x series of releases.</p>
<p>Last but not least, we owe a great debt to <a href="https://pixls.us/">Pat David</a> for redesigning and launching our new website for the 20th anniversary of the project that we celebrated in November.</p>Libre Graphics Meeting 2016 Calls For Participation2015-12-03T00:00:00+01:002015-12-03T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2015-12-03:/news/2015/12/03/lgm-2016-call-for-participation/<p>On April 15—18, Libre Graphics Meeting 2016 conference is taking place in London. We invite you to attend it and meet developers of free graphics software, lead a workshop, or participate in one.</p><p>On April 15—18, the <a href="https://libregraphicsmeeting.org/2016/">Libre Graphics Meeting 2016</a> conference is taking place in London.
We invite you to attend and meet developers of free graphics software, lead a workshop, or participate in one.</p>
<p>The <span class="caps">GIMP</span> team and Libre Graphics Meeting (<span class="caps">LGM</span>) go way back.
In 2005, annual meetings of <span class="caps">GIMP</span> developers branched out to a new conference that embraced developers of free software, graphic and type designers, photographers, and 3D artists. That conference was <span class="caps">LGM</span>.</p>
<p>Ever since then we attend the event every year to hold project meetings, talk to fellow developers from other libre projects, and get inspired by the work that you, our end-users, present.</p>
<p>If you are a <span class="caps">GIMP</span> user with outstanding skills in graphic design, painting, illustration, or photography, we encourage you to attend <span class="caps">LGM</span> 2016 and do a <span class="caps">GIMP</span> workshop.
Please use <a href="https://libregraphicsmeeting.org/2016/submit-proposal/">this submission form</a> to send a proposal.
Submission deadline is <strong>January 10, 2016</strong>.</p>
<p>There are, of course, more formats for active participation: longer and shorter talks, hackathons, Bird of a Feather meetings, etc.
You can learn more about those from the <a href="https://libregraphicsmeeting.org/2016/call-for-participation/">press release</a>.</p>
<p>We’ll be excited to meet you in person!</p>GIMP 2.9.2 Released2015-11-27T00:00:00+01:002015-11-27T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2015-11-27:/news/2015/11/27/gimp-2-9-2-released/<p>We are excited to announce the first development release of <span class="caps">GIMP</span> in the 2.9.x series. It is another major milestone towards making <span class="caps">GIMP</span> a state-of-the art image editing application for graphic designers, photographers, illustrators, and scientists.</p><p>We are excited to announce the first development release of <span class="caps">GIMP</span> in the 2.9.x series. It is another major milestone towards making <span class="caps">GIMP</span> a state-of-the art image editing application for graphic designers, photographers, illustrators, and scientists.</p>
<p>The new version is already available in the <a href="/downloads/">Downloads</a> section.</p>
<h2 id="gegl-port"><span class="caps">GEGL</span> Port<a class="headerlink" href="#gegl-port" title="Permanent link">¶</a></h2>
<p><a href="http://gegl.org/"><span class="caps">GEGL</span></a> is <span class="caps">GIMP</span>’s new image processing engine. The <span class="caps">GEGL</span> project was originally launched in 2000 by several developers from visual effects company Rhythm&Hues who needed a versatile image editor for movie production.</p>
<p>From the very beginning, <span class="caps">GEGL</span> was a challenging project, since no general image editing software at the time was built on top of the node compositions concept, and <span class="caps">GEGL</span> had to be designed with just that in mind.</p>
<p>In 2007, <span class="caps">GIMP</span> developers Sven Neumann, Michael Natterer, and Øyvind Kolås started porting <span class="caps">GIMP</span> to use <span class="caps">GEGL</span>. However, this process had to be broken up into several stages, because <span class="caps">GIMP</span>’s source code was already huge at the time.</p>
<p>So <span class="caps">GIMP</span> 2.6 (released in 2008) featured optional use of <span class="caps">GEGL</span>-based color grading tools and an experimental tool to use <span class="caps">GEGL</span> “filters”. Then <span class="caps">GIMP</span> 2.8 (released in 2012) featured <span class="caps">GEGL</span>-based projection—flattened representation of stacked layers.</p>
<p>Now upcoming <span class="caps">GIMP</span> 2.10 is going to use <span class="caps">GEGL</span> for pretty much everything under the hood, and v2.9.2 is the first technical preview release on the way towards v2.10.</p>
<p>While a few advanced features of <span class="caps">GEGL</span> such as non-destructive editing are planned to be exposed in <span class="caps">GIMP</span> at a later development stage (v3.2 and onwards), with 2.9.2, you can already benefit from certain aspects of the new engine, such as:</p>
<ul>
<li>16/32bit per color channel processing</li>
<li>Basic OpenEXR support</li>
<li>On-canvas preview for many filters</li>
<li>Experimental hardware-accelerated rendering and processing via OpenCL</li>
<li>Higher-quality downscaling</li>
</ul>
<p>Additionally, native support for <span class="caps">PNG</span>, <span class="caps">TIFF</span>, <span class="caps">PSD</span>, and <span class="caps">FITS</span> files in <span class="caps">GIMP</span> has been upgraded to read and write 16/32bit per color channel data.</p>
<figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-openexr-32bit-float-mode.jpg' alt='32bit float OpenEXR file in GIMP' />
<figcaption><span class="caps">GIMP</span> loads simple <strong>32bit float OpenEXR</strong> files and automatically switches to the respective precision mode (featuring a Cornell box reference file).</figcaption>
</figure>
<h2 id="new-and-improved-tools">New and Improved Tools<a class="headerlink" href="#new-and-improved-tools" title="Permanent link">¶</a></h2>
<p>All tools in <span class="caps">GIMP</span> are now <span class="caps">GEGL</span>-based and fully functional in up to 32bit per color channel precision mode.</p>
<p><span class="caps">GIMP</span> 2.9.2 also introduced two new tools that we consider mostly complete:</p>
<ul>
<li><strong>Unified Transform</strong>, designed by Peter Sikking and implemented by Mikael Magnusson, combines rotation, scaling, skewing, and adjusting perspective in a single tool.</li>
<li><strong>Warp Transform</strong>, implemented by Michael Muré, replaces the old iWarp plugin and provides its features in a tool that works directly on images, without a preview window.</li>
</ul>
<!-- <figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-unified-transform.jpg' alt='Unified Transform tool' />
<figcaption>The <strong>Unified Transform</strong> tool allows to rotate, skew, scale, and change perspective all in one go.</figcaption>
</figure> -->
<p>We have also improved several existing tools:</p>
<ul>
<li><strong>Blend</strong> tool, worked on by Michael Henning, is now more interactive. After drawing with the tool to define the beginning and the end of the gradient fill, you can adjust start/end positions and change colors.</li>
<li><strong>Align</strong> tool now features vertical and horizontal fill modes thanks to João <span class="caps">S. O.</span> Bueno.</li>
<li><strong>Foreground</strong> Select tool can finally make subpixel selections in complex cases such as strays of hair on textured background. Two new masking methods for that were added by Jan Rüegg and Daniel Sabo, and the user interface was updated by Michael Natterer.</li>
</ul>
<!-- <figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-blend-tool-handles.jpg' alt='Blend tool handles' />
<figcaption>The **Blend** tool now allows tweaking position of start/end handles, as well fill options before applying the fill.</figcaption>
</figure> -->
<p>Several new experimental tools can be enabled on the <em>Playground</em> page of <em>Preferences</em> dialog:</p>
<ul>
<li><strong>N-Point Deformation</strong>, by Marek Dvorožňák, implements a new way to bend objects while preserving a natural look.</li>
<li><strong>Handle Transform</strong>, by Johannes Matschke, is an interesting approach at applying scaling, rotating, and perspective correction using handles placed on the canvas.</li>
<li><strong>Seamless Clone</strong>, by Barak Itkin, simplifies merging one image into another by adjusting brightness and colors of the pasted image to match the look of the image it is pasted to.</li>
<li><strong>MyPaint Brush</strong> tool is our first shot at using more brush engines in <span class="caps">GIMP</span>. The code was written by Michael Natterer.</li>
</ul>
<p>All the experimental tools are subject to performance optimizations, bugfixes, user interface redesign etc. We do not guarantee that they will be enabled in v2.10 by default.</p>
<!-- Option 1: https://www.youtube.com/watch?v=pqVMt-ReaDc for Seamless Clone demo, unless there is a better one -->
<!-- Option 2: https://www.youtube.com/watch?v=OmOyQyuiO_E for N-Point Deformation demo -->
<h2 id="file-format-support">File Format Support<a class="headerlink" href="#file-format-support" title="Permanent link">¶</a></h2>
<p>Thanks to Mukund Sivamaran, Rasmus Hahn, and Øyvind Kolås, <span class="caps">GIMP</span> now features basic support for OpenEXR files, both loading and exporting. It’s currently missing advanced features such as layered or multiresolution <span class="caps">EXR</span> files, or unpremultiplication when exporting etc., but you should be able to load, process, and export a “regular” floating point <span class="caps">EXR</span> file just fine.</p>
<p>Additionally, <span class="caps">GIMP</span> 2.9.2 features initial support for WebP images, also both loading and exporting. Missing features so far are <span class="caps">ICC</span> profiles, metadata, and animation.</p>
<h2 id="color-management">Color Management<a class="headerlink" href="#color-management" title="Permanent link">¶</a></h2>
<p>The color management plugin has been replaced with completely new code by Michael Natterer to provide a more complete set of features, as well as better color fidelity preservation. E.g. <span class="caps">GIMP</span> can finally handle cases, when one image is pasted into another, and color spaces don’t match.</p>
<p><span class="caps">GIMP</span> now uses LittleCMS v2 which minimizes color fidelity loss during conversions between 8, 16, 32, and 64bit per channel data, and provides support for <span class="caps">ICC</span> v4 color profiles.</p>
<figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-icc-metadata.png' alt='Displaying ICC color profiles metadata' />
<figcaption>Displaying <span class="caps">ICC</span> color profiles metadata</figcaption>
</figure>
<p>There are still some parts of <span class="caps">GIMP</span> like color choosers that need to become color-managed. We expect to complete this in time for v2.10.</p>
<h2 id="layers-blending">Layers Blending<a class="headerlink" href="#layers-blending" title="Permanent link">¶</a></h2>
<p>We have introduced some important changes to blending modes.</p>
<p><strong>Overlay</strong> mode is not identical to <strong>Soft Light</strong> mode anymore and finally relies on a widely used formula from both <span class="caps">PDF</span> specification, as well as <span class="caps">W3C</span>’s <a href="https://www.w3.org/TR/compositing-1/">“Compositing and Blending Level 1”</a> spec.</p>
<p>When opening legacy <span class="caps">XCF</span> files, <span class="caps">GIMP</span> will automatically map the old Overlay mode to the Soft Light during compositing to preserve the rendering of your old artwork. For all newly created layers with Overlay mode the new formula will be used instead.</p>
<p>In addition to <span class="caps">HSV</span>-based Hue, Saturation, Chroma, and Value modes <span class="caps">GIMP</span> now features their <span class="caps">CIE</span> <span class="caps">LCH</span> based counterparts: Hue, Chroma, Color, and Lightness. Elle Stone provided a <a href="https://ninedegreesbelow.com/photography/gimp-lch-blend-modes.html">nice example</a> of using them to post-process photos.</p>
<p>Contributors are Rupert Weber, Jörn Meier, Massimo Valentini, Elle Stone, Thomas Manni.</p>
<h2 id="metadata">Metadata<a class="headerlink" href="#metadata" title="Permanent link">¶</a></h2>
<p><span class="caps">GIMP</span> 2.9.2 features an experimental dialog to view Exif, <span class="caps">XMP</span>, and <span class="caps">IPTC</span> metadata—something that we’ve been meaning to provide photographers for quite a while. It doesn’t yet support adding or editing existing metadata—this will be addressed at a later stage of development.</p>
<!-- <figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-metadata-viewer.png' alt='Metadata viewer' />
<figcaption>Experimental built-in Exif/XMP/IPTC metadata viewer in GIMP. Use <tt>Image->Image Metadata</tt> command to pen it.</figcaption>
</figure> -->
<p>Just like the new color management implementation, metadata support is an integral part of <span class="caps">GIMP</span> now.</p>
<h2 id="digital-painting">Digital Painting<a class="headerlink" href="#digital-painting" title="Permanent link">¶</a></h2>
<p>Apart from the newly added <em>experimental</em> MyPaint Brush tool, there are several major and minor changes:</p>
<ul>
<li>Canvas rotation and flipping have been added to facilitate users who need to paint from a different angle or check composition for errors.</li>
<li>You can optionally lock brush size to zoom.</li>
<li>All tools that use <span class="caps">GIMP</span>’s brush engine now have hardness and force sliders.</li>
</ul>
<p><video width="650" height="366" controls>
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-canvas-rotation-preview.webm" type="video/webm">
<source src="https://download.gimp.org/gimp/video/v2.9/gimp-canvas-rotation-preview.mp4" type="video/mp4">
Your browser does not support the video tag.
</video> </p>
<!-- https://vimeo.com/64481497 for canvas rotation -->
<p>The final v2.10 release is expected to feature configurable mirror painting implemented by Jehan Pagès thanks to <span class="caps">GIMP</span> users who supported his crowdfunding campaign. The code is mostly complete and will undergo review in the coming weeks.</p>
<!-- https://www.youtube.com/watch?v=NwPY0sTiVPk for "Current state of Symmetry painting in GIMP" by Jehan -->
<h2 id="configurability">Configurability<a class="headerlink" href="#configurability" title="Permanent link">¶</a></h2>
<p>To help interested users test experimental features, we added a new <em>Playground</em> page to the <em>Preferences</em> dialog. In v2.9.2, it serves to enable experimental tools that we mentioned earlier in the news.</p>
<p><em>Behaviour</em>, another new page in the <em>Preferences</em> dialog, helps configuring default snapping in normal and fullscreen modes.</p>
<figure>
<img src='https://www.gimp.org/news/images/gimp-2-9-2/2015-11-27-behaviour-page.png' alt='Behaviour page in the Preferences dialog' />
<figcaption><em>Behaviour</em> page in the <em>Preferences</em> dialog</figcaption>
</figure>
<p>Finally, the user interface to enable and disable tools in the toolbox has moved to the <em>Toolbox</em> page in the <em>Preferences</em> dialog.</p>
<h2 id="known-issues">Known Issues<a class="headerlink" href="#known-issues" title="Permanent link">¶</a></h2>
<p>At this stage, <span class="caps">GIMP</span> 2.9.x is mostly very stable and is known to be used in production by some brave users. However, certain image processing operations are currently slow. This has been partially remedied by rendering changes in the viewport first. We expect to do a lot of optimization work later on.</p>
<h2 id="further-plans">Further Plans<a class="headerlink" href="#further-plans" title="Permanent link">¶</a></h2>
<p>We are not planning any epic changes in the next 2.9.x releases. We want to release it as fast as we can, so we will be focusing on wrapping up what we have already started any maybe merging a few feature branches we have.</p>
<p>When <span class="caps">GIMP</span> 2.10 is out, we shall focus on the <span class="caps">GTK</span>+3 port to provide a more up-to-date user interface and restore rock-solid Wacom support on Windows and <span class="caps">OS</span> X.</p>
<p>Following <span class="caps">GIMP</span> 3.0 release, we shall start working on non-destructive editing and other much anticipated features.</p>20 Years of GIMP, release of GIMP 2.8.162015-11-22T09:32:24-05:002015-11-22T09:32:24-05:00Wilbertag:www.gimp.org,2015-11-22:/news/2015/11/22/20-years-of-gimp-release-of-gimp-2816/<p>This week the <span class="caps">GIMP</span> project celebrates its 20th anniversary. To celebrate it, we released an update of the current stable version of <span class="caps">GIMP</span>.</p><p>This week the <span class="caps">GIMP</span> project celebrates its 20th anniversary.</p>
<p>Back in 1995, University of California students, Peter Mattis and Spencer Kimball, were members of the eXperimental Computing Facility, a Berkeley campus organization of undergraduate students enthusiastic about computers and programming. In June of that year, the two hinted at their intentions to write a free graphical image manipulation program as a means of giving back to the free software community.</p>
<p>On November 21st, 20 years ago today, Peter Mattis <a href="/about/prehistory.html#november-1995-an-announcement">announced the availability</a> of the “General Image Manipulation Program” on Usenet (later on, the acronym would be redefined to stand for the “<span class="caps">GNU</span> Image Manipulation Program”).</p>
<figure>
<img src='/news/images/201512birthday_975.png' alt='Wilber Birthday Strip'/>
</figure>
<p>Since its public release the project has been evolving in many ways as a testbed for new ideas, which was considerably assisted by adding plug-in architecture. Over the years, <span class="caps">GIMP</span> amassed a huge amount of new features designed for all kinds of users and practical applications: general image editing, retouching and color grading, digital painting, graphic design, science imaging etc.</p>
<p>Between 2006 and 2012, the team collaborated with Peter Sikking of <em>man+machine works</em> to define <a href="https://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision">product vision</a> and improve user experience. Thanks to this collaboration <span class="caps">GIMP</span>’s user interface has become more conventional for professional users, and various tools have become more powerful and easy to use. But more importantly, we got a much better idea how to design good interfaces.</p>
<p>In the past several years we’ve been working hard on porting <span class="caps">GIMP</span> to a newer image processing engine called <span class="caps">GEGL</span>. The switch to <span class="caps">GEGL</span> made us rewrite or at least tweak pretty much every part of <span class="caps">GIMP</span>’s source code. Fortunately, this work is nearing completion, and you’ll soon be able to benefit from all the changes that it’s bringing.</p>
<h2 id="new-releases-and-the-future">New Releases and The Future<a class="headerlink" href="#new-releases-and-the-future" title="Permanent link">¶</a></h2>
<p>To celebrate the 20th anniversary, we released an update of the current stable version of <span class="caps">GIMP</span>. Newly released <a href="/downloads/"><span class="caps">GIMP</span> 2.8.16</a> features support for layer groups in OpenRaster files, fixes for layer groups support in <span class="caps">PSD</span>, various user inrterface improvements, <span class="caps">OSX</span> build system fixes, translation updates, and more changes.</p>
<p>Our immediate future plans are to release first public version in the unstable 2.9.x series that will feature fully functional <span class="caps">GEGL</span> port, 16/32bit per channel processing, basic OpenEXR support, vastly improved color management implementation, new tools, on-canvas preview for many filters, and more. This release will encompass over three years of work and become the first milestone towards 2.10.</p>
<p>Following v2.10 release, we shall complete the <span class="caps">GTK</span>+3 port that is required to bring back state of the art Wacom support for Windows users. When it’s done and <span class="caps">GIMP</span> 3.0 is out, we shall finally be able to get started on some very exciting and much anticipated features like non-destructive editing. Please refer to <a href="https://wiki.gimp.org/wiki/Roadmap">Roadmap</a> for more details.</p>
<h2 id="new-website">New website<a class="headerlink" href="#new-website" title="Permanent link">¶</a></h2>
<p>In conjunction with the 20th anniversary we have updated and revamped the website.
The vast majority of the work on the new website was done by <a href="https://blog.patdavid.net/">Pat David</a>.</p>
<p>The update (<em>finally</em>) includes some much needed improvements such as <a href="//www.gimp.org/news/">news items</a> with permalinks and <a href="//www.gimp.org/feeds/atom.xml">full <span class="caps">RSS</span>/Atom feeds</a>.
The site is also now responsive to adapt to various screen sizes.
Try it on a mobile device or tablet!</p>
<figure>
<img src='/news/images/birthday2_500.png' alt='Wilber Birthday Snapshot' />
</figure>
<p><small>
Wilber <span class="amp">&</span> Co. comics courtesy of <a href="http://libreart.info/">Aryeom <span class="amp">&</span> Jehan</a>.
</small></p>GEGL 0.3.0, babl 0.1.12 Released2015-06-04T00:00:00+02:002015-06-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2015-06-04:/news/2015/06/04/gegl-030-babl-0112-released/<p>We have just released new versions of <span class="caps">GEGL</span> and babl, the libraries that take all the heavy lifting for color space conversion and image processing in <span class="caps">GIMP</span>.</p><p>We have just released new versions of <a href="http://gegl.org/"><span class="caps">GEGL</span></a> and <a href="http://gegl.org/babl/">babl</a>, the libraries that take all the heavy lifting for color space conversion and image processing in <span class="caps">GIMP</span>. Both releases are considered a pre-requisite for doing a first 2.9 (development series) <span class="caps">GIMP</span> release.</p>
<p>The babl library got floating point conversions optimized. Additionally, <span class="caps">HSV</span> and <span class="caps">HSL</span> color models were added, <span class="caps">CIE</span> <span class="caps">LAB</span> conversions were fixed.</p>
<p>Most exciting improvements, however, are in the new <span class="caps">GEGL</span> release. A total of 71 new image processing operations were added: mostly these are ports of existing <span class="caps">GIMP</span> filters. Some of the existing operations were improved, and some got OpenCL versions.</p>
<p>Another focus of this release was performance: OpenCL support is now enabled by default when detected, there’s experimental multithreading support (use GEGL_THREADS=<number of threads> environment variable) and experimental mipmap rendering (use GEGL_MIPMAP_RENDERING=true environment variable). There’s also a new default tile backend that writes to disk in a separate thread.</p>
<p><a href="https://thegrid.io/">The Grid</a> project contributed several major improvements: support for using URIs in image loaders and the loading of <a href="http://www.jonnor.com/2015/01/imgflo-0-3/">meta-operations in <span class="caps">JSON</span></a>, created with imgflo’s online graph editor.</p>
<p><span class="caps">GEGL</span>’s website now features a <a href="http://gegl.org/operations.html#GEGL%20operations">gallery</a> of available operations and an <a href="http://gegl.org/operations.html#Gegl"><span class="caps">API</span> browser</a>.</p>
<p>This release of <span class="caps">GEGL</span> was brought to you through contributions from 92 people.
Respective source code downloads are available on gimp.org: <a href="https://download.gimp.org/babl/0.1/">babl 0.1.12</a>, <a href="https://download.gimp.org/gegl/0.3/"><span class="caps">GEGL</span> 0.3.0</a>.</p>
<p>There is still a lot of work to be done. If you are interested to contribute ports of <span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> or entirely new <span class="caps">GEGL</span> operations, please visit <a href="https://wiki.gimp.org/wiki/Hacking:Porting_filters_to_GEGL">our wiki</a> and join #gegl on irc.gimp.net.</p>GIMP Project’s Official Statement on SourceForge’s Actions2015-05-27T00:00:00+02:002015-05-27T00:00:00+02:00Wilbertag:www.gimp.org,2015-05-27:/news/2015/05/27/gimp-projects-official-statement-on-sourceforges-actions/<p>This is the <span class="caps">GIMP</span> project’s official statement on SourceForge’s actions in regard to “abandoned” projects on their service.</p><p>This is the <span class="caps">GIMP</span> project’s official statement on <a href="http://web.archive.org/web/20150529094757/https://sourceforge.net/blog/gimp-win-project-wasnt-hijacked-just-abandoned/">SourceForge’s actions</a> in regard to “abandoned” projects on their service.<br>
It is archived in the <a href="https://mail.gnome.org/archives/gimp-developer-list/2015-May/msg00144.html"><span class="caps">GIMP</span> Developer mailing list archive</a>.</p>
<p>We are fully aware that since their launch in 1999, SourceForge had been providing a valuable service to the Free Software community and that this service may still be relevant to some Free and Open Source Software projects today.</p>
<p>The <span class="caps">GIMP</span> project did benefit from this service: SourceForge was the place to download the Windows installer for <span class="caps">GIMP</span> for many years and we appreciate it as an important part of <span class="caps">GIMP</span> history.</p>
<p>When it comes to distributing <span class="caps">GIMP</span>, our goal is to make it as easy as possible for users to install <span class="caps">GIMP</span>.<br>
We do not want our users having to dodge any “offers” or to worry about possibly installing malware in the process.</p>
<p>With our shared history, it was painful to watch the invasion of the big green “Download” button ads appearing on the SourceForge site. Our decision to move the Windows installers away from SourceForge in 2013 was a direct result of how its service degraded in this respect.</p>
<p>The situation became worse recently when SourceForge started to wrap its downloader/installer around the <span class="caps">GIMP</span> project binaries. That SourceForge installer put other software apart from <span class="caps">GIMP</span> on our users’ systems. This was done without our knowledge and permission, and we would never have permitted it. It was done in spite of the following <a href="http://web.archive.org/web/20131115022447/http://sourceforge.net/blog/advertising-bundling-community-and-criticism/">promise made by SourceForge in November 2013</a>:</p>
<blockquote>
<p><q>we want to reassure you that we will <span class="caps">NEVER</span> bundle offers with any project without the developers consent.</q> (emphasis in original)</p>
</blockquote>
<p>To us, this firmly places SourceForge among the dodgy crowd of download sites.<br>
SourceForge are abusing the trust that we and our users had put into their service in the past.</p>
<p>We don’t believe that this is a fixable situation.<br>
Even if they promise to adhere to the set of guidelines outlined below, these promises are likely to become worthless with any upcoming management change at SourceForge.</p>
<p>However, if SourceForge’s current management are willing to collaborate with us on these matters, then there might be a reduction in the damage and feeling of betrayal among the Free and Open Source Software communities.</p>
<p>An acceptable approach would be to provide a method for <strong><em>any</em></strong> project to cease hosting at any SourceForge site if desired, including the ability to:</p>
<ul>
<li>completely remove the project and URLs permanently, and not allow any other projects to take its place</li>
<li>remove any hosted files from the service, and not maintain mirrors serving installers or files differing from those provided by the project or wrap those in any way</li>
<li>provide permanent <span class="caps">HTTP</span> redirects (301) to any other location as desired by the project</li>
</ul>
<p>This is not unreasonable to expect from a service that purports to support the free software community.</p>SourceForge, What the…?2015-05-27T00:00:00+02:002015-05-27T00:00:00+02:00Wilbertag:www.gimp.org,2015-05-27:/news/2015/05/27/sourceforge-what-the/<p>We are receiving reports that people who get to SourceForge for <span class="caps">GIMP</span> installers for Windows receive small installers that include additional software.</p><p>Some of you might remember that in November 2013, <a href="https://www.theregister.co.uk/2013/11/08/gimp_dumps_sourceforge_over_dodgy_ads_and_installer/">we abandoned SourceForge</a> (<span class="caps">SF</span>) as the primary download site for the <span class="caps">GIMP</span> installers for Windows platforms and moved the files to our own download server, <a href="https://download.gimp.org">download.gimp.org</a></p>
<p>The tons of links on the web pointing to the former site made keeping the installers there as well a necessity, though, and since <span class="caps">SF</span> claimed that our outrage over their “installer with benefits” was based on a <a href="https://sourceforge.net/blog/advertising-bundling-community-and-criticism/">misunderstanding</a>, this seemed to be a low-risk approach.</p>
<p>However we are <a href="https://mail.gnome.org/archives/gimp-developer-list/2015-May/msg00097.html">receiving reports</a> that people who get there by chance receive small installers that include additional software. And it’s no clicks on those ‘big green download arrow’ ads this time, we’ve tried ourselves. <span class="caps">SF</span> has not responded to our inquiry yet, and we found that the maintainer of the <span class="caps">GIMP</span> for Windows installers is locked out of that <span class="caps">SF</span> project now.</p>
<p><strong>Update:</strong>
And now <span class="caps">SF</span> is launching an attempt at <a href="https://sourceforge.net/blog/gimp-win-project-wasnt-hijacked-just-abandoned/">damage control</a>.</p>
<p>Ars Technica has a <a href="https://arstechnica.com/information-technology/2015/05/sourceforge-grabs-gimp-for-windows-account-wraps-installer-in-bundle-pushing-adware/">nice summary</a>, with <a href="https://arstechnica.com/information-technology/2015/05/sourceforge-grabs-gimp-for-windows-account-wraps-installer-in-bundle-pushing-adware/?comments=1">insightful comments</a>.</p>
<p>Please go to our own <a href="/downloads/" title="... it adjusts to your platform">downloads page</a> to get the <span class="caps">GIMP</span> for Windows installers.</p>ZeMarmot, Libre Movie to be Made with GIMP, Blender, Ardour2015-05-05T00:00:00+02:002015-05-05T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2015-05-05:/news/2015/05/05/zemarmot-libre-movie-to-be-made-with-gimp-blender-ardour/<p>During Libre Graphics Meeting 2015 last week in Toronto our very own Jehan Pagès announced a new open animated movie project, ZeMarmot.</p><p>During Libre Graphics Meeting 2015 last week in Toronto our very own Jehan Pagès announced a new open animated movie project, <a href="https://film.zemarmot.net/en/">ZeMarmot</a>. It’s a road movie with a marmot as protagonist.</p>
<p>The team will be using just free/libre applications for the production: <span class="caps">GIMP</span>, <a href="https://www.blender.org/">Blender</a>, <a href="http://ardour.org">Ardour</a>, and a few others. Jehan will also resume his work on animation features in <span class="caps">GIMP</span>, extend OpenRaster file format to support animation, and improve Blender’s non-linear video editor as much as he can.</p>
<p>You can <a href="https://www.indiegogo.com/projects/zemarmot-libre-movie-made-with-free-software/">support the campaign</a> at IndieGoGo.</p>Libre Graphics Meeting 20152015-02-27T00:00:00+01:002015-02-27T00:00:00+01:00Michael Schumachertag:www.gimp.org,2015-02-27:/news/2015/02/27/libre-graphics-meeting-2015/<p>Two months to go till Libre Graphics Meeting 2015 happens in Toronto, Canada. This conference is a great place to meet the people who make and use free and open source graphics software.</p><p>Two months to go till <a href="https://libregraphicsmeeting.org/2015/">Libre Graphics Meeting 2015</a> happens in Toronto, Canada. This conference is a great place to meet the people who make and use free and open source graphics software.</p>
<p>Participation is gratis and open to all. Every year, donations from supporters make it possible for <span class="caps">LGM</span> to subsidize the travel costs of participants:</p>
<p><a href="https://pledgie.com/campaigns/28155"><img alt="Click here to lend your support to: Libre Graphics Meeting 2015 - Toronto, Canada and make a donation at pledgie.com !" src="https://pledgie.com/campaigns/28155.png?skin_name=chrome"></a></p>gimpguru.org — R.I.P.2015-01-22T00:00:00+01:002015-01-22T00:00:00+01:00Wilbertag:www.gimp.org,2015-01-22:/news/2015/01/22/gimpguruorg-rip/<p>We noticed that gimpguru.org, once the host of <span class="caps">GIMP</span> tutorials, has been abandoned by its original owner and is redirecting visitors to some very suspicious downloads—don’t go there.</p><p>We noticed that gimpguru.org, once the host of <span class="caps">GIMP</span> tutorials (some of which are also present in our <a href="/tutorials">Tutorials section</a>) has been abandoned by its original owner and is redirecting visitors to some very suspicious downloads—don’t go there.</p>
<p>We have removed all links pointing there from the tutorials (please do tell if we missed one), and caution everyone to only consider links on our own <a href="/downloads/">downloads page</a> and the sites linked from there.</p>
<p>Special announcement for domain owners: if you own a domain with <em>gimp</em> in its name and host a forum or something else, and don’t feel like you want to continue to do so or renew it some day, please <a href="/mail_lists.html">approach us</a> - we’d rather take it over ourselves and have it point to www.gimp.org than see it being abused like that.</p>GIMP and GEGL in 20142015-01-05T00:00:00+01:002015-01-05T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2015-01-05:/news/2015/01/05/gimp-and-gegl-in-2014/<p>In 2014, we spent most of the time on improving <span class="caps">GIMP</span>’s usability and finalizing the <span class="caps">GEGL</span> port of <span class="caps">GIMP</span> to lay the foundation for various advanced features in demand by professionals.</p><p>In 2014, we spent most of the time on improving <span class="caps">GIMP</span>’s usability and finalizing the <span class="caps">GEGL</span> port of <span class="caps">GIMP</span> to lay the foundation for various advanced features in demand by professionals. Some of the 2014 highlights are:</p>
<ul>
<li>Redesigned Blend tool, now you can tweak end points before applying the gradient fill;</li>
<li>Improved foreground selection tool that handles fine details like hair;</li>
<li>Finer control over painting dynamics;</li>
<li>Up to 64bit per color channel processing;</li>
<li>Improved file formats support, including 32bit <span class="caps">TIFF</span> loading/saving.</li>
</ul>
<p>A far more detailed report has been posted to project’s <a href="https://mail.gnome.org/archives/gimp-user-list/2015-January/msg00012.html">mailing lists</a>.</p>The Price of Being Popular2014-12-26T00:00:00+01:002014-12-26T00:00:00+01:00Michael Schumachertag:www.gimp.org,2014-12-26:/news/2014/12/26/the-price-of-being-popular/<p>When software is popular, then there are elements out there who seek to profit from it by less ethical means. <span class="caps">GIMP</span> is being attacked in that manner as well.</p><p>When software is popular, then there are elements out there who seek to profit from it by less ethical means. Installer packages with added spyware, adware or even malware are apparently part of the (Windows) user experience these days.</p>
<p><span class="caps">GIMP</span> is being attacked in that manner as well, In order to keep safe, <a href="/downloads/">get <span class="caps">GIMP</span> from our own downloads pages</a> or the sites we link to, and be very cautious when going elsewhere.</p>
<p>One victim of this is GIMPshop—started as a fork of <span class="caps">GIMP</span> to add <span class="caps">UI</span> terms that are more familiar to users of Adobe Photoshop, it is nowadays used to load third-party software onto the unwary user’s system. Thankfully, the original author is not to blame, as this operation is run by someone else.</p>GIMP Magazine Issue #6 Released2014-11-19T00:00:00+01:002014-11-19T00:00:00+01:00Wilber Gimptag:www.gimp.org,2014-11-19:/news/2014/11/19/gimp-magazine-issue-6-released/<p>The newly released issue #6 of <span class="caps">GIMP</span> Magazine features a “Using <span class="caps">GIMP</span> for portrait and fashion photography” master class by Aaron Tyree who uses <span class="caps">GIMP</span> professionally, and a gallery of other artworks and photos made or processed with <span class="caps">GIMP</span>.</p>
<p>The team is planning to switch to monthly releases, however they …</p><p>The newly released issue #6 of <span class="caps">GIMP</span> Magazine features a “Using <span class="caps">GIMP</span> for portrait and fashion photography” master class by Aaron Tyree who uses <span class="caps">GIMP</span> professionally, and a gallery of other artworks and photos made or processed with <span class="caps">GIMP</span>.</p>
<p>The team is planning to switch to monthly releases, however they need your support to cover the costs of publishing a free magazine. You can sponsor the project at <a href="https://www.patreon.com/gimpmagazine">Patreon</a> or visit the magazine’s <a href="http://gimpmagazine.org/giftshop">gift shop</a> to make a donation.</p>Updated 2.8.14 Installer for Microsoft Windows2014-09-02T00:00:00+02:002014-09-02T00:00:00+02:00Wilber Gimptag:www.gimp.org,2014-09-02:/news/2014/09/02/updated-2814-installer-for-microsoft-windows/<p>We have released an <a href="https://download.gimp.org/gimp/v2.8/windows/gimp-2.8.14-setup-1.exe.torrent">updated 2.8.14 installer</a> (<a href="https://download.gimp.org/gimp/v2.8/windows/gimp-2.8.14-setup-1.exe">http</a>) for Microsoft Windows. This one fixes the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735507">crash on window resize</a> and the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735501">missing icons</a> bugs - all by updating the included <span class="caps">GTK</span>+ library to 2.24.24.</p>
<p>Still unsolved are the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735505">missing spacing character</a> in the zoom drop down and …</p><p>We have released an <a href="https://download.gimp.org/gimp/v2.8/windows/gimp-2.8.14-setup-1.exe.torrent">updated 2.8.14 installer</a> (<a href="https://download.gimp.org/gimp/v2.8/windows/gimp-2.8.14-setup-1.exe">http</a>) for Microsoft Windows. This one fixes the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735507">crash on window resize</a> and the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735501">missing icons</a> bugs - all by updating the included <span class="caps">GTK</span>+ library to 2.24.24.</p>
<p>Still unsolved are the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735505">missing spacing character</a> in the zoom drop down and the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=735463">disappearing background</a> on high zooms (updating the Pango and Cairo libraries that are didn’t change anything there), investigations continue.</p>
<p>Please continue to <a href="https://bugzilla.gnome.org/browse.cgi?product=GIMP">report bugs</a>, we can’t fix what we don’t know about.</p>GIMP 2.8.14 Released2014-08-26T00:00:00+02:002014-08-26T00:00:00+02:00Wilber Gimptag:www.gimp.org,2014-08-26:/news/2014/08/26/gimp-2814-released/<p>Yesterday’s 2.8.12 release had broken library versioning, so we had to roll out <span class="caps">GIMP</span> 2.8.14 today.
The only change is the fixed libtool versioning.
Please do not distribute any binaries of yesterday’s broken 2.8.12 release, and get <span class="caps">GIMP</span> 2.8.14 using …</p><p>Yesterday’s 2.8.12 release had broken library versioning, so we had to roll out <span class="caps">GIMP</span> 2.8.14 today.
The only change is the fixed libtool versioning.
Please do not distribute any binaries of yesterday’s broken 2.8.12 release, and get <span class="caps">GIMP</span> 2.8.14 using the torrent: <a href="https://download.gimp.org/gimp/v2.8/gimp-2.8.14.tar.bz2.torrent">https://download.gimp.org/gimp/v2.8/gimp-2.8.14.tar.bz2.torrent</a></p>GIMP Manual 2.8.2 released2014-08-14T00:00:00+02:002014-08-14T00:00:00+02:00Wilber Gimptag:www.gimp.org,2014-08-14:/news/2014/08/14/gimp-manual-282-released/<p>A new version of the user manual has been released. Changes include:</p>
<ul>
<li>complete translation to Brazilian Portuguese</li>
<li>many, many, many bugfixes</li>
</ul>
<p>You can click <a href="https://download.gimp.org/gimp/help/gimp-help-2.8.2.tar.bz2" title="2.8.2">here to download</a> the 2.8.2 release package. This release provides only the sources to build the help used by the <span class="caps">GIMP</span> Help browser. Find …</p><p>A new version of the user manual has been released. Changes include:</p>
<ul>
<li>complete translation to Brazilian Portuguese</li>
<li>many, many, many bugfixes</li>
</ul>
<p>You can click <a href="https://download.gimp.org/gimp/help/gimp-help-2.8.2.tar.bz2" title="2.8.2">here to download</a> the 2.8.2 release package. This release provides only the sources to build the help used by the <span class="caps">GIMP</span> Help browser. Find the packages on our <a href="https://download.gimp.org/gimp/help/" title="Link to Release Packages">download server</a>.</p>
<p>For easy installation we suggest that you wait until an installer for this release has been packaged for your platform. Find more releases and information about our goals and how you can help at <a href="https://docs.gimp.org" title="Documentation Project Page">https://docs.gimp.org</a>.</p>Gimp-Perl release candidate ready for testing2014-06-12T00:00:00+02:002014-06-12T00:00:00+02:00Wilber Gimptag:www.gimp.org,2014-06-12:/news/2014/06/12/gimp-perl-release-candidate-ready-for-testing/<p>It’s been possible to use various scripting languages to automate <span class="caps">GIMP</span> for a long time. But until recently <a href="https://git.gnome.org/browse/gimp-perl">Perl bindings for <span class="caps">GIMP</span></a> were considerably out of date due to lack of interest from contributors. Fortunately, a while ago Ed J started working on updating those, and now a release …</p><p>It’s been possible to use various scripting languages to automate <span class="caps">GIMP</span> for a long time. But until recently <a href="https://git.gnome.org/browse/gimp-perl">Perl bindings for <span class="caps">GIMP</span></a> were considerably out of date due to lack of interest from contributors. Fortunately, a while ago Ed J started working on updating those, and now a release candidate is available for testing.</p>
<p><a href="https://metacpan.org/release/ETJ/Gimp-2.30_05">Gimp-Perl version 2.30_05</a> is on <span class="caps">CPAN</span> now. It supports <span class="caps">GIMP</span> 2.8 and provides the following features:</p>
<ul>
<li>An autosave script (not installed by default, <code>examples/autosave2</code>) will save in its own directory files that were opened and changed, then reopen them on <span class="caps">GIMP</span> startup; if installed, will start along with <span class="caps">GIMP</span>.</li>
<li>A plugin registry viewer, installed by default to <code>Filters/Browse Plug-in Registry</code>.</li>
<li>A Perl console, installed by default to <code>Filters/Perl/Console</code>.</li>
</ul>
<p>The way to install the release candidate on Linux is:</p>
<p><code>perl -MCPAN -e "install 'ETJ/Gimp-2.30_05.tar.gz'"</code></p>
<p>If you encounter any bugs, please report them on <a href="https://bugzilla.gnome.org/enter_bug.cgi?product=gimp-perl">bugzilla.gnome.org</a>.</p>Download server renamed to download.gimp.org, no FTP anymore2014-05-13T00:00:00+02:002014-05-13T00:00:00+02:00Michael Schumachertag:www.gimp.org,2014-05-13:/news/2014/05/13/download-server-renamed-to-downloadgimporg-no-ftp-anymore/<p>Heads-up if you are still accessing the downloads via ftp.gimp.org:</p>
<p>The downloads server has been renamed to <a href="https://download.gimp.org/">download.gimp.org</a>, and it doesn’t support <span class="caps">FTP</span> anymore. If you have linked any file, installer package, source archive or directory with an ftp://-Link, please change it to https …</p><p>Heads-up if you are still accessing the downloads via ftp.gimp.org:</p>
<p>The downloads server has been renamed to <a href="https://download.gimp.org/">download.gimp.org</a>, and it doesn’t support <span class="caps">FTP</span> anymore. If you have linked any file, installer package, source archive or directory with an ftp://-Link, please change it to https://. The directory structure is unchanged.</p>Libre Graphics Meeting 20142014-01-23T00:00:00+01:002014-01-23T00:00:00+01:00Michael Schumachertag:www.gimp.org,2014-01-23:/news/2014/01/23/libre-graphics-meeting-2014/<p>The <a href="https://libregraphicsmeeting.org/2014/">Libre Graphics Meeting</a> is a conference where artists, users, developers, designers, contributors,… who use, plan, develop, play with, tamper with <a href="https://libregraphicsmeeting.org/2014/projects/">free, libre and open source graphics</a> applications, libraries, concepts,…</p>
<p>It is an unparalleled opportunity for them to meet, talk, discuss, listen, experience and learn about their favorite tools, the …</p><p>The <a href="https://libregraphicsmeeting.org/2014/">Libre Graphics Meeting</a> is a conference where artists, users, developers, designers, contributors,… who use, plan, develop, play with, tamper with <a href="https://libregraphicsmeeting.org/2014/projects/">free, libre and open source graphics</a> applications, libraries, concepts,…</p>
<p>It is an unparalleled opportunity for them to meet, talk, discuss, listen, experience and learn about their favorite tools, the uses, the undiscovered potential, the new ideas that come with them</p>
<p>This year, Libre Graphics Meeting will happen at the University of Leipzig, April 2-5.</p>
<p>The attendees arrive from all over the world—last year, <a href="https://libregraphicsmeeting.org/2014/about/">people from 26 countries</a> traveled to Madrid to attend. Maybe there will be even more this year?</p>
<p>You can help to make this happen—and many of you already did.</p>
<p>We, the <span class="caps">GIMP</span> team, are covering the travel and accommodation expenses for our own team members, and we contribute to the global <span class="caps">LGM</span> funds as well. These funds are used to <a href="https://libregraphicsmeeting.org/2014/reimbursement/">reimburse the travel expenses</a> of contributors and speakers.</p>
<p>Our contribution is possible due to your donations—many, many thanks for this, the return on investment from such meetings for the projects is invaluable.</p>
<p>But, the <span class="caps">LGM</span> organizers, they ask for modest contributions, always keen not to drain the funds of the projects that attend the meeting. We’ve got our planned expenses covered for this <span class="caps">LGM</span>, so we’ll ask you to force them to take more! :)</p>
<p><span class="caps">LGM</span> runs a <a href="https://pledgie.com/campaigns/22927">travel fund pledgie campaign</a> with an ambitious goal: $12,000. Please go there and contribute to make this awesome meeting possible.</p>What we did in 20132013-12-24T00:00:00+01:002013-12-24T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2013-12-24:/news/2013/12/24/what-we-did-in-2013/<p>Before you leave for the holidays, we thought you’d like an overview of what we did this year to improve <span class="caps">GIMP</span> for you.</p>
<p>Most of the time was spent on improving the <span class="caps">GEGL</span>-based version of <span class="caps">GIMP</span> (to be released as v2.10) and porting <span class="caps">GIMP</span> plugins to <span class="caps">GEGL …</span></p><p>Before you leave for the holidays, we thought you’d like an overview of what we did this year to improve <span class="caps">GIMP</span> for you.</p>
<p>Most of the time was spent on improving the <span class="caps">GEGL</span>-based version of <span class="caps">GIMP</span> (to be released as v2.10) and porting <span class="caps">GIMP</span> plugins to <span class="caps">GEGL</span>, so that you could benefit from 32bit float precision per color channel as much as possible.</p>
<p>We also successfully participated in Google Summer of Code 2013 and merged more code from GSoC2012 into the main development branch, namely Seamless Clone and Warp Transform tools.</p>
<p>You can find out a lot more in <a href="https://mail.gnome.org/archives/gimp-user-list/2013-December/msg00225.html">this detailed report</a>. We wish you to have a great time with your family and friends!</p>GIMP 2.8.10 released2013-11-28T00:00:00+01:002013-11-28T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2013-11-28:/news/2013/11/28/gimp-2810-released/<p>We just released <span class="caps">GIMP</span> 2.8.10 ! This is a release in the stable <span class="caps">GIMP</span> 2.8 series. This release fixes a bug that prevented older <span class="caps">GIMP</span> versions from running on <span class="caps">OS</span> X Mavericks. We also did some small adjustments to the Save/Export code in order to make things …</p><p>We just released <span class="caps">GIMP</span> 2.8.10 ! This is a release in the stable <span class="caps">GIMP</span> 2.8 series. This release fixes a bug that prevented older <span class="caps">GIMP</span> versions from running on <span class="caps">OS</span> X Mavericks. We also did some small adjustments to the Save/Export code in order to make things a bit easier. For the complete list of changes please see the <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=gimp-2-8"><span class="caps">NEWS</span></a> file.</p>GIMP Manual 2.8.1 released2013-11-28T00:00:00+01:002013-11-28T00:00:00+01:00Michael Schumachertag:www.gimp.org,2013-11-28:/news/2013/11/28/gimp-manual-281-released/<p>We’ve released a new version of the user manual with:</p>
<ul>
<li>Many, many, many bugfixes</li>
<li>New (incomplete) translations: Brazilian Portuguese, Danish, Catalan</li>
<li>The online version of the manual provides a language menu. Readers are now able to easily switch to a different language of the same page.</li>
<li>It is now …</li></ul><p>We’ve released a new version of the user manual with:</p>
<ul>
<li>Many, many, many bugfixes</li>
<li>New (incomplete) translations: Brazilian Portuguese, Danish, Catalan</li>
<li>The online version of the manual provides a language menu. Readers are now able to easily switch to a different language of the same page.</li>
<li>It is now easier to report bugs: each page has a link at the bottom to report errors straight into Bugzilla.</li>
</ul>
<p>Find the packages on our <a href="ftp://ftp.gimp.org/pub/gimp/help/"><span class="caps">FTP</span> server</a>.</p>
<p>For easy installation we suggest that you wait until an installer for this release has been packaged for your platform. Find more releases and information about our goals and how you can help at <a href="https://docs.gimp.org/">docs.gimp.org</a>.</p>
<p>An additional bug fix release for <span class="caps">GIMP</span> 2.6 has been prepared as well: <a href="https://download.gimp.org/gimp/help/gimp-help-2.6.2.tar.bz2">2.6.2</a>. It contains content fixes and an improved build system.</p>Google Summer of Code 2013 Results2013-10-04T00:00:00+02:002013-10-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-10-04:/news/2013/10/04/google-summer-of-code-2013-results/<p>GSoC2013 program is over now, and 3 out of 4 students successfully completed it.</p>
<p>Carlos Zubieta ported 13 <span class="caps">GEGL</span> operations to use <span class="caps">GPU</span> via OpenCL, and the gegl-random module used by noise generation operations, then made noise-hsv and noise-cie-lch operations use it. You can read his <a href="https://mail.gnome.org/archives/gimp-developer-list/2013-September/msg00132.html">report</a>.</p>
<p>Simon Lui ported …</p><p>GSoC2013 program is over now, and 3 out of 4 students successfully completed it.</p>
<p>Carlos Zubieta ported 13 <span class="caps">GEGL</span> operations to use <span class="caps">GPU</span> via OpenCL, and the gegl-random module used by noise generation operations, then made noise-hsv and noise-cie-lch operations use it. You can read his <a href="https://mail.gnome.org/archives/gimp-developer-list/2013-September/msg00132.html">report</a>.</p>
<p>Simon Lui ported the <span class="caps">PSD</span> plug-in to use <span class="caps">GEGL</span>. <span class="caps">GIMP</span> is now capable of loading 16bit and 32bit per color channel <span class="caps">PSD</span> files, saving those is a work in progress. The updated plug-in also reads additional data from <span class="caps">PSD</span> files (text, slicing information, layer effects), but cannot use it yet: text support needs the relevant <span class="caps">API</span> in <span class="caps">GIMP</span>, and layer effects and slicing aren’t implemented in <span class="caps">GIMP</span> yet, so there’s nothing to map the information to as of now. His public report is <a href="https://mail.gnome.org/archives/gimp-developer-list/2013-September/msg00139.html">here</a>.</p>
<p>Marek Dvorožňák implemented a new N-Point deformation tool that makes it possible to deform objects while preserve shapes consistency. You can watch a <a href="https://youtu.be/OmOyQyuiO_E">video demonstration</a> of the tool on YouTube. The work is based on a <a href="https://dcgi.felk.cvut.cz/home/sykorad/Sykora09-NPAR.pdf">“As-Rigid-As-Possible Image Registration for Hand-drawn Cartoon Animations”</a> paper by Daniel Sykora et al.</p>
<p>Finally, Ajay Ramanathan attempted to merge selection tools into a single tool selection with modes (rectangular, ellipse, single row/column, N-side polygon selection modes).</p>
<p>All the source code created by our students is available in respective <a href="https://git.gnome.org/browse/gimp">Git branches</a>. We will review it and make sure we use the most of it. We thank Carlos, Simon, Marek, and Ajay for working with us over the summer and we are looking forward to working with them in the future!</p>Sponsoring symmetric painting mode2013-09-23T00:00:00+02:002013-09-23T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-09-23:/news/2013/09/23/sponsoring-symmetric-painting-mode/<p>Jehan Pagès, one of our active contributors, started a personal <a href="http://funding.openinitiative.com/funding/1578/">crowdfunding campaign</a> to sponsor his work on symmetric painting in <span class="caps">GIMP</span>. You can find more information in his <a href="https://girinstud.io/news/2013/09/crowdfunding-proposal-for-symmetrymirror-painting-in-gimp/">blog</a>, and there’s a video of a proof-of-concept implementation on <a href="https://girinstud.io/news/2013/09/crowdfunding-proposal-for-symmetrymirror-painting-in-gimp/">YouTube</a>. If you care about <span class="caps">GIMP</span> as a tool for digital …</p><p>Jehan Pagès, one of our active contributors, started a personal <a href="http://funding.openinitiative.com/funding/1578/">crowdfunding campaign</a> to sponsor his work on symmetric painting in <span class="caps">GIMP</span>. You can find more information in his <a href="https://girinstud.io/news/2013/09/crowdfunding-proposal-for-symmetrymirror-painting-in-gimp/">blog</a>, and there’s a video of a proof-of-concept implementation on <a href="https://girinstud.io/news/2013/09/crowdfunding-proposal-for-symmetrymirror-painting-in-gimp/">YouTube</a>. If you care about <span class="caps">GIMP</span> as a tool for digital painting, supporting this project is likely to benefit your workflow.</p>
<p>While we are not ready for a full-fledged crowdfunding campaign for <span class="caps">GIMP</span> yet, we think that this kind of focused campaigns, tailored for particular audiences, definitely have merit.</p>GIMP Magazine #4 published2013-09-05T00:00:00+02:002013-09-05T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-09-05:/news/2013/09/05/gimp-magazine-4-published/<p>The fourth issue of <a href="https://gimpmagazine.org/"><span class="caps">GIMP</span> Magazine</a> is now out and available as a digital download, a printed copy, and an e-zine for iPad. In just a year the project got a huge following, and now it’d a 100 pages large magazine with interviews, tutorials, a gallery section, and a …</p><p>The fourth issue of <a href="https://gimpmagazine.org/"><span class="caps">GIMP</span> Magazine</a> is now out and available as a digital download, a printed copy, and an e-zine for iPad. In just a year the project got a huge following, and now it’d a 100 pages large magazine with interviews, tutorials, a gallery section, and a graphic novel of its own.</p>
<p>Creating a full-fledged magazine takes a lot of time, so while <span class="caps">GIMP</span> Magazine is a free download, we kindly suggest you to consider <a href="http://gimpmagazine.magcloud.com/">premium options</a>. That way you will ensure its continuity.</p>GIMP 2.8.6 Released2013-06-21T00:00:00+02:002013-06-21T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-06-21:/news/2013/06/21/gimp-286-released/<p>We just released <span class="caps">GIMP</span> 2.8.6! This is a release in the stable <span class="caps">GIMP</span> 2.8 series, featuring lots of bug fixes and translation updates. For the complete list of changes please see the <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=gimp-2-8"><span class="caps">NEWS</span></a> file.</p>Four Students to Work on GIMP During GSoC2013 Program2013-05-27T00:00:00+02:002013-05-27T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-05-27:/news/2013/05/27/four-students-to-work-on-gimp-during-gsoc2013-program-2/<p>Four students will be working on <span class="caps">GIMP</span> and <span class="caps">GEGL</span> this summer thanks to Google Summer of Code 2013 program.</p>
<ul>
<li>Ajay Ramanathan will be working on a <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/chinu_93/4001">combined selection tool</a>;</li>
<li>Carlos Zubieta will be <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/zurwolf/8001">porting</a> <span class="caps">GEGL</span> operations to OpenCL;</li>
<li>Simon Lui will improve support for <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/crystallis/10001"><span class="caps">PSD</span> in <span class="caps">GIMP</span></a> (text layers as …</li></ul><p>Four students will be working on <span class="caps">GIMP</span> and <span class="caps">GEGL</span> this summer thanks to Google Summer of Code 2013 program.</p>
<ul>
<li>Ajay Ramanathan will be working on a <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/chinu_93/4001">combined selection tool</a>;</li>
<li>Carlos Zubieta will be <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/zurwolf/8001">porting</a> <span class="caps">GEGL</span> operations to OpenCL;</li>
<li>Simon Lui will improve support for <a href="http://google-melange.appspot.com/gsoc/project/google/gsoc2013/crystallis/10001"><span class="caps">PSD</span> in <span class="caps">GIMP</span></a> (text layers as text etc.);</li>
<li>Marek Dvorožňák will add a new tool to deform an image objects in a way that they behave like real world objects (see <a href="https://youtu.be/k3gN6aZWc-8">YouTube demo</a>).</li>
</ul>
<p>We are looking forward to the upcoming three months of exciting work with our new contributors.</p>
<p>While getting prepared to a new run of the Google Summer of Code program, we merged code from a few past GSoC projects, namely Warp Transform and Seamless Paste tools.</p>
<p>The Warp Transform tool is an interactive on-canvas version of our old iWarp plug-in, and it’s in a good shape to be part of a future v2.10 release. It still needs a few internal and user interface changes, though.</p>
<p>The Seamless Paste tool does just that: seamless pasting of an object from one picture into another, optionally updating color characteristics. This tool needs a lot more work. Barak Itkin recently posted an <a href="http://lightningismyname.blogspot.ru/2013/05/gimp-gsoc-2011-seamless-cloning-project.html">update in his blog</a> to outline the changes to be made.</p>
<p>Stay tuned for more development news.</p>Four Students to Work on GIMP During GSoC2013 Program2013-04-08T00:00:00+02:002013-04-08T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2013-04-08:/news/2013/04/08/four-students-to-work-on-gimp-during-gsoc2013-program-1/<p><span class="caps">GIMP</span> will be taking part in this year’s <a href="https://www.google-melange.com/">Google Summer of Code</a> program as a mentoring organization. We are inviting interested students to get in touch with us and start discussing potential projects.</p>
<p>Some <a href="https://wiki.gimp.org/index.php/Hacking:GSoC/2013/Ideas">project ideas</a> have already been posted in the wiki, but you are free to come …</p><p><span class="caps">GIMP</span> will be taking part in this year’s <a href="https://www.google-melange.com/">Google Summer of Code</a> program as a mentoring organization. We are inviting interested students to get in touch with us and start discussing potential projects.</p>
<p>Some <a href="https://wiki.gimp.org/index.php/Hacking:GSoC/2013/Ideas">project ideas</a> have already been posted in the wiki, but you are free to come up with your own ones. At this point porting existing plug-ins to <span class="caps">GEGL</span> has the highest priority, as it will aid us in releasing <span class="caps">GIMP</span> 2.10 sooner.</p>
<p>If you are eligible for participation and eager to contribute to our project, please introduce yourself on the mailing list for developers or in the #gimp channel at irc.gimp.net. In the latter case please bear in mind that the core team is mostly in the Western Europe timezone.</p>Four Students to Work on GIMP During GSoC2013 Program2013-02-12T00:00:00+01:002013-02-12T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2013-02-12:/news/2013/02/12/four-students-to-work-on-gimp-during-gsoc2013-program/<p>Yesterday Google announced <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2013">Summer of Code 2013</a> program. Participating at GSoC has proved to be rather beneficial to us. Here are just some of the features implemented during past runs of the program: five new tools (Heal, Perspective Clone, Cage Transform, Warp Transform, Seamless Paste), resources tagging, hardware acceleration in …</p><p>Yesterday Google announced <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2013">Summer of Code 2013</a> program. Participating at GSoC has proved to be rather beneficial to us. Here are just some of the features implemented during past runs of the program: five new tools (Heal, Perspective Clone, Cage Transform, Warp Transform, Seamless Paste), resources tagging, hardware acceleration in <span class="caps">GEGL</span>. Needless to say, we’ll try to participate this year again.</p>
<p>We already have a <a href="https://wiki.gimp.org/index.php?title=Hacking:GSoC/2013/Ideas">preliminary list</a> of project ideas for this year’s program: improving selection tools, implementing sophisticated slicing tool for web designers, creating a full-featured OpenEXR plug-in. However, the top priority project for us would be porting more plug-ins to <span class="caps">GEGL</span>, which is one of the issues that block the release of <span class="caps">GIMP</span> 2.10.</p>
<p>Even though we won’t know whether we are participating until April 8, if you are considering to work with us this summer, we suggest that you start talking to us already. When we vote for students, we need to know you well enough to make a fair judgment. Please find out if you are eligible for the program, then <a href="https://www.gimp.org/mail_lists.html">join</a> the developers mailing list or <a href="https://www.gimp.org/irc.html">talk to us</a> on <span class="caps">IRC</span>.</p>GIMP 2.8.4 for OSX Available2013-02-10T00:00:00+01:002013-02-10T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2013-02-10:/news/2013/02/10/gimp-284-for-osx-available/<p><span class="caps">GIMP</span> 2.8.4 is now available as <a href="https://download.gimp.org/gimp/v2.8/osx/">disk image</a> for Mac <span class="caps">OSX</span>.</p>
<p>Please note that with this release, we have moved <span class="caps">GIMP</span>’s per-user data from “~/Library” to “~/Library/Application Support”. If you had installed <span class="caps">GIMP</span> 2.8.2 before, please open a terminal and enter the following command …</p><p><span class="caps">GIMP</span> 2.8.4 is now available as <a href="https://download.gimp.org/gimp/v2.8/osx/">disk image</a> for Mac <span class="caps">OSX</span>.</p>
<p>Please note that with this release, we have moved <span class="caps">GIMP</span>’s per-user data from “~/Library” to “~/Library/Application Support”. If you had installed <span class="caps">GIMP</span> 2.8.2 before, please open a terminal and enter the following command, so <span class="caps">GIMP</span> 2.8.4 will pick up your data from the right location:</p>
<p>mv ~/Library/<span class="caps">GIMP</span> ~/Library/Application\ Support</p>GIMP 2.8.4 Released2013-02-05T00:00:00+01:002013-02-05T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2013-02-05:/news/2013/02/05/gimp-284-released/<p><span class="caps">GIMP</span> 2.8.4 is out! This is a release in the stable <span class="caps">GIMP</span> 2.8 series, featuring lots of bug fixes and translation updates. For the complete list of changes please see the <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=gimp-2-8"><span class="caps">NEWS</span></a> file.</p>
<p>Pre-built binaries for Mac will be available soon.</p>GIMP in 20122012-12-27T00:00:00+01:002012-12-27T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-12-27:/news/2012/12/27/gimp-in-2012/<p>As 2013 is fast approaching, we’d like to take a quick look at 2012 and what we did during the year.</p>
<p>In May we released the long anticipated new stable version, v2.8, with many improvements such as layer groups, tagging of resources, new Cage transform tool and more …</p><p>As 2013 is fast approaching, we’d like to take a quick look at 2012 and what we did during the year.</p>
<p>In May we released the long anticipated new stable version, v2.8, with many improvements such as layer groups, tagging of resources, new Cage transform tool and more.</p>
<p>We also started the final transition to <span class="caps">GEGL</span> as a new image processing core. All legacy from the libgimp has already been removed.</p>
<p>Unstable version of <span class="caps">GIMP</span> is now capable of working in 16 and 32 bit per channel modes, both integer and float. Color management has been improved as well, and thanks to support by <span class="caps">AMD</span> and Google the <span class="caps">GEGL</span> library can do <span class="caps">GPU</span>-side rendering and processing with OpenCL.</p>
<p>We successfully participated at Google Summer of Code 2012. Our students ported more <span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> operations, created a node compositing application for testing <span class="caps">GEGL</span>, and implemented a unified transform tool for <span class="caps">GIMP</span>.</p>
<p>In past years we let our work with community slip, so this year we also tried to establish a better connection with our user base. Our <a href="https://plus.google.com/+gimp">Google+ page</a>, where we now regularly share project news and useful <span class="caps">GIMP</span> tutorials we come across, is currently circled by ca. 22.000 people (as compared to 1.000 in January 2012).</p>
<p>Last, but not least, we are happy to see the community actively promoting <span class="caps">GIMP</span> of its own accord. E.g. this year the <a href="https://gimpmagazine.org/"><span class="caps">GIMP</span> Magazine</a> project was started, with two issues already published and the 3rd issue currently in the works.</p>
<p>Thanks to all contributors our <a href="https://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision">project vision</a> is becoming a reality. <span class="caps">GIMP</span> already works in <span class="caps">HDR</span>, partially uses <span class="caps">GPU</span> for rendering and processing, has better transformation tools.</p>
<p>Our primary focus for 2013 will be finishing the transition to <span class="caps">GEGL</span>. We don’t expect it to be an easy job: it’s likely to keep us busy most of 2013, if not longer. You can help us to boost the development. Come <a href="https://wiki.gimp.org/index.php/Users:Beginner_Developer%27s_FAQ">join us</a> to complete the rewrite and deliver the new generation of <span class="caps">GIMP</span> as a polished stable product.</p>GIMP Gets ICC v4 Color Profiles Support2012-11-21T00:00:00+01:002012-11-21T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-11-21:/news/2012/11/21/gimp-gets-icc-v4-color-profiles-support/<p>For the last few weeks <span class="caps">GIMP</span> has been capable of using <span class="caps">ICC</span> v4 color profiles thanks to a patch by <a href="http://www.laurentmartelli.com/">Laurent Martelli</a> who ported the color management plug-in to use LittleCMS v2.</p>
<p>There is also an ongoing work by <a href="https://ninedegreesbelow.com/">Elle Stone</a> to adapt that plug-in to the new <span class="caps">GEGL</span>-based …</p><p>For the last few weeks <span class="caps">GIMP</span> has been capable of using <span class="caps">ICC</span> v4 color profiles thanks to a patch by <a href="http://www.laurentmartelli.com/">Laurent Martelli</a> who ported the color management plug-in to use LittleCMS v2.</p>
<p>There is also an ongoing work by <a href="https://ninedegreesbelow.com/">Elle Stone</a> to adapt that plug-in to the new <span class="caps">GEGL</span>-based architecture and make color space conversions just work between various bit depth precision levels — from 8-bit to 32-bit floating point.</p>
<p>Once it’s done, <span class="caps">GIMP</span> will be capable of converting images between different color spaces with little to no loss of color fidelity. In fact, it already works, with some caveats.</p>
<p>Meanwhile Michael Natterer is busy porting plug-ins for loading and saving files to <span class="caps">GEGL</span> and <span class="caps">GIO</span>. The latter means that <span class="caps">GIMP</span> doesn’t create temporary files anymore when loading files from remote locations, and previews in the Open File dialog 100% match actual images.</p>
<p>There is still a lot of work to do before <span class="caps">GEGL</span>-based version of <span class="caps">GIMP</span> is completely functional. We encourage you to join the team and help making the future closer.</p>Google Summer of Code 2012 Is Over2012-09-03T00:00:00+02:002012-09-03T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-09-03:/news/2012/09/03/google-summer-of-code-2012-is-over/<p>Four out of five <span class="caps">GIMP</span> students successfully finished their work in the Google Summer of Code 2012 program. Unfortunately one of the students wasn’t able to complete all of the work.</p>
<p>The code written by the students has already been merged to main development branches and is expected to …</p><p>Four out of five <span class="caps">GIMP</span> students successfully finished their work in the Google Summer of Code 2012 program. Unfortunately one of the students wasn’t able to complete all of the work.</p>
<p>The code written by the students has already been merged to main development branches and is expected to be available in the next releases of <span class="caps">GIMP</span> and <span class="caps">GEGL</span>.</p>
<p>While the first public version of the Unified Transform Tool will only be available in the 2.9.x series, new <span class="caps">GEGL</span> operations will be present in the next release of <span class="caps">GEGL</span> already.</p>
<p>The students ported the following <span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> operations: Shift, Wind, Cartoon, Photocopy, Oilify, Softglow, and a variety of noise generators.</p>
<p>The <span class="caps">GEGL</span>-based <a href="https://git.gnome.org/browse/gegl-edit">node editor</a> is a standalone project and will eventually be released separately.</p>
<p>It was a great summer. We thank all the students for participating and we would love to see them around in years to follow.</p>GIMP 2.8.2 Released2012-08-24T00:00:00+02:002012-08-24T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-08-24:/news/2012/08/24/gimp-282-released/<p>We’ve just released <span class="caps">GIMP</span> 2.8.2, the first update to the new stable version of <span class="caps">GIMP</span>. The update brings several dozens of fixes to various issues of all scales.</p>
<p>Most notorious bugs fixed are: not being able to remember <span class="caps">JPEG</span> saving options, slow canvas redraw, not showing page …</p><p>We’ve just released <span class="caps">GIMP</span> 2.8.2, the first update to the new stable version of <span class="caps">GIMP</span>. The update brings several dozens of fixes to various issues of all scales.</p>
<p>Most notorious bugs fixed are: not being able to remember <span class="caps">JPEG</span> saving options, slow canvas redraw, not showing page setup options on Windows. There’s also a workaround for the bug that used to cause showing incorrect file size values on Windows. For the complete list of changes please see the <a href="https://git.gnome.org/browse/gimp/plain/NEWS?h=gimp-2-8"><span class="caps">NEWS</span></a> file.</p>
<p>Additionally we did a lot of work to make a native build of <span class="caps">GIMP</span> for Mac a possibility. The official <span class="caps">GIMP</span>.app will be available soon. Windows installers of v2.8.2 will be available from <a href="http://gimp-win.sourceforge.net/stable.html">the usual location</a> shortly.</p>
<p>Beginning with this version we are also switching to a new versions numbering scheme. Final releases now always have even number of the micro version, and the versions in Git always have an odd number.</p>We Are Looking for Windows Developers2012-07-25T00:00:00+02:002012-07-25T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-07-25:/news/2012/07/25/we-are-looking-for-windows-developers/<p>It’s been a long time since we last had an active Windows-based developer. Consequently, <span class="caps">GIMP</span> has accumulated a plethora of bugs specific for that operating system. As much as we’d like to provide a smooth user experience for Windows users, we simply do not have the required human …</p><p>It’s been a long time since we last had an active Windows-based developer. Consequently, <span class="caps">GIMP</span> has accumulated a plethora of bugs specific for that operating system. As much as we’d like to provide a smooth user experience for Windows users, we simply do not have the required human resources.</p>
<p>Hence, if you are an experienced Windows-based developer who is interested to help <span class="caps">GIMP</span> become a first-class citizen in the Windows world, please get in touch with us. Our main communication channels are the <a href="https://www.gimp.org/mail_lists.html">gimp-developer</a> mailing list and <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a>. Here is the <a href="https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22GIMP%22+os%3A%22Wind%22">list of all reported bugs</a> for the Windows version of <span class="caps">GIMP</span>.</p>
<p>If you go for <span class="caps">IRC</span>, we recommend sticking there for several hours, since we are mostly Europe-based, and you maybe aren’t in the same timezones span. Most development talks happen on <span class="caps">IRC</span> anyway, so staying online helps the communication.</p>All GSoC 2012 Students Passed Midterm Evaluation2012-07-20T00:00:00+02:002012-07-20T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-07-20:/news/2012/07/20/all-gsoc-2012-students-passed-midterm-evaluation/<p>We are glad to announce that all of our Google Summer of Code 2012 students passed the midterm evaluation last week.</p>
<p>All projects are coming along nicely. The unified transform is already quite functional, the experimental <span class="caps">GEGL</span> editor is maturing, more filters were rewritten into <span class="caps">GEGL</span> operations, and more parts …</p><p>We are glad to announce that all of our Google Summer of Code 2012 students passed the midterm evaluation last week.</p>
<p>All projects are coming along nicely. The unified transform is already quite functional, the experimental <span class="caps">GEGL</span> editor is maturing, more filters were rewritten into <span class="caps">GEGL</span> operations, and more parts of <span class="caps">GEGL</span> were adapted for the new image processing core.</p>
<p>There’s also substantial progress with the Seamless Clone tool that was part of Google Summer of Code 2011 program. The tool relies on Poly2tri — a C++ library for generating constrained Delaunay triangulations. You can read more about this project in <a href="http://lightningismyname.blogspot.com/">the developer’s blog</a>.</p>
<p>The Poly2tri library is likely to be used by the next generation of the Cage Transform tool (available since v2.8). This is expected to simplify and hence speed up calculations which are currently slow when used on large images.</p>New Usability Project2012-05-14T00:00:00+02:002012-05-14T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-05-14:/news/2012/05/14/new-usability-project/<p>Since 2006 we’ve been <a href="https://gui.gimp.org/index.php/GIMP_UI_Redesign">improving</a> <span class="caps">GIMP</span>’s user interface with help from Peter Sikking and his team at <a href="http://www.mmiworks.net/eng/index.html">man + machine interface works</a>. Some of the best improvements in <span class="caps">GIMP</span>’s <span class="caps">UI</span> over past several years are the direct result of our collaboration.</p>
<p>We are happy to announce that for …</p><p>Since 2006 we’ve been <a href="https://gui.gimp.org/index.php/GIMP_UI_Redesign">improving</a> <span class="caps">GIMP</span>’s user interface with help from Peter Sikking and his team at <a href="http://www.mmiworks.net/eng/index.html">man + machine interface works</a>. Some of the best improvements in <span class="caps">GIMP</span>’s <span class="caps">UI</span> over past several years are the direct result of our collaboration.</p>
<p>We are happy to announce that for the next 10 weeks Marinus Schraal is joining Peter Sikking to work on a concept of a new widget set for tools’ options in <span class="caps">GIMP</span>. The net outcome will be a functional spec for new <span class="caps">UI</span> elements that will be compact and easy to use.</p>
<p>By the way, recently Peter did another <span class="caps">GIMP</span> related interaction design course at the <span class="caps">FH</span> Vorarlberg, Austria. His students <a href="http://blog.mmiworks.net/2012/05/teaching-interaction-12.html">worked</a> on possible new user interfaces for <a href="http://liquidrescale.wikidot.com/">Liquid Rescale</a> plug-in that implements content-aware scaling.</p>High Bit Depth Processing Available Now2012-05-04T00:00:00+02:002012-05-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-05-04:/news/2012/05/04/high-bit-depth-processing-available-now/<p>Today at <a href="http://libre-graphics-meeting.org/2012/">Libre Graphics Meeting 2012</a> in Vienna we announced that the development version of <span class="caps">GIMP</span> is now capable of processing images in 16bit and 32bit modes, integer or float at your preference.</p>
<p>Transformation, painting and color adjustment tools will just work in higher bit depth precision modes. More than …</p><p>Today at <a href="http://libre-graphics-meeting.org/2012/">Libre Graphics Meeting 2012</a> in Vienna we announced that the development version of <span class="caps">GIMP</span> is now capable of processing images in 16bit and 32bit modes, integer or float at your preference.</p>
<p>Transformation, painting and color adjustment tools will just work in higher bit depth precision modes. More than that, <span class="caps">GIMP</span> can load and save 16bit <span class="caps">PNG</span> images and save <span class="caps">EXR</span> and <span class="caps">HDR</span> files now. We also improved support for indexed images, so that you could finally paint over them with the Smudge tool or apply filters.</p>
<p>There is still a lot of work left to do, and this is a great chance for potential contributors to step up and begin improving the application. Low-hanging fruits include porting of file loaders and savers, filters and other small bits of <span class="caps">GIMP</span> that don’t require a lot of familiarity with the internal structure. Please contact us in the gimp-developer mailing list.</p>
<p>Decision on the final feature set in 2.10 is yet to be made, no time-based schedule is available either. However we fully intend to make development cycles much shorter.</p>GIMP 2.8 Released2012-05-03T00:00:00+02:002012-05-03T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-05-03:/news/2012/05/03/gimp-28-released/<p>We are happy to announce immediate availability of <span class="caps">GIMP</span> 2.8—a new stable version of <span class="caps">GNU</span> Image Manipulation Program that culminates 3.5 years of exciting work.</p>
<p>With this version we are introducing some long-anticipated features such as layer groups, on-canvas text editing, advanced brush dynamics and the much …</p><p>We are happy to announce immediate availability of <span class="caps">GIMP</span> 2.8—a new stable version of <span class="caps">GNU</span> Image Manipulation Program that culminates 3.5 years of exciting work.</p>
<p>With this version we are introducing some long-anticipated features such as layer groups, on-canvas text editing, advanced brush dynamics and the much desired optional single-window mode. We also started applying other important changes to the user interface that bring us closer to matching the <a href="https://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision">product vision</a>.</p>
<p>For detailed information about changes since 2.6 please read the <a href="https://www.gimp.org/release-notes/gimp-2.8.html">release notes</a>. Source code is <a href="https://www.gimp.org/downloads/">available for downloading</a> from a plethora of mirrors, a build for Windows will soon be available, and we hope to see a build for Mac <span class="caps">OS</span> X released as well.</p>
<p>We’d like to thank everyone who participated in development of <span class="caps">GIMP</span> 2.8: programmers, translators, documentation writers (updated user manual is a work in progress), and testers. We also thank our user community for the dedication and support—we needed it more than ever.</p>
<p>Now that this version is finally released, we are grasping the future with both hands. Stay tuned: some really exciting news will follow.</p>GIMP and GEGL Projects for GSoC2012 Announced2012-04-23T00:00:00+02:002012-04-23T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-04-23:/news/2012/04/23/gimp-and-gegl-projects-for-gsoc2012-announced/<p>We are excited to announce that we have five students to work with us on improving <span class="caps">GIMP</span> as part of the <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2012">Google Summer of Code 2012</a> program. All the students will be contributing to faster transition of <span class="caps">GIMP</span> to <span class="caps">GEGL</span>, our new advanced image core.</p>
<p>The projects are:</p>
<ul>
<li>Maxime Nicco …</li></ul><p>We are excited to announce that we have five students to work with us on improving <span class="caps">GIMP</span> as part of the <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2012">Google Summer of Code 2012</a> program. All the students will be contributing to faster transition of <span class="caps">GIMP</span> to <span class="caps">GEGL</span>, our new advanced image core.</p>
<p>The projects are:</p>
<ul>
<li>Maxime Nicco and hanslo will port <span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> operations.</li>
<li>Ville Sokk will port other <span class="caps">GIMP</span> features to <span class="caps">GEGL</span>.</li>
<li>Isaac Wagner will create a <span class="caps">GEGL</span>-based node compositor that will serve as playground for <span class="caps">GEGL</span> development.</li>
<li>Mikael Magnusson will create a <a href="https://gui.gimp.org/index.php/Transformation_tool_specification">Unified Transform</a> tool.</li>
</ul>
<p>In the past years Google Summer of Code has proven to be a great source of contributions. We wish our students success and, above all, a lot of fun while making <span class="caps">GIMP</span> a state of the art image editor.</p>GIMP’s Core Getting Ported to GEGL2012-04-17T00:00:00+02:002012-04-17T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-04-17:/news/2012/04/17/gimps-core-getting-ported-to-gegl/<p>In late 2007 we launched smooth transition to <span class="caps">GEGL</span>—a new advanced image processing core incepted by a team of Rhythm <span class="amp">&</span> Hues developers.</p>
<p>For v2.6 we made an optional <span class="caps">GEGL</span>-based implementation of color adjustment tools, and for upcoming v2.8 we implemented optional projection rendering via <span class="caps">GEGL</span>. But …</p><p>In late 2007 we launched smooth transition to <span class="caps">GEGL</span>—a new advanced image processing core incepted by a team of Rhythm <span class="amp">&</span> Hues developers.</p>
<p>For v2.6 we made an optional <span class="caps">GEGL</span>-based implementation of color adjustment tools, and for upcoming v2.8 we implemented optional projection rendering via <span class="caps">GEGL</span>. But nobody really had evaluated the amount of the work to be done in order to finalize this transition. Until just now.</p>
<p>Five weeks ago Michael Natterer and Øyvind Kolås decided to finally work out the migration strategy. While working on that they found themselves <a href="http://gimpfoo.de/2012/04/17/goat-invasion-in-gimp/">doing the actual porting</a>. So now about 90% of the <span class="caps">GIMP</span> application’s core has been <a href="https://git.gnome.org/browse/gimp/log/?h=goat-invasion">ported to <span class="caps">GEGL</span></a>. When finished, this will be released as <span class="caps">GIMP</span> 2.10 along with some other improvements yet to be decided on.</p>
<p><span class="caps">GEGL</span> is quite an exciting project that will make it possible to implement some long anticipated features in a clean, non-sloppy way: high bit depth image processing and deep painting, non-destructive editing, a wider choice of color spaces to work in, mipmaps processing for faster perceived editing etc. This will be the focus of our future work after release of v2.10, along with further user interface improvements thanks to collaboration with Peter Sikking and his team at Man+Machine Works.</p>
<p>Now that we passed the point of no return with regards to <span class="caps">GIMP</span> and <span class="caps">GEGL</span>, we encourage you to join us and help porting the rest of <span class="caps">GIMP</span>. We’d really like to finish the boring part as soon as possible and start new exciting developments where we’d also need your support.</p>
<p>We also encourage you to <a href="http://pledgie.com/campaigns/16614">support</a> Libre Graphics Meeting 2012 where developers of <span class="caps">GIMP</span> and other teams such as Scribus, Inkscape and Blender meet to align development strategies.</p>GEGL and babl Updated, GIMP 2.8rc1 Released2012-04-08T00:00:00+02:002012-04-08T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2012-04-08:/news/2012/04/08/gegl-and-babl-updated-gimp-28rc1-released/<p>We released new versions of <span class="caps">GEGL</span> and babl, quickly followed by the first release candidate of <span class="caps">GIMP</span> 2.8.</p>
<p><span class="caps">GEGL</span> 0.2.0 has some major improvements and breaks <span class="caps">API</span>/<span class="caps">ABI</span> compatibility with earlier versions for some very good reasons.</p>
<p>Perhaps the most exciting change in <span class="caps">GEGL</span> is an initial …</p><p>We released new versions of <span class="caps">GEGL</span> and babl, quickly followed by the first release candidate of <span class="caps">GIMP</span> 2.8.</p>
<p><span class="caps">GEGL</span> 0.2.0 has some major improvements and breaks <span class="caps">API</span>/<span class="caps">ABI</span> compatibility with earlier versions for some very good reasons.</p>
<p>Perhaps the most exciting change in <span class="caps">GEGL</span> is an initial support for <span class="caps">GPU</span>-side rendering and processing via OpenCL. Hardware acceleration makes it possible to leverage many operations to GPUs which can dramatically improve performance.</p>
<p>The foundation for this feature was laid by Jerson Michael Perpetua as the primary objective of his GSoC2009 project. The second part of the project was done by Victor Oliveira during GSoC2011. Victor was also sponsored by <span class="caps">AMD</span> to finish the project this winter, with help from <span class="caps">GEGL</span> team, Zhang Peixuan and his team from Multicore Ware. Currently you need to run GEGL_USE_OPENCL=yes to use this.</p>
<p>Two new essential operations were contributed to <span class="caps">GEGL</span>. Mikael Magnusson implemented perspective transformation, and Jan Rüegg submitted a global matting operation that would be required for a <span class="caps">GEGL</span>-based foreground selection tool.</p>
<p>Since this version <span class="caps">GEGL</span> also supports internationalization. The final patches for that were delivered by Michael Muré. Translations into German, French, Polish, Russian, Slovenian and Spanish languages are available, and we expect more to follow. Users of <span class="caps">GIMP</span> 2.8 will see this in the experimental <span class="caps">GEGL</span> operation tool.</p>
<p>The changes in <span class="caps">GIMP</span> 2.8rc1 since 2.7.5 are mostly not user-visible. We merely updated the code to work with newer versions of <span class="caps">GEGL</span> and babl, fixed GFig rendering issues and used all the translation updates we got to the point. There is still time to review your translations and submit updates, although probably not too much of it.</p>
<p>Please use the Downloads section to fetch source code of <span class="caps">GIMP</span> 2.8rc1 and visit <a href="http://www.gegl.org/">gegl.org</a> for source code of <span class="caps">GEGL</span> and babl. Let us know if you run into serious regressions that haven’t been reported yet.</p>GIMP Accepted for GSoC20122012-03-21T00:00:00+01:002012-03-21T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-03-21:/news/2012/03/21/gimp-accepted-for-gsoc2012/<p><span class="caps">GIMP</span> has been accepted to <a href="https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/home">Google Summer of Code 2012</a> program. This is a great chance for aspiring developers to get a good understanding of remote collaborative work and coincidentally help the project become an even better image editor.</p>
<p>We put together a <a href="https://wiki.gimp.org/index.php/Hacking:GSoC/2012/Ideas">list of project ideas</a> that you might …</p><p><span class="caps">GIMP</span> has been accepted to <a href="https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/home">Google Summer of Code 2012</a> program. This is a great chance for aspiring developers to get a good understanding of remote collaborative work and coincidentally help the project become an even better image editor.</p>
<p>We put together a <a href="https://wiki.gimp.org/index.php/Hacking:GSoC/2012/Ideas">list of project ideas</a> that you might like to have a look at. But you are also free to suggest your own idea. <a href="https://wiki.gimp.org/index.php/Hacking:GSOC">Here</a> is some more essential info for potential students. If you are eligible for the program, please join the gimp-developer@ mailing list or the <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span> channel</a> to discuss your project idea.</p>
<p>Student application period opens on March 26 and closes on April 6. Please contact us prior to submitting your application. We will not accept projects from people we never heard of.</p>GIMP 2.7.5 Released2012-03-14T00:00:00+01:002012-03-14T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-03-14:/news/2012/03/14/gimp-275-released/<p>We’ve just released <span class="caps">GIMP</span> 2.7.5, the last beta in the 2.7.x series. This version got various fixes and improvements, translation updates and a few minor features such as configurable default color of quick masks.</p>
<p>Since this version <span class="caps">GIMP</span> is shipping with a revamped brush pack …</p><p>We’ve just released <span class="caps">GIMP</span> 2.7.5, the last beta in the 2.7.x series. This version got various fixes and improvements, translation updates and a few minor features such as configurable default color of quick masks.</p>
<p>Since this version <span class="caps">GIMP</span> is shipping with a revamped brush pack and a set of ca. 40 tools presets, mostly painting related. The work was done by Ramón Miranda (<span class="caps">GIMP</span> Paint Studio) and Guillermo Espertino. This particular change is a first major step in updating the default bundle of resources to match user expectations.</p>
<p>For a complete list of changes since 2.7.4 please refer to the <a href="https://developer.gimp.org/NEWS"><span class="caps">NEWS</span></a> page, while the <a href="https://www.gimp.org/release-notes/gimp-2.7.html">release notes</a> summarize changes in the whole 2.7.x series.</p>
<p>There are still <a href="https://bugzilla.gnome.org/buglist.cgi?product=GIMP&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&target_milestone=2.8">some bugs to fix</a> before we can release v2.8. We encourage you to join the team and help us getting 2.8 released.</p>GIMP at Libre Graphics Meeting 20122012-02-27T00:00:00+01:002012-02-27T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-02-27:/news/2012/02/27/gimp-at-libre-graphics-meeting-2012/<p>On May 2–5 we are attending <a href="https://libregraphicsmeeting.org/2012/">Libre Graphics Meeting 2012</a>, the annual conference for developers and users of free software for graphic design, photography and 3D modeling. The event is taking place in the beautiful city of Vienna, co-located with Linuxwochen.</p>
<p>The conference started in 2006 as an extended …</p><p>On May 2–5 we are attending <a href="https://libregraphicsmeeting.org/2012/">Libre Graphics Meeting 2012</a>, the annual conference for developers and users of free software for graphic design, photography and 3D modeling. The event is taking place in the beautiful city of Vienna, co-located with Linuxwochen.</p>
<p>The conference started in 2006 as an extended version of our annual developers meeting where we met Scribus and Inkscape teams to figure out how we can make our software work better together. Since then <span class="caps">LGM</span> has become the premiere event of the year for everyone who cares about free graphics software.</p>
<p>One of the achievements of the conference is OpenRaster, a raster file format that supports layers and blending modes and is intended for long-time archival. It is currently supported by <span class="caps">GIMP</span>, MyPaint, Krita and Pinta which makes it possible to use various tools on the same project file.</p>
<p>We have various ideas how else to co-operate with other teams and we tend to use <span class="caps">LGM</span> as another venue for our developers to meet each other and our usability team. However we’d like to notice that while your continuous support via donations enables us to travel to <span class="caps">LGM</span>, not all of the other teams are in this position. So if you care about co-operation between teams, we humbly ask you to <a href="http://pledgie.com/campaigns/16614">support the conference via Pledgie</a>. The money will be spent on getting other developers to the conference.</p>
<p>We expect the upcoming four days of Libre Graphics Meeting 2012 to be full of sparkling ideas, collaboration and, above all, fun. If you’d like to meet us or any other teams or even give a talk, you still have time to <a href="https://libregraphicsmeeting.org/2012/registration/">register</a>.</p>GIMP 2.6.12 Released – The Final 2.6 Release2012-02-01T00:00:00+01:002012-02-01T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2012-02-01:/news/2012/02/01/gimp-2612-released-the-final-26-release/<p><span class="caps">GIMP</span> 2.6.12 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. Its purpose is mostly to wrap up all fixes that have piled up since 2.6.11 into a last release in the stable 2.6 series before we switch to 2.8. Please have …</p><p><span class="caps">GIMP</span> 2.6.12 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. Its purpose is mostly to wrap up all fixes that have piled up since 2.6.11 into a last release in the stable 2.6 series before we switch to 2.8. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>
<p>Just like you, we want to see v2.8 out in the wild as soon as possible, but there’s still a number of regressions that block this important release.</p>
<p>On a lighter note, v2.8 is going to have an updated default set of brushes for painting and a set of tools presets (new feature in 2.8). The work was done by Ramón Miranda (<span class="caps">GIMP</span> Paint Studio project) and Guillermo Espertino.</p>
<p>Meanwhile there is a considerable progress with the <span class="caps">GPU</span>-side rendering project we announced in November. Victor Oliveira has brought OpenCL support on <span class="caps">GEGL</span> to a level where <span class="caps">GIMP</span> can load an image to a <span class="caps">GPU</span> and process it there with a brightness-contrast operation. This is only the beginning, but it opens quite a few possibilities.</p>
<p>We also maintain a rather active <a href="https://plus.google.com/u/0/b/116634837115748851709/116634837115748851709/posts">Google+</a> page where we post various project related news, links to impressive work done with <span class="caps">GIMP</span> and so on.</p>GIMP 2.7.4 Released, GEGL and babl Updated2011-12-13T00:00:00+01:002011-12-13T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-12-13:/news/2011/12/13/gimp-274-released-gegl-and-babl-updated/<p>We released <span class="caps">GIMP</span> 2.7.4 with minor improvements and bugfixes. Most improvements are related to user interface and usability, see <a href="https://git.gnome.org/browse/gimp/tree/NEWS">here</a> for detailed list of changes. Depending on amount of bugs we get reports on this could be the last version before 2.8 release candidates and 2.8 …</p><p>We released <span class="caps">GIMP</span> 2.7.4 with minor improvements and bugfixes. Most improvements are related to user interface and usability, see <a href="https://git.gnome.org/browse/gimp/tree/NEWS">here</a> for detailed list of changes. Depending on amount of bugs we get reports on this could be the last version before 2.8 release candidates and 2.8 itself.</p>
<p>The other good news is that between 2.7.3 and 2.7.4 Michael Natterer considerably improved <span class="caps">GTK</span>+ for Mac, so <span class="caps">GIMP</span> is finally going to be first class citizen on that platform.</p>
<p>We also released new versions of <span class="caps">GEGL</span> and babl. Changes in babl are <a href="https://git.gnome.org/browse/babl/tree/NEWS">mostly</a> improvements of the existing feature set, but <span class="caps">GEGL</span> got operations ported from <span class="caps">GIMP</span> filters by Robert Sasu during Google Summer of Code 2011, as well as some new operations written by the team.</p>
<p>Resampling was improved in <span class="caps">GEGL</span> thanks to Nicolas Robidoux and Adam Turcotte who added a lohalo resampler. There’s <span class="caps">API</span> and infrastructure for doing non-affine resampling in place now as well.</p>
<p>Finally, GeglView <span class="caps">GTK</span> widget was separated from <span class="caps">GEGL</span> into a new project called <span class="caps">GEGL</span>-<span class="caps">GTK</span> to simplify using <span class="caps">GEGL</span> from <span class="caps">GTK</span>+ applications. The work was done by Jon Nordby from MyPaint project. Jon started another project, <span class="caps">GEGL</span>-Qt, to do the same for Qt. Please <a href="http://www.jonnor.com/2011/08/making-gegl-easier-to-use-in-graphical-applications/">read his blog</a> for more details.</p>AMD Sponsors Further Work on OpenCL Support in GEGL2011-11-28T00:00:00+01:002011-11-28T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-11-28:/news/2011/11/28/amd-sponsors-further-work-on-opencl-support-in-gegl/<p>Victor Oliveira, our GSoC2011 student, is going to continue his work on getting OpenCL support in <span class="caps">GEGL</span> for hardware accelerated rendering and computations. <span class="caps">AMD</span> got interested in the project and agreed to sponsor it.</p>
<p>The plan is to implement <span class="caps">GPU</span>-side color conversions and compositing operations, as well as some …</p><p>Victor Oliveira, our GSoC2011 student, is going to continue his work on getting OpenCL support in <span class="caps">GEGL</span> for hardware accelerated rendering and computations. <span class="caps">AMD</span> got interested in the project and agreed to sponsor it.</p>
<p>The plan is to implement <span class="caps">GPU</span>-side color conversions and compositing operations, as well as some basic filters. Victor is also planning to create a simple <span class="caps">API</span> for development of new OpenCL based filters for <span class="caps">GEGL</span>.</p>
<p>Currently estimated deadline is March 2012. <span class="caps">GIMP</span> already has an optional <span class="caps">GEGL</span> based projection rendering as well as an experimental tool to test <span class="caps">GEGL</span> operations, so hopefully we are going to see some exciting performance improvements soon.</p>Mailing Lists Moved to GNOME Mailing List Server2011-10-26T00:00:00+02:002011-10-26T00:00:00+02:00Michael Schumachertag:www.gimp.org,2011-10-26:/news/2011/10/26/mailing-lists-moved-to-gnome-mailing-list-server/<p>Our mailing lists have moved to the <span class="caps">GNOME</span> list server. All previously subscribed users have automatically been added to the new lists.</p>
<p>The old list mail addresses are no longer valid, please use the new ones from now–note that in addition to the changed domain, the list names got …</p><p>Our mailing lists have moved to the <span class="caps">GNOME</span> list server. All previously subscribed users have automatically been added to the new lists.</p>
<p>The old list mail addresses are no longer valid, please use the new ones from now–note that in addition to the changed domain, the list names got a “-list” appended to them.</p>
<p>The subscription management pages are accessible via the following links:</p>
<ul>
<li><a href="https://mail.gnome.org/mailman/listinfo/gimp-developer-list">gimp-developer-list</a></li>
<li><a href="https://mail.gnome.org/mailman/listinfo/gimp-user-list">gimp-user-list</a></li>
<li><a href="https://mail.gnome.org/mailman/listinfo/gimp-docs-list">gimp-docs-list</a></li>
<li><a href="https://mail.gnome.org/mailman/listinfo/gimp-web-list">gimp-web-list</a></li>
<li><a href="https://mail.gnome.org/mailman/listinfo/gegl-developer-list">gegl-developer-list</a></li>
</ul>
<p>The list archives will be restored at gnome.org as soon as we get the files.</p>
<p>The gimp-announce, gimp-film, and gimp-win-user lists don’t exist any longer.</p>Online Docs and Developer Pages Restored2011-10-21T00:00:00+02:002011-10-21T00:00:00+02:00Michael Schumachertag:www.gimp.org,2011-10-21:/news/2011/10/21/online-docs-and-developer-pages-restored/<p>The online docs and developer pages are available again:</p>
<ul>
<li>Online Docs (<a href="https://docs.gimp.org/">docs.gimp.org</a>)</li>
<li>Developer Pages (<a href="https://developer.gimp.org/">developer.gimp.org</a>)</li>
</ul>FTP and Wiki Back Online2011-10-18T00:00:00+02:002011-10-18T00:00:00+02:00Michael Schumachertag:www.gimp.org,2011-10-18:/news/2011/10/18/ftp-and-wiki-back-online/<p>We managed to get <span class="caps">FTP</span> and Wiki back online:</p>
<ul>
<li><span class="caps">FTP</span> Downloads (<a href="ftp://ftp.gimp.org/">ftp.gimp.org</a>)</li>
<li>Developer Wiki (<a href="https://wiki.gimp.org/">wiki.gimp.org</a>)</li>
</ul>Mailing list, FTP and Documentation Outage2011-10-16T00:00:00+02:002011-10-16T00:00:00+02:00Michael Schumachertag:www.gimp.org,2011-10-16:/news/2011/10/16/mailing-list-ftp-and-documentation-outage/<p>Due to relocation onto a different server, the following services are currently not available:</p>
<ul>
<li>Mailing lists (lists.xcf.berkeley.edu)</li>
<li><span class="caps">FTP</span> Downloads (ftp.gimp.org)</li>
<li>Documentation (docs.gimp.org)</li>
<li>Developer website (developer.gimp.org)</li>
<li>Developer Wiki (wiki.gimp.org)</li>
</ul>GSoC2011 is Over2011-09-17T00:00:00+02:002011-09-17T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-09-17:/news/2011/09/17/gsoc2011-is-over/<p>Google Summer of Code 2011 is over, and all of our students have successfully finished their respective projects. All of the code is available in Git repositories, but not all of it is going to be part of the next released versions of <span class="caps">GEGL</span> and <span class="caps">GIMP</span>. Here is why.</p>
<p>Both …</p><p>Google Summer of Code 2011 is over, and all of our students have successfully finished their respective projects. All of the code is available in Git repositories, but not all of it is going to be part of the next released versions of <span class="caps">GEGL</span> and <span class="caps">GIMP</span>. Here is why.</p>
<p>Both new tools, <a href="http://lightningismyname.blogspot.com/2011/09/video-demo-of-my-gsoc-project.html">Seamless Clone</a> and <a href="http://pellelatarte.fr/en/2011/07/gimp-warp-tool-cest-la-mi-parcours/">Warp Transform</a>, as well as new size entry widget are too late to become part of 2.8. We are planning to make them part of 2.10, when they are better tested for reliability and usability. The OpenCL project needs more work to become part of <span class="caps">GEGL</span>’s main development branch. However the project to port more <a href="http://sasurobert.github.com/GSoC-2011/"><span class="caps">GIMP</span> filters to <span class="caps">GEGL</span> operations</a> is already part of master branch in <span class="caps">GEGL</span> and will be available in the next version of <span class="caps">GEGL</span>.</p>
<p>Some of our students are taking a well deserved break from GSoC or are back to study, while others continue hacking on their projects. Michael Muré recently started work on undo/redo support in the Warp Transform tool and works now on extending <span class="caps">GEGL</span>’s capabilities regarding transformations. Barak Itkin continues working on his Seamless Paste tool and intends to make it usable with larger images as well as fix some bugs and make it more flexible. Victor Oliveira keep working on his OpenCL/<span class="caps">GEGL</span> project as well.</p>GIMP 2.7.3 Released2011-08-22T00:00:00+02:002011-08-22T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-08-22:/news/2011/08/22/gimp-273-released/<p>We are pleased to announce availability of a new development version that brings us closer to <span class="caps">GIMP</span> 2.8. This version is packed with important new features and improvements.</p>
<p>The most visible changes in 2.7.3 are the fully working single-window mode, including working session management, and the introduction …</p><p>We are pleased to announce availability of a new development version that brings us closer to <span class="caps">GIMP</span> 2.8. This version is packed with important new features and improvements.</p>
<p>The most visible changes in 2.7.3 are the fully working single-window mode, including working session management, and the introduction of a new hybrid spinbutton/scale widget which takes less space in dockable dialogs.</p>
<p>For a complete list of changes since 2.7.2 please refer to <a href="https://developer.gimp.org/NEWS"><span class="caps">NEWS</span></a> page, while the <a href="https://www.gimp.org/release-notes/gimp-2.7.html">release notes</a> summarize changes in the whole 2.7.x series.</p>
<p>Please note that the whole 2.7.x series of versions is considered unstable and is not recommended for use in production even though it might just work for you. Our intention is to make development versions available for passionate users who can provide useful feedback to help us fix bugs and streamline implementation of some of the new features. The upcoming v2.8 also introduces a huge amount of <span class="caps">API</span> deprecations and additions that have the potential to break existing 3rd party scripts and plug-ins. Please file bugs for all plug-ins and scripts that do work in v2.6, but don’t work in 2.7.3. A migration guide for developers will be provided when v2.8 is out.</p>
<p>There is still a lot of work to do on v2.8. Please refer to <a href="https://web.archive.org/web/20120801115204/http://tasktaste.com/projects/Enselic/gimp-2-8">this</a> page to find out what the current estimation of v2.8 release is, and what bugs you can help us fixing to make the new stable version happen sooner.</p>On GPU-side Rendering and Further Development Plans2011-08-14T00:00:00+02:002011-08-14T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-08-14:/news/2011/08/14/on-gpu-side-rendering-and-further-development-plans/<p>While <span class="caps">GEGL</span> gradually replaces <span class="caps">GIMP</span>’s old core, it’s time for us to consider long-term strategy for improving performance. The trend these days seems to be a combination of multithreading, <span class="caps">GPU</span>-side processing and networks. Most of that can be handled thanks to OpenCL standard by Khronos Group.</p>
<p>Back …</p><p>While <span class="caps">GEGL</span> gradually replaces <span class="caps">GIMP</span>’s old core, it’s time for us to consider long-term strategy for improving performance. The trend these days seems to be a combination of multithreading, <span class="caps">GPU</span>-side processing and networks. Most of that can be handled thanks to OpenCL standard by Khronos Group.</p>
<p>Back in 2009 we already had a Google Summer of Code project by Jerson Michael Perpetua who introduced basics of <span class="caps">GPU</span>-side rendering to <span class="caps">GEGL</span>. This year we have even more progress. Another GSoC student, Victor Oliveira, has been working on support for OpenCL in <span class="caps">GEGL</span> since late May. If you are interested in details, please read his latest <a href="https://meudepositodeideias.wordpress.com/2011/08/08/opencl-on-gegl-results-up-to-now/">report</a>.</p>
<p>The upcoming <span class="caps">GIMP</span> v2.8 isn’t going to do <span class="caps">GPU</span>-side rendering and processing, because it’s simply too late for this development cycle. The next version, v2.10, is going to feature all of our other GSoC projects this year and more <span class="caps">API</span> cleanup. With v3.0 we are doing the final switch to <span class="caps">GEGL</span>, and this is where we currently expect OpenCL support in <span class="caps">GEGL</span> to be mature enough to be used. For more details please refer to our <a href="https://wiki.gimp.org/index.php/Roadmap">feature roadmap</a>.</p>
<p>We aim to make <span class="caps">GIMP</span> a state of the art image editing tool. We know that our past approach to development of new versions didn’t exactly encourage contributions that helped making it happen. This is why starting with v2.10 we are switching to a shorter development cycle. In other words, new stable versions will have less new features and will get released sooner, helping us to process queue of incoming new features much faster.</p>
<p>All major new features are now being developed in dedicated Git branches so that you could easily merge our latest upstream changes into your feature branches, and we then could easily review and merge your new features into upstream. If the new proposed workflow sounds appealing to you, and you are interested to contribute to the project, please let us know.</p>
<p>In the mean time we are preparing another development version of <span class="caps">GIMP</span> with quite a lot of fixes gathered over last 4 months. Stay tuned for more news.</p>All GSoC Students Passed Midterm Evaluation2011-07-20T00:00:00+02:002011-07-20T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-07-20:/news/2011/07/20/all-gsoc-students-passed-midterm-evaluation/<p>We are glad to announce that all of our Google Summer of Code students have passed midterm evaluation. All the code is being maintained in respective Git branches of <span class="caps">GEGL</span> and <span class="caps">GIMP</span>.</p>
<p>As a reminder, this year Google Summer of Code is bringing us two new tools, Seamless Clone and …</p><p>We are glad to announce that all of our Google Summer of Code students have passed midterm evaluation. All the code is being maintained in respective Git branches of <span class="caps">GEGL</span> and <span class="caps">GIMP</span>.</p>
<p>As a reminder, this year Google Summer of Code is bringing us two new tools, Seamless Clone and Warp Transform, several <span class="caps">GEGL</span> operations, support for OpenCL based rendering in <span class="caps">GEGL</span>, and a new widget for size entry.</p>
<p>We also reviewed projected date of <span class="caps">GIMP</span> 2.8 release, and it still looks like end of 2011. This version is going to introduce dramatic user interface improvements as well as a multitude of new features including new Cage Transform tool and much more sophisticated painting options.</p>Two New Books on GIMP Published2011-05-06T00:00:00+02:002011-05-06T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-05-06:/news/2011/05/06/two-new-books-on-gimp-published/<p>Two new books on <span class="caps">GIMP</span> have been published recently. <a href="https://www.packtpub.com/gimp-2-6-cookbook/book">“<span class="caps">GIMP</span> 2.6 Cookbook”</a>, in English, by Juan Manuel Ferreyra is a collection of straightforward instructions that will help you accomplishing typical design and photography related tasks. This book is packed with answers to get you preparing great images with the …</p><p>Two new books on <span class="caps">GIMP</span> have been published recently. <a href="https://www.packtpub.com/gimp-2-6-cookbook/book">“<span class="caps">GIMP</span> 2.6 Cookbook”</a>, in English, by Juan Manuel Ferreyra is a collection of straightforward instructions that will help you accomplishing typical design and photography related tasks. This book is packed with answers to get you preparing great images with the <span class="caps">GIMP</span> immediately.</p>
<p><a href="https://www.pearson.fr/livre/?GCOI=27440100358850"><span class="dquo">“</span><span class="caps">GIMP</span>”</a>, in French, by Olivier Lecarme and Karine Delvare is, on the contrary, a complete user guide and a reference to <span class="caps">GIMP</span> features. The book explains basics of digital imaging, retouching photos, creating animations, preparing pictures for publishing on the Web etc.</p>Google Summer of Code 2011 Projects Announced2011-04-26T00:00:00+02:002011-04-26T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-04-26:/news/2011/04/26/google-summer-of-code-2011-projects-announced/<p>We are pleased to announce that we have five projects accepted for Google Summer of Code 2011 program:</p>
<ul>
<li><a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/lightningismyname/6001">Adaptive cloning</a> will provide means to paste an object from a different picture in a way that it will seamlessly blend into the new image, matching its brightness and color characteristics. This …</li></ul><p>We are pleased to announce that we have five projects accepted for Google Summer of Code 2011 program:</p>
<ul>
<li><a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/lightningismyname/6001">Adaptive cloning</a> will provide means to paste an object from a different picture in a way that it will seamlessly blend into the new image, matching its brightness and color characteristics. This will be a very useful tool for users who do a lot of photo manipulation.</li>
<li><a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/enrico_schroeder/12001">New GimpSizeEntry widget</a> will place unit selection inside the widget. The project will also bring major refactoring to the code.</li>
<li><a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/michael_mure/5001">The iWarp filter</a> as a tool project will make it possible to apply various local transformations right on canvas.</li>
<li><a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/robert_sasu/17001">Porting <span class="caps">GIMP</span> plugins to <span class="caps">GEGL</span> operations</a> will boost long anticipated transition to <span class="caps">GEGL</span>.</li>
<li>The <a href="https://web.archive.org/web/20120801115204/http://www.google-melange.com/gsoc/project/google/gsoc2011/victor_matheus/8001">OpenCL in <span class="caps">GEGL</span></a> project will bring to <span class="caps">GEGL</span> automatic memory management and migration of tiles between <span class="caps">GPU</span> and <span class="caps">CPU</span>, as well as possibility to write <span class="caps">GEGL</span> operations in OpenCL.</li>
</ul>
<p>We are wishing our students success with their respective projects and we are looking forward to working with them.</p>GIMP 2.7.2 Released2011-04-15T00:00:00+02:002011-04-15T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-04-15:/news/2011/04/15/gimp-272-released/<p>We are pleased to announce availability of a new development version that brings us closer to <span class="caps">GIMP</span> 2.8. This version is packed with important new features and improvements. For a complete list of changes since 2.7.1 please refer to <a href="https://web.archive.org/web/20120801115204/http://developer.gimp.org/NEWS"><span class="caps">NEWS</span></a> page, while the <a href="https://www.gimp.org/release-notes/gimp-2.7.html">release notes</a> summarize changes …</p><p>We are pleased to announce availability of a new development version that brings us closer to <span class="caps">GIMP</span> 2.8. This version is packed with important new features and improvements. For a complete list of changes since 2.7.1 please refer to <a href="https://web.archive.org/web/20120801115204/http://developer.gimp.org/NEWS"><span class="caps">NEWS</span></a> page, while the <a href="https://www.gimp.org/release-notes/gimp-2.7.html">release notes</a> summarize changes in the whole 2.7.x series.</p>
<p>Please note that the whole 2.7.x series of versions is considered unstable and is not recommended for use in production even though it might just work for you. Our intention is to make development versions available for passionate users who can provide useful feedback to help us fix bugs and streamline implementation of some of the new features. The upcoming v2.8 also introduces a huge amount of <span class="caps">API</span> deprecations and additions that have the potential to break existing 3rd party scripts and plug-ins. Please file bugs for all plug-ins and scripts that do work in v2.6, but don’t work in 2.7.2. A migration guide for developers will be provided when v2.8 is out.</p>
<p>There is still a lot of work to do on v2.8. Please refer to <a href="https://web.archive.org/web/20120801115204/http://tasktaste.com/projects/Enselic/gimp-2-8">this</a> page to find out what the current estimation of v2.8 release is, and what bugs you can help us fixing to make the new stable version happen sooner.</p>Progress of GIMP development is now trackable2011-04-04T00:00:00+02:002011-04-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2011-04-04:/news/2011/04/04/progress-of-gimp-development-is-now-trackable/<p>One of the most common questions we keep hearing is when the next version of <span class="caps">GIMP</span> is released. While it’s difficult to define exact dates, it is possible to estimate how far away a new stable release from now is based on amount of work that has to be …</p><p>One of the most common questions we keep hearing is when the next version of <span class="caps">GIMP</span> is released. While it’s difficult to define exact dates, it is possible to estimate how far away a new stable release from now is based on amount of work that has to be done. We intend to make development of <span class="caps">GIMP</span> as transparent as possible, so Martin Nordholts, our core team developer, created a web app that adds previously missing alpha channel to development process. If you want to track progress of v2.8 at any given time, please use <a href="https://web.archive.org/web/20120801115204/http://tasktaste.com/projects/Enselic/gimp-2-8">this page</a> for reference.</p>
<p>We have also finally revived the <a href="https://wiki.gimp.org/">development wiki</a> that contains introductional information for newly joined developers. Since we are still quite short-handed, that documentation should come in handy for anyone willing to make <span class="caps">GIMP</span> 2.8 a reality sooner than currently expected.</p>We Are Participating in Google Summer of Code 20112011-03-18T00:00:00+01:002011-03-18T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-03-18:/news/2011/03/18/we-are-participating-in-google-summer-of-code-2011/<p>This year we are participating in the <a href="http://socghop.appspot.com/">Google Summer of Code</a> program again. If you are a student who is willing to improve <span class="caps">GIMP</span> and be financially rewarded ($5000), please have a look at the <a href="http://gimp-wiki.who.ee/index.php/Hacking:GSoC_2011/Ideas">list of project ideas</a>, pick one or come up with your own idea, then join …</p><p>This year we are participating in the <a href="http://socghop.appspot.com/">Google Summer of Code</a> program again. If you are a student who is willing to improve <span class="caps">GIMP</span> and be financially rewarded ($5000), please have a look at the <a href="http://gimp-wiki.who.ee/index.php/Hacking:GSoC_2011/Ideas">list of project ideas</a>, pick one or come up with your own idea, then join <a href="https://www.gimp.org/irc.html">#gimp</a> <span class="caps">IRC</span> channel or <a href="https://mail.gnome.org/mailman/listinfo/gimp-developer-list">gimp-developer@</a> mailing list and introduce yourself.</p>GEGL 0.1.6 and babl 0.1.42011-02-13T00:00:00+01:002011-02-13T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-02-13:/news/2011/02/13/gegl-016-and-babl-014/<p>After a year of work new versions of <span class="caps">GEGL</span>, new non-destructive image processing core, and babl, a bitmap format conversion library, are out with several major changes.</p>
<p>The new version of <span class="caps">GEGL</span> features code created during Google Summer of Code 2010 by Danny Robson and Michael Muré. Danny Robson created …</p><p>After a year of work new versions of <span class="caps">GEGL</span>, new non-destructive image processing core, and babl, a bitmap format conversion library, are out with several major changes.</p>
<p>The new version of <span class="caps">GEGL</span> features code created during Google Summer of Code 2010 by Danny Robson and Michael Muré. Danny Robson created <span class="caps">GEGL</span> operations for loading and saving <span class="caps">RGBE</span> images (<span class="caps">HDR</span>), merging exposure brackets into <span class="caps">HDR</span> and three tonemapping operations, as well as a matting operation. You can read more about his project <a href="https://web.archive.org/web/20110417075931/http://code.google.com/p/google-summer-of-code-2010-gimp/wiki/HdrMatting">here</a>. Michael Muré created a new map-absolute operations that provides pixel mapping render capability for new Cage transform tool, expected in upcoming <span class="caps">GIMP</span> 2.8.</p>
<p>Another major change is support for pluggable buffers that will assist transition of <span class="caps">GIMP</span> to using <span class="caps">GEGL</span> buffers directly, as well as provide means of using arbitrary buffers (think Google Maps).</p>
<p><span class="caps">JPEG2000</span> and <span class="caps">PPM</span> loaders and savers for <span class="caps">GEGL</span> were contributed by Mukund Sivaraman, and some existing <span class="caps">GIMP</span> filters were ported to <span class="caps">GEGL</span> operations by Alexia Death, Barak Itkin and Andy Gill.</p>
<p>The babl library has less changes, but one of the important ones is support for n-component formats.</p>
<p>There’s still a lot of work to be done on <span class="caps">GEGL</span>. Øyvind Kolås created a <a href="ttp://gegl.org/contribute.html">list of high priority tasks</a> that need solving. If you wish to contribute, don’t hesitate to join <a href="https://mail.gnome.org/mailman/listinfo/gegl-developer-list">gegl-developer</a> mailing list and/or <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span></a> (#gegl on irc.gimp.org) and ask around.</p>Two Interns to Work on GIMP’s Usability2011-02-02T00:00:00+01:002011-02-02T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-02-02:/news/2011/02/02/two-interns-to-work-on-gimps-usability/<p>Since 2006 our project has been collaborating with Peter Sikking of <a href="https://web.archive.org/web/20110417075931/http://mmiworks.net/eng/aboutus/index.html">m+mi works</a> to improve <span class="caps">GIMP</span>’s usability. Peter is behind many positive changes in <span class="caps">GIMP</span>’s <span class="caps">UI</span>, such as new selection tools in v2.4 and v2.6, as well as some new features in upcoming v2.8 …</p><p>Since 2006 our project has been collaborating with Peter Sikking of <a href="https://web.archive.org/web/20110417075931/http://mmiworks.net/eng/aboutus/index.html">m+mi works</a> to improve <span class="caps">GIMP</span>’s usability. Peter is behind many positive changes in <span class="caps">GIMP</span>’s <span class="caps">UI</span>, such as new selection tools in v2.4 and v2.6, as well as some new features in upcoming v2.8.</p>
<p>This year m+mi works is making a new step to further strengthen our partnership and is now looking for two interns to work on <span class="caps">GIMP</span>’s interaction design for 3-6 months. You will work in Berlin and as contributor to the <span class="caps">GIMP</span> project you will travel to <a href="https://libregraphicsmeeting.org/2011/">Libre Graphics Meeting</a> in May, in Montreal. Please read the <a href="https://web.archive.org/web/20110417075931/http://mmiworks.net/eng/aboutus/jobs.html">full announcement</a> for details and contacts.</p>Plans for 2.8 and Beyond2011-01-11T00:00:00+01:002011-01-11T00:00:00+01:00Alexandre Prokoudinetag:www.gimp.org,2011-01-11:/news/2011/01/11/plans-for-28-and-beyond/<p>In the face of all sorts of rumours and interpretations about the future of the project there is a call for clarification regarding development of <span class="caps">GIMP</span>.</p>
<p>Currently <span class="caps">GIMP</span> team is working on finalizing the new stable v2.8 with many improvements such as layer groups, improved brush dynamics, a new …</p><p>In the face of all sorts of rumours and interpretations about the future of the project there is a call for clarification regarding development of <span class="caps">GIMP</span>.</p>
<p>Currently <span class="caps">GIMP</span> team is working on finalizing the new stable v2.8 with many improvements such as layer groups, improved brush dynamics, a new unique transformation tool, optional single-window mode and more. There are two big obstacles in our way right now: missing specification on the last change in user interface and broken graphic tablets support in <span class="caps">GTK</span>+.</p>
<p>We have already invested a lot of time into <span class="caps">UI</span> changes and brush dynamics, we treasure your continuous support for the project and thus we are determined to release v2.8 only when it’s working out of box as expected for everybody.</p>
<p>After releasing v2.8 the focus of development will shift to deep integration of <span class="caps">GEGL</span> — our new non-destructive image processing core. Results of this work will enable many features considered critical for use of <span class="caps">GIMP</span> in professional environment which is part of <span class="caps">GIMP</span>’s product vision. It’s a lot of work, and currently we don’t have enough developers to make this change happen very fast. If you want to help us to get there faster, we encourage you to join <a href="https://mail.gnome.org/mailman/listinfo/gimp-developer-list">gimp-developer</a> mailing list and/or the <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span> channel</a> to discuss how you could contribute.</p>GIMP Manual 2.6.1 Released2010-12-21T00:00:00+01:002010-12-21T00:00:00+01:00Michael Schumachertag:www.gimp.org,2010-12-21:/news/2010/12/21/gimp-manual-261-released/<p>We’ve released a new version of the user manual with:</p>
<ul>
<li>many, many, many bugfixes</li>
<li>spelling fixes and new translations for: Italian, English, German, French, Japnese, Norwegian, Swedish, Russian, Korean</li>
<li>website typo fixes</li>
</ul>
<p>This release does not only include pre-built documentation for all the supported languages, we also publish the …</p><p>We’ve released a new version of the user manual with:</p>
<ul>
<li>many, many, many bugfixes</li>
<li>spelling fixes and new translations for: Italian, English, German, French, Japnese, Norwegian, Swedish, Russian, Korean</li>
<li>website typo fixes</li>
</ul>
<p>This release does not only include pre-built documentation for all the supported languages, we also publish the source of the user manual. Find the packages on our <a href="https://download.gimp.org/gimp/help/">downloads server</a>.</p>
<p>For easy installation we suggest that you wait until an installer for this this release has been packaged for your platform. Find more releases and information about our goals and how you can help at <a href="https://docs.gimp.org">https://docs.gimp.org</a>.</p>GIMP 2.6.11 Released2010-10-04T00:00:00+02:002010-10-04T00:00:00+02:00Michael Schumachertag:www.gimp.org,2010-10-04:/news/2010/10/04/gimp-2611-released/<p><span class="caps">GIMP</span> 2.6.11 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. Among other bug-fixes, it makes printing work with the recently released <a href="https://cairographics.org/news/cairo-1.10.0/">version 1.10 of the Cairo library</a>. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can …</p><p><span class="caps">GIMP</span> 2.6.11 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. Among other bug-fixes, it makes printing work with the recently released <a href="https://cairographics.org/news/cairo-1.10.0/">version 1.10 of the Cairo library</a>. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>Google Summer of Code 2010 Results2010-10-04T00:00:00+02:002010-10-04T00:00:00+02:00Alexandre Prokoudinetag:www.gimp.org,2010-10-04:/news/2010/10/04/google-summer-of-code-2010-results/<p>This year <span class="caps">GIMP</span> participated in the annual Google Summer of Code program with three projects. Two out of three projects have been successful: Cage transform tool in <span class="caps">GIMP</span> and <span class="caps">HDR</span> and matting functions in <span class="caps">GEGL</span>.</p>
<p>The new Cage transform tool allows doing shape-preserving deformations of objects. The tool is based …</p><p>This year <span class="caps">GIMP</span> participated in the annual Google Summer of Code program with three projects. Two out of three projects have been successful: Cage transform tool in <span class="caps">GIMP</span> and <span class="caps">HDR</span> and matting functions in <span class="caps">GEGL</span>.</p>
<p>The new Cage transform tool allows doing shape-preserving deformations of objects. The tool is based on a <a href="https://web.archive.org/web/20110417075931/http://www.math.tau.ac.il/~lipmanya/GC/gc_techrep.pdf">research paper</a> by Yaron Lipman, David Levin and Daniel Cohen-Or, and was implemented by Michael Muré. The tool is implemented on top of a <span class="caps">GEGL</span> operation that can be reused to create more transformation tools. For more information please refer to Michael’s <a href="http://pellelatarte.fr/en/">blog</a> or <a href="https://web.archive.org/web/20110417075931/http://code.google.com/p/google-summer-of-code-2010-gimp/wiki/CageTool">description</a> of the project’s outcome. The code lives in <a href="https://git.gnome.org/browse/gimp/log/?h=soc-2010-cage-2">soc-2010-cage-2</a> branch.</p>
<p>A project by Danny Robson resulted in a number of new, mostly <span class="caps">HDR</span> related features in <span class="caps">GEGL</span>: a standalone <span class="caps">HDR</span> merge tool, <span class="caps">RGBE</span> loading and saving, three tone mapping operators and one matting operator. You can read about them in details on the <a href="https://web.archive.org/web/20110417075931/http://code.google.com/p/google-summer-of-code-2010-gimp/wiki/HdrMatting">project’s page</a>.</p>
<p>The Cage transform tool is likely to be included in version 2.10, and features implemented by Danny Robson will be available in the next release of <span class="caps">GEGL</span>.</p>GIMP 2.6.10 Released2010-07-08T00:00:00+02:002010-07-08T00:00:00+02:00Michael Schumachertag:www.gimp.org,2010-07-08:/news/2010/07/08/gimp-2610-released/<p>Unfortunately a rather bad <a href="https://bugzilla.gnome.org/show_bug.cgi?id=622608">bug</a> sneaked into <span class="caps">GIMP</span> 2.6.9, so here’s another release in the stable <span class="caps">GIMP</span> 2.6 series to fix this issue. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a more detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp …</a></p><p>Unfortunately a rather bad <a href="https://bugzilla.gnome.org/show_bug.cgi?id=622608">bug</a> sneaked into <span class="caps">GIMP</span> 2.6.9, so here’s another release in the stable <span class="caps">GIMP</span> 2.6 series to fix this issue. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a more detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP 2.7.1 Released2010-07-03T00:00:00+02:002010-07-03T00:00:00+02:00Michael Schumachertag:www.gimp.org,2010-07-03:/news/2010/07/03/gimp-271-released/<p>It is about time… For a new development snapshot on the way to the next stable version <span class="caps">GIMP</span> 2.8. This release brings a whole lot of new features and improvements, see the <a href="https://gimp.org/release-notes/gimp-2.7.html">release notes</a> and the <a href="https://web.archive.org/web/20110417075931/http://git.gnome.org/cgit/gimp/tree/NEWS"><span class="caps">NEWS</span></a> file for details.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org …</a></p><p>It is about time… For a new development snapshot on the way to the next stable version <span class="caps">GIMP</span> 2.8. This release brings a whole lot of new features and improvements, see the <a href="https://gimp.org/release-notes/gimp-2.7.html">release notes</a> and the <a href="https://web.archive.org/web/20110417075931/http://git.gnome.org/cgit/gimp/tree/NEWS"><span class="caps">NEWS</span></a> file for details.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a> and its mirrors. Have fun!</p>GIMP 2.6.9 Released2010-06-23T00:00:00+02:002010-06-23T00:00:00+02:00Wilbertag:www.gimp.org,2010-06-23:/news/2010/06/23/gimp-269-released/<p>It’s been a while since the last release. Quite a few bug-fixes have piled up in the stable branch, so here’s another release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p>It’s been a while since the last release. Quite a few bug-fixes have piled up in the stable branch, so here’s another release in the stable <span class="caps">GIMP</span> 2.6 series. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP 2.6.8 Released2009-12-10T00:00:00+01:002009-12-10T00:00:00+01:00Wilbertag:www.gimp.org,2009-12-10:/news/2009/12/10/gimp-268-released/<p><span class="caps">GIMP</span> 2.6.8 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p><span class="caps">GIMP</span> 2.6.8 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>Gimp Help Released for GIMP 2.62009-10-09T00:00:00+02:002009-10-09T00:00:00+02:00Wilbertag:www.gimp.org,2009-10-09:/news/2009/10/09/gimp-help-released-for-gimp-26/<p>The <span class="caps">GIMP</span> documentation team has been working hard and is proud to announce the availability of the first release of the user manual for <span class="caps">GIMP</span> 2.6.</p><p>The <a href="https://docs.gimp.org/"><span class="caps">GIMP</span> documentation team</a> has been working hard and is proud to announce the availability of the first release of the user manual for <span class="caps">GIMP</span> 2.6.</p>
<p>The release is split into several files that provide pre-built <span class="caps">HTML</span> per language. Because of a major change in how the manual is translated, most translations are work-in-progress and may contain untranslated strings. You can find the releases on our <span class="caps">FTP</span> server: <a href="https://download.gimp.org/gimp/help/">ftp://ftp.gimp.org/pub/gimp/help/</a>. Users should wait until this release has been packaged for their platform.</p>
<p>Find more information about our goals and how you can help at <a href="https://docs.gimp.org/">https://docs.gimp.org/</a>. The user manual project is looking for a new project maintainer. If you want to help, please join our mailing list or have a look at <a href="https://docs.gimp.org/help.html">https://docs.gimp.org/help.html</a>.</p>GIMP 2.7.0 Development Release2009-08-16T00:00:00+02:002009-08-16T00:00:00+02:00Wilbertag:www.gimp.org,2009-08-16:/news/2009/08/16/gimp-270-development-release/<p>The release of <span class="caps">GIMP</span> 2.7.0 is a first step towards <span class="caps">GIMP</span> 2.8, the next stable release.</p><p>The release of <span class="caps">GIMP</span> 2.7.0 is a first step towards <span class="caps">GIMP</span> 2.8, the next stable release. Please note that this is an unstable development snapshot and read the <a href="https://gimp.org/release-notes/gimp-2.7.html"><span class="caps">GIMP</span> 2.7 release notes</a>. A more complete list of changes can be found in the <a href="https://developer.gimp.org/NEWS"><span class="caps">NEWS</span></a> file. The source code can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>.</p>GIMP 2.6.7 Released2009-08-14T00:00:00+02:002009-08-14T00:00:00+02:00Wilbertag:www.gimp.org,2009-08-14:/news/2009/08/14/gimp-267-released/<p><span class="caps">GIMP</span> 2.6.7 comes with lots of bug-fixes and it contains an important fix for using <span class="caps">GIMP</span> with the latest <span class="caps">GEGL</span> and babl releases.</p><p><span class="caps">GIMP</span> 2.6.7 comes with lots of bug-fixes and it contains an important fix for using <span class="caps">GIMP</span> with the latest <a href="http://gegl.org/"><span class="caps">GEGL</span></a> and <a href="http://gegl.org/babl/">babl</a> releases. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a detailed list of changes.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP Animation Package 2.6.0 Released2009-06-05T00:00:00+02:002009-06-05T00:00:00+02:00Wilbertag:www.gimp.org,2009-06-05:/news/2009/06/05/gimp-animation-package-260-released/<p><span class="caps">GAP</span> 2.6.0 is a stable release of the video menu intended for use with the <span class="caps">GIMP</span> 2.6.x series.</p><p><span class="caps">GAP</span> 2.6.0 is a stable release of the video menu intended for use with the <span class="caps">GIMP</span> 2.6.x series.</p>
<p>This release contains updates for video encoding/decoding, undo support for the storyboard feature and fixes for better compatibility with the <span class="caps">GIMP</span> 2.6.x releases. Please have a look at the <span class="caps">NEWS</span> file included in the <a href="https://download.gimp.org/gimp/plug-ins/v2.6/gap/">download</a> for a detailed list of changes.</p>Google Summer of Code - Student Application Period Has Started2009-03-24T00:00:00+01:002009-03-24T00:00:00+01:00Wilbertag:www.gimp.org,2009-03-24:/news/2009/03/24/google-summer-of-code-student-application-period-has-started/<p>Google has started to accept applications from students for Summer of Code.</p><p>Google has started to accept applications from students for <a href="http://socghop.appspot.com/">Summer of Code</a>.</p>
<p>If you are interested in our <a href="https://web.archive.org/web/20090401053718/http://wiki.gimp.org/gimp/SummerOfCode2009ideas">proposals</a>, then check if you meet <a href="https://web.archive.org/web/20090401053718/http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#eligibility">Google’s requirements</a>; have a look at their <a href="https://web.archive.org/web/20090401053718/http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents">advices</a> and check what we want to read in <a href="https://web.archive.org/web/20090401053718/http://socghop.appspot.com/org/show/google/gsoc2009/gimp">your application</a>.</p>GIMP Has Been Accepted for Google Summer of Code!2009-03-19T00:00:00+01:002009-03-19T00:00:00+01:00Wilbertag:www.gimp.org,2009-03-19:/news/2009/03/19/gimp-has-been-accepted-for-google-summer-of-code/<p>The the list of accepted organizations is published, and <span class="caps">GIMP</span> is one of them!</p><p>The the list of <a href="https://web.archive.org/web/20090401053718/http://socghop.appspot.com/program/accepted_orgs/google/gsoc2009">accepted organizations</a> is published. This page is the main gateway for students to find the projects that they are looking for, and the guidelines of each org for successful applications.</p>
<p>Check our <a href="https://web.archive.org/web/20090401053718/http://wiki.gimp.org/gimp/SummerOfCode2009ideas">wiki ideas page</a> for suitbale projects, or propose your own ideas on our <a href="https://www.gimp.org/irc.html"><span class="caps">IRC</span> channel</a> and the <a href="https://www.gimp.org/mail_lists.html">gimp-developer</a> mailing list.</p>GIMP 2.6.6 Released2009-03-17T00:00:00+01:002009-03-17T00:00:00+01:00Wilbertag:www.gimp.org,2009-03-17:/news/2009/03/17/gimp-266-released/<p><span class="caps">GIMP</span> 2.6.6 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. This release contains an important fix for compiling <span class="caps">GIMP</span> against the recently released <span class="caps">GTK</span>+ 2.16.</p><p><span class="caps">GIMP</span> 2.6.6 is a bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. This release contains an important fix for compiling <span class="caps">GIMP</span> against the recently released <a href="https://www.gtk.org/"><span class="caps">GTK</span>+ 2.16</a>. Please have a look at the <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file for a list of other changes.</p>
<p>As usual, the source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>Libre Graphics Meeting 20092009-03-07T00:00:00+01:002009-03-07T00:00:00+01:00Wilbertag:www.gimp.org,2009-03-07:/news/2009/03/07/libre-graphics-meeting-2009/<p>For four years, the Libre Graphics Meeting has been the premiere conference for developers, users and supporters of free software graphics applications.</p><p>For four years, the <a href="https://www.libregraphicsmeeting.org/">Libre Graphics Meeting</a> has been the premiere conference for developers, users and supporters of free software graphics applications. Developers from projects such as <span class="caps">GIMP</span>, Inkscape, Blender, Krita, Scribus, Hugin, the Open Clipart Library, and the Open Font Library gather to work on interoperability, shared standards, and new ideas. Work at prior LGMs has pushed the state of the art in important areas such as color management, cross-application sharing of brushes and other assets, and common formats.</p>
<p>The face-to-face meetings and opportunities for collaboration are important to developers, but <span class="caps">LGM</span> offers plenty for end users as well. Tutorials, talks, and birds-of-a-feather (<span class="caps">BOF</span>) meetings to help free software users get the most out of their applications fill out the <span class="caps">LGM</span> schedule, and demonstrations from artists showcase what is possible.</p>
<p>Click here to lend your support to: Support the Libre Graphics Meeting and make a donation at www.pledgie.com ! The fourth annual <span class="caps">LGM</span> will be held May 6–9, 2009 in Montreal, Canada at École Polytechnique. Donations will be used solely to help cover travel costs for volunteer developers and presenters. Last year’s campaign raised more than $12,000 dollars from individuals and corporations in the community. As with last year, pledges can be made online. Visit pledgie.com to <a href="http://pledgie.com/campaigns/2926">make your contribution</a>. All donations are tax deductible for <span class="caps">US</span> taxpayers.</p>GIMP 2.6.5 Released2009-02-15T00:00:00+01:002009-02-15T00:00:00+01:00Wilbertag:www.gimp.org,2009-02-15:/news/2009/02/15/gimp-265-released/<p><span class="caps">GIMP</span> 2.6.5 is a bugfix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p><span class="caps">GIMP</span> 2.6.5 is a bugfix release in the stable <span class="caps">GIMP</span> 2.6 series. The <a href="https://web.archive.org/web/20090401053718/http://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file lists the changes in details. As usual, the source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>Happy New Year2009-01-01T00:00:00+01:002009-01-01T00:00:00+01:00Wilbertag:www.gimp.org,2009-01-01:/news/2009/01/01/gimp-2-6-4-released/<p>The <span class="caps">GIMP</span> developers welcome you in the new year with the fourth bugfix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p>The <span class="caps">GIMP</span> developers welcome you in the new year with the fourth bug-fix release in the stable <span class="caps">GIMP</span> 2.6 series. The <a href="https://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file lists the changes in <span class="caps">GIMP</span> 2.6.4. The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>
<p>Users and distributors are also encouraged to update <a href="http://gegl.org/"><span class="caps">GEGL</span></a> to <a href="https://web.archive.org/web/20090401053718/https://lists.xcf.berkeley.edu/lists/gegl-developer/2008-December/000936.html">version 0.0.22</a>, which has been released yesterday.</p>GIMP 2.6.3 Released2008-11-22T00:00:00+01:002008-11-22T00:00:00+01:00Wilbertag:www.gimp.org,2008-11-22:/news/2008/11/22/gimp-263-released/<p><span class="caps">GIMP</span> 2.6.3 is another bugfix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p><span class="caps">GIMP</span> 2.6.3 is another bugfix release in the stable <span class="caps">GIMP</span> 2.6 series. The <a href="https://web.archive.org/web/20090401053718/http://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file lists the changes in details. As usual, the source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP 2.6.2 Released2008-10-30T00:00:00+01:002008-10-30T00:00:00+01:00Wilbertag:www.gimp.org,2008-10-30:/news/2008/10/30/gimp-262-released/<p>The <span class="caps">GIMP</span> development team has made another bugfix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p>The <span class="caps">GIMP</span> development team has made another bugfix release in the stable <span class="caps">GIMP</span> 2.6 series. The <a href="https://web.archive.org/web/20090401053718/http://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file lists the changes in details. As usual, the source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP 2.6.1 Released2008-10-09T00:00:00+02:002008-10-09T00:00:00+02:00Wilbertag:www.gimp.org,2008-10-09:/news/2008/10/09/gimp-261-released/<p><span class="caps">GIMP</span> 2.6.1 is a bugfix release in the stable <span class="caps">GIMP</span> 2.6 series.</p><p><span class="caps">GIMP</span> 2.6.1 is a bugfix release in the stable <span class="caps">GIMP</span> 2.6 series. The <a href="https://web.archive.org/web/20090401053718/http://developer.gimp.org/NEWS-2.6"><span class="caps">NEWS</span></a> file lists the changes in details. You may also want to have a look at the <a href="https://gimp.org/release-notes/gimp-2.6.html">Release Notes</a> to find out what’s new in <span class="caps">GIMP</span> 2.6.</p>
<p>The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>GIMP User Manual 2.4.2 Released2008-10-06T00:00:00+02:002008-10-06T00:00:00+02:00Wilbertag:www.gimp.org,2008-10-06:/news/2008/10/06/gimp-user-manual-242-released/<p>An update of the <span class="caps">GIMP</span> user manual is available. This release is still focused on <span class="caps">GIMP</span> 2.4. Work has started on updating the user manual for <span class="caps">GIMP</span> 2.6.</p><p>An update of the <span class="caps">GIMP</span> user manual is available. The gimp-help-2.4.2 tarball can be downloaded from <a href="https://download.gimp.org/gimp/help/">ftp.gimp.org</a>. Users should wait until this release has been packaged in more easily installable form for their platform.</p>
<p>This release is still focused on <span class="caps">GIMP</span> 2.4. Work has started on updating the user manual for <span class="caps">GIMP</span> 2.6. If you want to help, have a look at <a href="https://docs.gimp.org/help.html">docs.gimp.org</a>.</p>GIMP 2.6.0 Released2008-10-01T00:00:00+02:002008-10-01T00:00:00+02:00Wilbertag:www.gimp.org,2008-10-01:/news/2008/10/01/gimp-260-released/<p>The <span class="caps">GIMP</span> developers are proud to release <span class="caps">GIMP</span> 2.6.0 today.</p><p>he <span class="caps">GIMP</span> developers are proud to release <span class="caps">GIMP</span> 2.6.0 today. Please have a look at the <a href="https://gimp.org/release-notes/gimp-2.6.html">Release Notes</a> to find out what’s new in <span class="caps">GIMP</span> 2.6. The source can be downloaded from <a href="https://gimp.org/downloads/#mirrors">ftp.gimp.org</a>. Binary packages for the various supported platforms should become available soon; please check the <a href="https://gimp.org/downloads/">Downloads</a> section.</p>
<p><strong>Update:</strong> There was a minor glitch in the original 2.6.0 tarball. A new tarball has been uploaded that fixes this issue.</p>GIMP 2.5.4 Development Version Release2008-09-17T00:00:00+02:002008-09-17T00:00:00+02:00Wilbertag:www.gimp.org,2008-09-17:/news/2008/09/17/gimp-2-5-4-released/<p><span class="caps">GIMP</span> approaches the next stable release and only a handful bugs are left to be fixed before <span class="caps">GIMP</span> 2.6 is ready.</p><p><span class="caps">GIMP</span> approaches the next stable release and only a handful bugs are left to be fixed before <span class="caps">GIMP</span> 2.6 is ready. If you want to give the <span class="caps">GIMP</span> 2.5.4 development snapshot a try, please have a look at the <a href="https://gimp.org/release-notes/gimp-2.5.html">Release Notes for <span class="caps">GIMP</span> 2.5</a>.</p>GIMP 2.5.3 Development Version Release2008-08-22T00:00:00+02:002008-08-22T00:00:00+02:00Wilbertag:www.gimp.org,2008-08-22:/news/2008/08/22/gimp-2-5-3-released/<p><span class="caps">GIMP</span> 2.5.3 is a fresh snapshot from the 2.5 development series. It gives developers and interested users a preview of the upcoming <span class="caps">GIMP</span> 2.6 release.</p><p><span class="caps">GIMP</span> 2.5.3 is a fresh snapshot from the 2.5 development series. It gives developers and interested users a preview of the upcoming <span class="caps">GIMP</span> 2.6 release. If you want to give the <span class="caps">GIMP</span> 2.5.4 development snapshot a try, please have a look at the <a href="https://gimp.org/release-notes/gimp-2.5.html">Release Notes for <span class="caps">GIMP</span> 2.5</a>.</p>Open Usability and GIMP2006-08-11T00:00:00+02:002006-08-11T00:00:00+02:00Wilbertag:www.gimp.org,2006-08-11:/news/2006/08/11/open-usability-and-gimp/<p>The <span class="caps">GIMP</span> team is proud to announce that the <span class="caps">GNU</span> Image Manipulation Program has been chosen as the first Open Source Software project for a sponsored student project on usability.</p><p>The <span class="caps">GIMP</span> team is proud to announce that the <span class="caps">GNU</span> Image Manipulation Program has been chosen as the first Open Source Software project for a sponsored student project on usability.</p>
<h2 id="openusability-sponsored-student-projects">OpenUsability Sponsored Student Projects<a class="headerlink" href="#openusability-sponsored-student-projects" title="Permanent link">¶</a></h2>
<p>OpenUsability (<a href="http://www.openusability.org/">www.openusability.org</a>) is an initiative that brings Open Source Software (<span class="caps">OSS</span>) development and usability together. This symbiosis is beneficial for both sides: Developers can make difficult user interface (<span class="caps">UI</span>) decisions together with usability specialists, while usability specialists can explore and further develop their skills in real-world projects without the pressure of a commercial market.</p>
<p>Likewise, OpenUsability’s mentored student projects are an excellent way for usability, user-interface design, and interaction design students to gain experience in the interdisciplinary and collaborative development of user interface solutions in international software projects.</p>
<p>During a three-month cooperation, you will closely work together with experienced professionals and get insights in to their way of work. An involvement of 20 hours per week is expected.</p>
<p>Depending on your location, you will be invited to a kickoff-meeting with the development team, the interaction architect, usability specialist and user support. Otherwise the collaboration will take place via the established channels of <span class="caps">OSS</span> development - email, <span class="caps">IRC</span>, VoIP, and etc.</p>
<p>OpenUsability student projects are sponsored with $700 <span class="caps">USD</span>. The sponsorship will be paid after the successful accomplishment of the student project goals.</p>
<h2 id="project-opening-gimp">Project Opening: <span class="caps">GIMP</span><a class="headerlink" href="#project-opening-gimp" title="Permanent link">¶</a></h2>
<p>This project offers the opportunity to work as an Associate Interaction Architect, and to shape the user interface of the next generation of the <span class="caps">GNU</span> Image Manipulation Program (https://www.gimp.org).</p>
<p>You will be working with Peter Sikking, principal interaction architect at M+<span class="caps">MI</span> Works (<a href="http://www.mmiworks.net/">www.mmiworks.net</a>). Activities include methodically performing a full expert evaluation and analysis of the software, being fully involved in every decision, and performing the bulk of the project work. You will have a great opportunity to learn the ropes in interaction architecture in a project that matters.</p>
<p>There is the opportunity to give your role a stronger usability component by being involved with the workplace observation project that is integrated with this project. Also there is the opportunity at the end of this first phase to stay on board and to play a strong part in the design phase that follows.</p>
<h3 id="requirements">Requirements<a class="headerlink" href="#requirements" title="Permanent link">¶</a></h3>
<p>Interaction architects need to see from the user point of view, know what makes user interfaces tick, have a mathematical eye for the beauty of the simplest solution, a sense for clean layouts and know what can be developed in practice. <span class="caps">GIMP</span> is an international project, so you need to be able to communicate and write in English.</p>
<p>There are no specific degree requirements. We welcome students from all usability-related backgrounds including communication, media, psychology, interface design or computer science. We know there are no standard university diplomas for interaction architects. So we know you had to define your education yourself, and may not perfectly match all our requirements. Don’t be deterred.</p>
<p><span class="caps">GIMP</span> or Photoshop experience is not required, in fact if you have extensive <span class="caps">GIMP</span> or Photoshop preferences then this project might be not for you.</p>
<h3 id="how-to-apply">How To Apply<a class="headerlink" href="#how-to-apply" title="Permanent link">¶</a></h3>
<p>To participate in this project, send your application to students@openusability.org. The application period ends at the 10th of September.</p>
<p>Please send us a short <span class="caps">CV</span> or (in <span class="caps">PDF</span>), a couple of paragraphs about why you want to be an interaction architect, some of your past experiences which have shaped your current skills, and what you expect from this profession in the future.</p>